Skip to content

⬆️ Bump anaconda from 2025.12 to 2026.06#923

Merged
mmcky merged 1 commit into
mainfrom
dependabot/conda/anaconda-2026.06
Jun 26, 2026
Merged

⬆️ Bump anaconda from 2025.12 to 2026.06#923
mmcky merged 1 commit into
mainfrom
dependabot/conda/anaconda-2026.06

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 20, 2026

Copy link
Copy Markdown
Contributor

Bumps anaconda from 2025.12 to 2026.06.

@dependabot dependabot Bot added conda Pull requests that update conda code dependencies Pull requests that update a dependency file labels Jun 20, 2026
mmcky added a commit that referenced this pull request Jun 21, 2026
Sets execute_notebooks: force so CI re-executes every lecture under the
new stack (pandas 3.0.3, numba 0.65.1, numpy 2.4.6, ...) instead of
reusing the main-branch jupyter-cache built under anaconda 2025.12.

Validation-only commit for PR #923. REVERT BEFORE MERGE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mmcky mmcky force-pushed the dependabot/conda/anaconda-2026.06 branch from f9887d6 to 237a3ab Compare June 21, 2026 05:57
@github-actions

github-actions Bot commented Jun 21, 2026

Copy link
Copy Markdown

📖 Netlify Preview Ready!

Preview URL: https://pr-923--sunny-cactus-210e3e.netlify.app

Commit: 237a3ab


Build Info

mmcky added a commit that referenced this pull request Jun 21, 2026
- execute_notebooks: force  -> re-execute every lecture under the new stack
  (pandas 3.0.3, numba 0.65.1, numpy 2.4.6, scipy 1.17.1, ...) with
  -W --keep-going so all execution failures are collected, not just the first.
- Upload Execution Reports (notebooks): if always() so reports survive a
  spot-runner cancellation.

Validation-only commit for PR #923. REVERT BEFORE MERGE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mmcky

mmcky commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Blocked by #924 — labeled do-not-merge.

A full forced re-execution of all lectures under anaconda 2026.06 (pandas 3.0.3) shows that merging this bump breaks hansen_singleton_1982 and hansen_singleton_1983. Both fail at import of pandas_datareader, which is incompatible with pandas 3.0 (TypeError: deprecate_kwarg() missing 1 required positional argument: 'new_arg_name'). They execute cleanly on main (pandas 2.3.3), so this is a genuine regression introduced by the upgrade. Root cause and the suggested fix (drop pandas_datareader; fetch FRED + Fama-French directly) are in #924.

Note: the green preview check on this PR only proves the conda environment solves — it does not re-execute the notebooks, because the build uses execute_notebooks: "cache" and restores the cache from main. The regression only surfaces under a forced full execution (run 27897336159).

