Skip to content

chore(deps): allow anesthetic>=2.9.0 to unblock jax>=0.7 / numpy>=2 resolution#1306

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/anesthetic-numpy2
May 29, 2026
Merged

chore(deps): allow anesthetic>=2.9.0 to unblock jax>=0.7 / numpy>=2 resolution#1306
Jammy2211 merged 1 commit into
mainfrom
feature/anesthetic-numpy2

Conversation

@Jammy2211
Copy link
Copy Markdown
Collaborator

Summary

  • Bumps anesthetic from the exact pin ==2.8.14 (python<3.13 branch) to >=2.9.0, collapsing the previous two python-version-conditional lines into one.
  • The old pin transitively required numpy<2, which caused pip's resolver in release.yml's until ... pip install autoconf[optional]==$VERSION ... block to backsolve jax to 0.4.28. Subsequent steps then silently dropped JAX from the environment entirely, so every run_scripts job failed in ~0.1s with ModuleNotFoundError: No module named 'jax'.
  • After this bump, pip install -e .[optional] locally resolves to anesthetic 2.14.6, numpy 2.2.6, jax 0.9.2.

Why this is safe

  • anesthetic>=2.9.0 supports Python 3.9 (the existing python_version<'3.13' branch's lower bound), so the conditional pin is no longer needed.
  • The new >= constraint matches what was already in place for python>=3.13.
  • The nss/blackjax compatibility note in the file is updated: the previous "bump only after both pins move together" constraint is now resolved.

Test plan

  • Local pip install -e .[optional] resolves jax 0.7+ (got 0.9.2)
  • pytest test_autofit — 1404 passed, 13 failed (all pre-existing NSS tests requiring the manually-installed handley-lab/blackjax fork via pip install autofit[nss], unrelated to anesthetic)
  • CI on this PR
  • Paired with PyAutoBuild release.yml backstop PR before next pre_build dispatch

🤖 Generated with Claude Code

The previous `anesthetic==2.8.14` pin (for python<3.13) transitively
required `numpy<2`, which forced pip's resolver to backsolve `jax` to
0.4.28 in the release.yml install chain. JAX 0.7+ requires numpy>=2.

After this bump:
- Local resolution: anesthetic 2.14.6, numpy 2.2.6, jax 0.9.2
- The split python-version branches collapse to a single line — 2.9.0+
  supports python>=3.9 so the conditional pin is no longer needed.

Comment around the nss/blackjax notes updated: the prior "bump only
after both pins move together" constraint is now resolved.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Jammy2211 Jammy2211 merged commit acdfad4 into main May 29, 2026
7 checks passed
@Jammy2211 Jammy2211 deleted the feature/anesthetic-numpy2 branch May 29, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant