-
Notifications
You must be signed in to change notification settings - Fork 2
Support Python 3.10 through 3.15 #18
Copy link
Copy link
Closed
Labels
area: ciContinuous integration and workflow configuration.Continuous integration and workflow configuration.area: packaging/releasePackaging, artifacts, compatibility, and release qualification.Packaging, artifacts, compatibility, and release qualification.gate: adversarial reviewResolve, merge, or explicitly defer before the next full adversarial review.Resolve, merge, or explicitly defer before the next full adversarial review.
Description
Activity
Metadata
Metadata
Assignees
Labels
area: ciContinuous integration and workflow configuration.Continuous integration and workflow configuration.area: packaging/releasePackaging, artifacts, compatibility, and release qualification.Packaging, artifacts, compatibility, and release qualification.gate: adversarial reviewResolve, merge, or explicitly defer before the next full adversarial review.Resolve, merge, or explicitly defer before the next full adversarial review.
Motivation
Broaden codex32 compatibility from the original
>=3.12,<3.14range to Python 3.10 through 3.15.Python 3.10 remains in security-fix support until October 2026, and Bitcoin Core uses Python 3.10 as its minimum for scripts and tests. Since codex32 has no runtime dependencies, supporting the full 3.10–3.15 range is useful and should carry little ongoing cost.
During review of #36, the project explicitly chose to promise Python 3.15 prerelease coverage rather than treat it as a permanently allowed-to-fail smoke job. Until 3.15 final is available, CI uses
actions/setup-pythonprerelease support.References:
Compatibility work
enum.StrEnum(added in 3.11) with a 3.10-compatible string enum pattern.type _ProfileRules = ...statement (added in 3.12) with a 3.10-compatible type alias.requires-python, Trove classifiers, README support text, and the mypy target.allow-prereleasesfor 3.15 until the final interpreter is available.Acceptance criteria
>=3.10,<3.16and the 3.10–3.15 classifiers.Implemented by #36, which is merged into the #7 integration branch and will reach
reviewability-v1with #7.