Skip to content

Commit de828cd

Browse files
Jammy2211claude
authored andcommitted
fix: gate autofit[jax] to python>=3.11 in the jax extra
Follow-up to #530, from an independent Codex review of that commit. #530 pointed autogalaxy[jax] at autofit[jax] so optax follows the jax chain. PyAutoFit#1426 then marked autofit's own optax entry python>=3.11 after an unmarked optax took every 3.9 CI leg red with resolution-too-deep. But that fix lives on autofit's main. Any *released* autofit still expands autofit[jax] to an unmarked optax — confirmed against PyPI: autofit 2026.7.27.1 -> 'optax>=0.2.5; extra == "jax"' (no marker) So autogalaxy[jax] was only safe when autofit came from a source checkout, which is precisely why CI went green while the released chain stayed exposed. CI installs all five libraries with -e, so it could never have caught this. Marking the entry here makes the chain correct whichever autofit version pip resolves, and restores exact pre-#530 behaviour below 3.11: every member of the extra now carries the same gate, so the extra is a clean no-op there. Verified in the built wheel metadata — both jax-extra entries evaluate False on 3.9/3.10 and True on 3.11/3.12. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 5235ad8 commit de828cd

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

pyproject.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,14 @@ jax = [
5353
# searches (MultiStartAdam / MultiStartProdigy) import. Without it the chain
5454
# autolens[jax] -> autogalaxy[jax] stopped at autonerves[jax], so `pip
5555
# install autolens[jax]` left those searches raising ImportError.
56-
"autofit[jax]",
56+
#
57+
# Marked >= 3.11 so this entry matches every other member of the extra.
58+
# autofit's own optax entry only gained that marker on main; any *released*
59+
# autofit still expands autofit[jax] to an unmarked optax, and resolving
60+
# that below 3.11 sends pip backtracking to `resolution-too-deep`. Gating
61+
# here makes the chain correct whichever autofit version pip resolves,
62+
# rather than only when autofit comes from a source checkout.
63+
"autofit[jax]; python_version >= '3.11'",
5764
"jax_zero_contour>=2.0.0,<3.0.0; python_version >= '3.11'"
5865
]
5966
optional = [

0 commit comments

Comments
 (0)