Overview
Add Python 3.13 support to the CI test matrix for all five PyAuto library repos. Currently all CI runs only on Python 3.12. Since requires-python >= 3.12 already allows 3.13 installs, we need CI coverage to catch any 3.13-specific issues. The dependency sweep (#87) already raised version caps — JAX, numba, and all other deps support 3.13. AutoBuild will remain on 3.12 only per user request.
Plan
- Add
'3.13' to the Python version matrix in .github/workflows/main.yml for all five repos
- Add
"Programming Language :: Python :: 3.13" classifier to each pyproject.toml
- Handle optional deps that lack 3.13 wheels: skip
tensorflow-probability install on 3.13 (it's optional and not needed for core tests)
- Push branches, let CI run on both 3.12 and 3.13, then iterate on any failures
- Note: a previous
feature/python-3.12-3.13 branch exists on 4 repos — we'll start fresh
Detailed implementation plan
Affected Repositories
- PyAutoConf (primary)
- PyAutoFit
- PyAutoArray
- PyAutoGalaxy
- PyAutoLens
Work Classification
Library
Branch Survey
| Repository |
Current Branch |
Dirty? |
Prior branch? |
| PyAutoConf |
main |
clean |
feature/python-3.12-3.13 exists |
| PyAutoFit |
main |
clean |
feature/python-3.12-3.13 exists |
| PyAutoArray |
main |
clean |
feature/python-3.12-3.13 exists |
| PyAutoGalaxy |
main |
clean |
feature/python-3.12-3.13 exists |
| PyAutoLens |
main |
clean |
none |
Suggested branch: feature/python-313
Worktree root: ~/Code/PyAutoLabs-wt/python-313/
Implementation Steps
-
For each repo, edit .github/workflows/main.yml:
- Change
python-version: ['3.12'] to python-version: ['3.12', '3.13']
-
For each repo, edit pyproject.toml:
- Add
"Programming Language :: Python :: 3.13" to classifiers
-
For PyAutoArray only: conditionally skip tensorflow-probability on 3.13 (no wheels). Either:
- Use a matrix exclude, or
- Install
[optional] only on 3.12 and base deps on 3.13
-
Push all branches and monitor CI results on both Python versions
-
Fix any 3.13-specific failures that emerge
Key Files
PyAutoConf/.github/workflows/main.yml
PyAutoFit/.github/workflows/main.yml
PyAutoArray/.github/workflows/main.yml
PyAutoGalaxy/.github/workflows/main.yml
PyAutoLens/.github/workflows/main.yml
- All five
pyproject.toml files (classifiers only)
Known Compatibility
- jaxnnls==1.0.1: pure Python, works on 3.13 (no compiled extensions)
- JAX >=0.4.33: has 3.13 support
- numba >=0.60: has 3.13 support (optional dep)
- tensorflow-probability==0.25.0: NO 3.13 wheels (optional, skip on 3.13)
Original Prompt
Click to expand starting prompt
Can you add Python 3.13 to the Github actions of every PyAuto library repository, assess what errors or
bugs come up when they try to use 3.13, and then we will iterate on working out what to do
so that the package as a whole supports both 3.12 and 3.13.
When libraries are done, we'll then do an autobuild run, but at the end autobuild will still only run on
3.12 by default to avoid too many different actions and instances of things running.
Overview
Add Python 3.13 support to the CI test matrix for all five PyAuto library repos. Currently all CI runs only on Python 3.12. Since
requires-python >= 3.12already allows 3.13 installs, we need CI coverage to catch any 3.13-specific issues. The dependency sweep (#87) already raised version caps — JAX, numba, and all other deps support 3.13. AutoBuild will remain on 3.12 only per user request.Plan
'3.13'to the Python version matrix in.github/workflows/main.ymlfor all five repos"Programming Language :: Python :: 3.13"classifier to eachpyproject.tomltensorflow-probabilityinstall on 3.13 (it's optional and not needed for core tests)feature/python-3.12-3.13branch exists on 4 repos — we'll start freshDetailed implementation plan
Affected Repositories
Work Classification
Library
Branch Survey
Suggested branch:
feature/python-313Worktree root:
~/Code/PyAutoLabs-wt/python-313/Implementation Steps
For each repo, edit
.github/workflows/main.yml:python-version: ['3.12']topython-version: ['3.12', '3.13']For each repo, edit
pyproject.toml:"Programming Language :: Python :: 3.13"to classifiersFor PyAutoArray only: conditionally skip
tensorflow-probabilityon 3.13 (no wheels). Either:[optional]only on 3.12 and base deps on 3.13Push all branches and monitor CI results on both Python versions
Fix any 3.13-specific failures that emerge
Key Files
PyAutoConf/.github/workflows/main.ymlPyAutoFit/.github/workflows/main.ymlPyAutoArray/.github/workflows/main.ymlPyAutoGalaxy/.github/workflows/main.ymlPyAutoLens/.github/workflows/main.ymlpyproject.tomlfiles (classifiers only)Known Compatibility
Original Prompt
Click to expand starting prompt
Can you add Python 3.13 to the Github actions of every PyAuto library repository, assess what errors or
bugs come up when they try to use 3.13, and then we will iterate on working out what to do
so that the package as a whole supports both 3.12 and 3.13.
When libraries are done, we'll then do an autobuild run, but at the end autobuild will still only run on
3.12 by default to avoid too many different actions and instances of things running.