Skip to content

feat(python-version): support Python 3.9-3.14, first-class 3.12/3.13#293

Merged
Jammy2211 merged 2 commits intomainfrom
feature/python-version-policy
Apr 30, 2026
Merged

feat(python-version): support Python 3.9-3.14, first-class 3.12/3.13#293
Jammy2211 merged 2 commits intomainfrom
feature/python-version-policy

Conversation

@Jammy2211
Copy link
Copy Markdown
Collaborator

Summary

Part of the Python version policy change supporting Python 3.9–3.14 across PyAuto. First-class support remains 3.12/3.13.

Changes in this repo

  • pyproject.toml: requires-python 3.12 → 3.9. Classifiers expanded to 3.9–3.14. New [jax] extra that propagates upward via autoconf[jax]. The existing [optional] extra now pulls autoarray[jax] so existing users don't lose JAX on 3.11+.
  • .github/workflows/main.yml: matrix expanded to [3.9, 3.10, 3.11, 3.12, 3.13, 3.14].

Test plan

  • All unit tests pass on Python 3.12
  • Per-lib CI matrix runs after merge (3.9–3.14)
  • Autobuild matrix workflow verifies full stack

This is one of 12 coordinated PRs. See sibling PRs on feature/python-version-policy in PyAutoConf, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens, PyAutoBuild, and the 6 workspace repos.

Jammy2211 and others added 2 commits April 30, 2026 20:00
Wide-support / narrow-first-class model for Python versions across the
PyAuto family. Python 3.12 and 3.13 remain the recommended versions.
3.9, 3.10, 3.11, 3.14 install cleanly but emit a loud bypassable
warning at import time. JAX moved to optional [jax] extra gated on
python_version >= '3.11' (so 3.9/3.10 users get numpy-only mode
without install failures).

Coordinated change across PyAutoConf, PyAutoArray, PyAutoFit,
PyAutoGalaxy, PyAutoLens, PyAutoBuild, and the 6 workspace repos. See
sibling PRs on the feature/python-version-policy branch in each repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per-PR CI now tests only the first-class Python versions (3.12, 3.13).
Wide-span 3.9-3.14 verification moves to PyAutoBuild's python_matrix.yml
workflow (weekly + on-demand).

Install commands now always use the [optional] extra so JAX is
available on both 3.12 and 3.13 (the conftest.py eager `import jax`
was failing on 3.13 because the previous CI only added [optional] for
3.12).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Jammy2211 Jammy2211 merged commit baa52dd into main Apr 30, 2026
4 checks passed
@Jammy2211 Jammy2211 deleted the feature/python-version-policy branch April 30, 2026 19:23
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