Two other lectures (ar1_bayes, ar1_turningpts) also fail in that run, but for an unrelated, pre-existing arviz issue (already red on main's weekly cache build) — not caused by this bump; see the note in #924. (ols additionally hit a transient HTTP 500 on a data download — not a regression.)

@mmcky mmcky force-pushed the dependabot/conda/anaconda-2026.06 branch from 6cfd3d0 to 237a3ab Compare June 21, 2026 09:29
mmcky added a commit that referenced this pull request Jun 26, 2026
…French downloads (#925)

* [hansen_singleton] replace pandas-datareader with direct FRED/Fama-French fetch

pandas-datareader 0.10.0 (last released 2021, unmaintained) breaks at
import under pandas 3.0 -- it relies on pandas' private deprecate_kwarg,
whose signature changed -- so hansen_singleton_1982 and
hansen_singleton_1983 fail to execute under anaconda 2026.06 (see #923).
There is no pandas-3.0-compatible pandas-datareader release to pin to.

Replace the two web.DataReader calls with small direct downloads that use
only the standard library + pandas:

- FRED: pd.read_csv from the fredgraph.csv endpoint
- Fama-French: parse the F-F_Research_Data_Factors zip from the Ken French
  data library

Since no extra package is needed, the in-notebook `!pip install
pandas-datareader` cell and the now-dead date_parser warnings filter are
removed too.

Verified the new fetch returns byte-identical FRED and Fama-French data to
the old pandas-datareader path on pandas 2.3.3, and that the full data
construction runs clean with FutureWarning/DeprecationWarning promoted to
errors (i.e. pandas-3.0 safe).

Closes #924

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* [hansen_singleton] read vendored data snapshot instead of fetching inline

Switch both lectures to read the pre-built monthly CSV from
_static/lecture_specific/hansen_singleton_198{2,3}/ (added in PR #926) via its
raw GitHub URL, replacing the inline FRED / Fama-French download helpers from
the previous commit. The data construction now lives in the per-lecture
make_data.py maintenance scripts; the lectures just read the frozen snapshot.

This keeps the build reproducible and off the live data endpoints, and still
removes the pandas-datareader dependency that breaks under pandas 3.0.

Depends on PR #926 (must land on main first so the raw URL resolves).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* [hansen_singleton] cache the vendored CSV at cell scope

Read the snapshot once into a module-level _data and have load_hs_monthly_data
slice a copy of it, instead of re-downloading/parsing on every call. This
removes the redundant fetch in hansen_singleton_1983 (which loads via both
get_estimation_data and get_tbill_estimation_data). The .copy() keeps callers
from mutating the cached frame. Addresses Copilot review on PR #925.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@mmcky

mmcky commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps anaconda from 2025.12 to 2026.06.

---
updated-dependencies:
- dependency-name: anaconda
  dependency-version: '2026.06'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@mmcky

mmcky commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Validation summary — safe to merge ✅

TL;DR: under a forced full execution on anaconda 2026.06, this PR introduces no new failures versus main, and it fixes the Hansen lectures (the only genuine regression the bump exposed). The single remaining full-build failure (house_auction) is a pre-existing upstream prettytable break that hits main too, tracked in #935.

Why the green preview check isn't enough

The preview build (ci.yml) restores the build-cache from main, so a one-line environment.yml bump re-executes no notebooks — it goes green regardless of whether the lectures actually run under the new stack. Validation therefore used forced full builds (cache.yml, no cache, everything re-executes).

Forced full build on this PR — anaconda 2026.06 / pandas 3.0

Run 28219332522 (this branch rebased onto main, so it includes the Hansen fix):

Lecture Result
hansen_singleton_1982 / hansen_singleton_1983 ✅ pass — re-executed under pandas 3.0
ar1_bayes / ar1_turningpts (arviz) ✅ pass
house_auction ❌ fail — AttributeError: module 'wcwidth' has no attribute 'width'

Control build on main — anaconda 2025.12, same day

Run 28221839832:

Lecture Result
house_auction ❌ fail — identical wcwidth.width error
everything else ✅ pass

(The first attempt of this control run was a spot-runner reclamation — failed with no execution reports — now mitigated by on-demand runners in #936.)

Conclusion

Both anaconda bases fail today on exactly one lecture, house_auction, with the same error → the failure is independent of the anaconda version. So this bump adds zero regressions and is strictly an improvement (it carries the Hansen fix).

Detail: house_auction (pre-existing, not this PR)

prettytable 3.18.0 (released 2026-06-22) requires wcwidth>=0.3.5 and calls wcwidth.width(), but the anaconda base ships wcwidth 0.2.13 (no .width), and the lecture's !pip install prettytable doesn't upgrade it. Breaks on any base today; main's last good weekly build just predated the 3.18.0 upload. Tracked with an in-lecture fix in #935 — separate from this PR.

Detail: Hansen — the bump's only real regression, now fixed

Under pandas 3.0, pandas-datareader died at import. Fixed by vendoring the input data (#926) and switching the lectures to read it (#925) — both merged. The vendored data was validated identical to the original live-fetch series to 2.2e-16, and the 1982 figures render pixel-identical (the 1983 MLE residual diagnostic shifts cosmetically; economics unchanged).

Verdict: clean to merge.

@mmcky mmcky merged commit bf4d899 into main Jun 26, 2026
1 of 2 checks passed
@mmcky mmcky deleted the dependabot/conda/anaconda-2026.06 branch June 26, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conda Pull requests that update conda code dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant