Skip to content

chore: drop Python 3.9 support (EOL) - #114

Merged
skuenzli merged 2 commits into
mainfrom
chore/drop-python-3.9
Aug 28, 2026
Merged

chore: drop Python 3.9 support (EOL)#114
skuenzli merged 2 commits into
mainfrom
chore/drop-python-3.9

Conversation

@skuenzli

@skuenzli skuenzli commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Drops support for Python 3.9, which reached end-of-life on 2025-10-31 and no longer receives security fixes.

What changes

  • requires-python moves from >=3.9 to >=3.10. This is the load-bearing change: the CI wheel builds use --find-interpreter, which honors this floor, so cp39 wheels stop being built, and pip refuses to install new cedarpy releases on Python 3.9. Existing published releases remain installable.
  • README: platform support tables updated to 3.10 - 3.14, prerequisites updated, and the Developing section's commands and example transcript re-tested and refreshed on Python 3.11 (venv-activation step added; transcript now reflects current maturin/pytest output).
  • CHANGELOG: Removed entry under [Unreleased].

Python 3.10 is deliberately kept

3.10 is security-supported until October 2026. Its own drop is deferred to that EOL, and has a CI dependency to plan for: the aarch64 test container is Ubuntu 22.04, whose system Python is 3.10 — dropping 3.10 means moving that job to a newer container.

Verification

218 unit tests pass on the branch. No 3.9 references remain in the repo (the README's example transcript was re-tested and refreshed on Python 3.11). CI needs no change: wheel selection is driven by --find-interpreter filtering against requires-python, so the cp39 wheel drop follows from pyproject.toml automatically — expect this PR's wheel artifacts to show cp310-cp314.

🤖 Generated with Claude Code

requires-python >= 3.10: cp39 wheels are no longer built
(--find-interpreter honors the floor) and pip refuses new releases on
3.9. README support tables and prerequisites updated. Python 3.10
(security-supported until 2026-10) through 3.14 remain supported; the
aarch64 CI test container (ubuntu 22.04) runs system Python 3.10, so
3.10's own drop is deferred to its October EOL.

Co-Authored-By: Claude
@skuenzli
skuenzli merged commit f36e11f into main Aug 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant