Overview
Adopt Python 3.12 as PyAutoCTI's minimum as the independent-package slice of the ecosystem migration. This updates the package contract and living installation documentation without changing CTI behavior, the archival paper, or PyAutoCTI's separate resurrection/release cadence.
Plan
- Raise package metadata and classifiers to Python 3.12/3.13.
- Update the living installation page to state the supported interpreter range.
- Preserve the JOSS paper, historical traceback material, dependency constraints, and the documented
arcticpy==2.6 installation path.
- Validate the complete suite and built wheel metadata on Python 3.12 and 3.13.
- Ship an isolated pending-release PR; merge and release remain human/readiness gated.
Detailed implementation plan
Affected Repositories
Branch Survey
| Repository |
Current Branch |
Dirty? |
Ahead/behind origin/main |
| PyAutoCTI |
main |
clean |
0/0 |
Suggested branch: feature/python-312-floor
Implementation Steps
- In
pyproject.toml, change requires-python from >=3.9 to >=3.12 and remove the 3.9, 3.10, and 3.11 classifiers, retaining 3.12 and 3.13.
- In
docs/installation/overview.rst, replace the stale 3.9-3.12 claim with an explicit Python 3.12/3.13 support statement.
- Do not edit
paper/paper.md: it is an archival JOSS surface. Leave the Python 3.8 paths in the historical Numba traceback unchanged.
- Build a clean wheel and inspect its METADATA for
Requires-Python: >=3.12 and only the intended classifiers.
- Run
test_autocti/ on Python 3.12 and 3.13. Install arcticpy==2.6 only via the documented --no-build-isolation --no-deps route so validation cannot downgrade NumPy.
- Run the autonomous ship gate and open a
pending-release PR if tests, review, smoke/metadata evidence, and the acknowledged Heart set all pass.
Key Files
pyproject.toml — package floor and classifiers.
docs/installation/overview.rst — living installation support claim.
paper/paper.md — explicitly archival and out of scope.
docs/installation/numba.rst — historical traceback, explicitly out of scope.
Autonomy / Heart launch acknowledgement
This is a supervised task running under the user-authorized queue/--auto contract. The acknowledged Heart YELLOW launch set is:
- workspace validation not passing (13 failed, 2026-07-21T19-05-22Z)
- 33 stale parked script(s)
- manifest drift: tenant firewall (organ code) — 6 mismatch(es) vs PyAutoMind/repos.yaml
- release validation stale: source moved since rehearsal (PyAutoNerves, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens)
No RED condition was present at launch. Any new reason invalidates this acknowledgement.
Original Prompt
Click to expand starting prompt
Python 3.12 floor — Phase 4A: PyAutoCTI
Type: feature
Target: PyAutoCTI
Difficulty: medium
Autonomy: supervised
Priority: normal
Status: formalised
Parent: python_312_floor_phase_4_independent.md
Original request
Ok, lets remove support for anything below python3.12, do a census to make sure we simplify requriements, build server, testing, etc. Also make sure all docs are updated.
Scope
Raise PyAutoCTI package metadata and classifiers to Python 3.12/3.13 and update its living installation claim. Preserve the archival JOSS paper and historical traceback examples. Validate the full suite on both supported Python versions, including the repository's documented arcticpy==2.6 installation constraint.
Gates
- Built metadata reports
Requires-Python: >=3.12 and only 3.12/3.13 Python classifiers.
- The full PyAutoCTI suite passes on Python 3.12 and 3.13.
- The release stays independent of the five-package core release and remains behind PyAutoCTI's resurrection/readiness gate.
Overview
Adopt Python 3.12 as PyAutoCTI's minimum as the independent-package slice of the ecosystem migration. This updates the package contract and living installation documentation without changing CTI behavior, the archival paper, or PyAutoCTI's separate resurrection/release cadence.
Plan
arcticpy==2.6installation path.Detailed implementation plan
Affected Repositories
Branch Survey
Suggested branch:
feature/python-312-floorImplementation Steps
pyproject.toml, changerequires-pythonfrom>=3.9to>=3.12and remove the 3.9, 3.10, and 3.11 classifiers, retaining 3.12 and 3.13.docs/installation/overview.rst, replace the stale 3.9-3.12 claim with an explicit Python 3.12/3.13 support statement.paper/paper.md: it is an archival JOSS surface. Leave the Python 3.8 paths in the historical Numba traceback unchanged.Requires-Python: >=3.12and only the intended classifiers.test_autocti/on Python 3.12 and 3.13. Installarcticpy==2.6only via the documented--no-build-isolation --no-depsroute so validation cannot downgrade NumPy.pending-releasePR if tests, review, smoke/metadata evidence, and the acknowledged Heart set all pass.Key Files
pyproject.toml— package floor and classifiers.docs/installation/overview.rst— living installation support claim.paper/paper.md— explicitly archival and out of scope.docs/installation/numba.rst— historical traceback, explicitly out of scope.Autonomy / Heart launch acknowledgement
This is a supervised task running under the user-authorized queue/
--autocontract. The acknowledged Heart YELLOW launch set is:No RED condition was present at launch. Any new reason invalidates this acknowledgement.
Original Prompt
Click to expand starting prompt
Python 3.12 floor — Phase 4A: PyAutoCTI
Type: feature
Target: PyAutoCTI
Difficulty: medium
Autonomy: supervised
Priority: normal
Status: formalised
Parent:
python_312_floor_phase_4_independent.mdOriginal request
Scope
Raise PyAutoCTI package metadata and classifiers to Python 3.12/3.13 and update its living installation claim. Preserve the archival JOSS paper and historical traceback examples. Validate the full suite on both supported Python versions, including the repository's documented
arcticpy==2.6installation constraint.Gates
Requires-Python: >=3.12and only 3.12/3.13 Python classifiers.