Skip to content

ci: bump Windows/macOS Python to 3.13; consider raising requires-python floor #1192

@igorls

Description

@igorls

Context

After #939, the CI matrix is:

  • test-linux: 3.9 / 3.11 / 3.13
  • test-windows: 3.11
  • test-macos: 3.11
  • lint: 3.11

pyproject.toml declares requires-python = ">=3.9".

Why revisit

As of April 2026:

Version Status
3.9 EOL since Oct 2025
3.10 security-only
3.11 active until Oct 2027
3.12 active until Oct 2028
3.13 active until Oct 2029

3.11 is mid-life. 3.13 is already on the Linux matrix and gives ~3.5 years of upstream support.

Proposed scope

Option A — CI only. Bump Windows and macOS jobs from 3.11 to 3.13. Keep requires-python = ">=3.9". Smallest change; matches the top of the Linux matrix.

Option B — Drop 3.9 floor. Raise requires-python to >=3.11 (or >=3.10). Removes the tomli>=2.0.0; python_version < '3.11' shim in pyproject.toml (3.11+ has tomllib built-in). Drop 3.9 from the Linux matrix. Larger scope, requires a release-note entry; users still on a Python that Python itself no longer supports would need to upgrade.

Notes

  • Option A is reversible and low-risk.
  • Option B is a one-way door for old users but reduces shim surface.
  • Neither blocks the other; A can land first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ciCI/CD and workflowsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions