ADR-017 — Python Runtime Support Policy¶
Date: 24/04/2026 Status: Accepted
Context¶
The core project and first-party package projects declare Python 3.13 as the minimum supported runtime.
Evidence:
pyproject.tomldeclaresrequires-python = ">=3.13"..github/workflows/ci.ymlruns CI withpython-version: "3.13".- First-party package
pyproject.tomlfiles underpackages/also declarerequires-python = ">=3.13".
Without an explicit decision, the Python floor is a hidden compatibility assumption encoded only in packaging and CI configuration.
Decision¶
Treat Python 3.13 or newer as the supported runtime for the current repository state and first-party package set.
All packaging metadata, CI configuration, contributor setup, and release validation must remain aligned with that runtime floor until a future ADR changes it.
Support for Python versions older than 3.13 is not part of the current compatibility contract.
Consequences¶
Positive¶
- Packaging and CI express one runtime contract.
- Contributors do not need to infer support for older Python versions.
- First-party package metadata stays aligned with the core package.
Negative¶
- Users on older Python versions must upgrade before installing supported builds.
- Compatibility broadening requires an explicit decision and validation work.
Neutral / Trade-offs¶
- The policy documents the current repository contract; it does not prove that every dependency ecosystem supports older runtimes.