Skip to content

deps: unpin jax/jaxlib now that numpyro 0.21.0 ships fix#404

Merged
conorheins merged 2 commits into
mainfrom
worktree-unpin-jax-numpyro-0.21
May 7, 2026
Merged

deps: unpin jax/jaxlib now that numpyro 0.21.0 ships fix#404
conorheins merged 2 commits into
mainfrom
worktree-unpin-jax-numpyro-0.21

Conversation

@conorheins
Copy link
Copy Markdown
Collaborator

@conorheins conorheins commented May 6, 2026

Summary

  • Reverts the temporary <0.10 cap on jax/jaxlib (and jax[cuda12]) introduced in deps: pin jax/jaxlib <0.10 pending numpyro fix (#389) #391 across pyproject.toml and setup.cfg.
  • Removes the inline TODO comments referencing pyro-ppl/numpyro#2173.
  • numpyro#2173 merged 2026-05-02 and shipped in numpyro 0.21.0 the same day. The fix wraps the xla_pmap_p import in a try/except so the absence on jax ≥ 0.10.0 no longer breaks import numpyro (and therefore pybefit).

Verification

  • Confirmed numpyro 0.21.0 release tag contains the try/except guard in numpyro/ops/provenance.py.
  • uv lock --dry-run resolves cleanly: jax 0.10.0, jaxlib 0.10.0, numpyro 0.21.0, pybefit 0.1.23.
  • Standard Test CI passes on this PR.
  • Manual Branch Nightly run on this branch passes.

Notes

This closes out the workaround from #389. Should be a clean inverse of #391.

🤖 Generated with Claude Code

Reverts the temporary <0.10 cap on jax/jaxlib (pyproject.toml + setup.cfg
core deps and gpu extras) introduced in #391. The upstream cause —
numpyro/ops/provenance.py importing the removed xla_pmap_p — was fixed
by pyro-ppl/numpyro#2173 (merged 2026-05-02) and shipped in numpyro
0.21.0 the same day. uv now resolves jax 0.10.0 + numpyro 0.21.0
cleanly.

Closes the workaround tracked in #389.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jax 0.10.0 finished the deprecation of the a_min/a_max kwargs on
jnp.clip in favour of the numpy 2.0-style min/max kwargs. Five call
sites in examples/advanced/pymdp_with_neural_encoder.ipynb still used
the old spelling and crashed nightly notebook tests with
"TypeError: clip() got an unexpected keyword argument 'a_min'" as soon
as the <0.10 cap was lifted in the previous commit. Library code is
unaffected; only this notebook used the deprecated API.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@conorheins
Copy link
Copy Markdown
Collaborator Author

conorheins commented May 6, 2026

First nightly run (25428706834) green on the steps that gate this PR — Install dependencies and Run nightly-marked tests both pass on jax 0.10.0 + numpyro 0.21.0, confirming the unpin's primary goal.

It surfaced one secondary regression in examples/advanced/pymdp_with_neural_encoder.ipynb: 5 jnp.clip(..., a_min=…) calls that fell off jax 0.10's deprecation cliff (TypeError: clip() got an unexpected keyword argument 'a_min'). All 6 reported notebook "failures" were that single root cause cascading through later cells (NameError on variables that were never assigned because the prior cell crashed). Library code is unaffected — grep for a_min=/a_max= across pymdp/ is clean, only the one notebook used the deprecated kwarg.

Fixed in 225c9a1 by switching to numpy-2.0-style min=. Nightly passes again with this fix

@conorheins conorheins merged commit 5491979 into main May 7, 2026
8 checks passed
@conorheins conorheins deleted the worktree-unpin-jax-numpyro-0.21 branch May 7, 2026 08:23
conorheins added a commit that referenced this pull request May 14, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.0.2](v1.0.1...v1.0.2)
(2026-05-07)


### Dependencies

* unpin jax/jaxlib now that numpyro 0.21.0 ships fix
([#404](#404))
([5491979](5491979))


### Documentation

* **contributing:** fix release-trigger table and document cadence
([#403](#403))
([66226ea](66226ea))
* **notebooks:** render math in mkdocs-jupyter notebooks
([#400](#400))
([23c29ed](23c29ed))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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