Skip to content

Update Python version support to 3.10-3.14#272

Open
brunns wants to merge 3 commits intohamcrest:mainfrom
brunns:update-python-version-support
Open

Update Python version support to 3.10-3.14#272
brunns wants to merge 3 commits intohamcrest:mainfrom
brunns:update-python-version-support

Conversation

@brunns
Copy link
Member

@brunns brunns commented Feb 12, 2026

Summary

Update Python version support from 3.8-3.12 to 3.10-3.14, dropping support for Python 3.8 and 3.9 while adding support for Python 3.13 and 3.14.

Changes

  • Python versions: Updated minimum from 3.8 to 3.10, added support for 3.13 and 3.14
  • PyPy: Updated from PyPy 3.9 to PyPy 3.11 to align with supported Python versions
  • Sphinx: Upgraded from ~=5.0 to ~=7.0 for Python 3.13+ compatibility (Python 3.13 removed the imghdr module used by Sphinx 5.x)
  • CI/CD: Updated GitHub Actions matrix and tox environments to test new Python versions
  • Development tools: Moved linting, typing, and docs generation to Python 3.14
  • Code simplification: Removed Python 3.9 compatibility code in future.py type annotations

Testing

All environments pass locally:

  • ✅ Type checking (mypy)
  • ✅ Linting and formatting (pre-commit hooks)
  • ✅ Documentation build with Sphinx 7.0 on Python 3.14
  • ✅ Package validation

CI will verify tests pass across all supported Python versions (3.10-3.14) and PyPy 3.11.

🤖 Generated with Claude Code

@brunns brunns had a problem deploying to publish-test-release February 12, 2026 13:09 — with GitHub Actions Failure
Drop support for Python 3.8 and 3.9, add support for Python 3.13 and 3.14.
Update PyPy from 3.9 to 3.11 to align with supported versions.

Changes:
- Update minimum Python requirement from 3.8 to 3.10 in pyproject.toml
- Update Python version classifiers (remove 3.8/3.9, add 3.13/3.14)
- Upgrade Sphinx from ~=5.0 to ~=7.0 for Python 3.13+ compatibility
  (Python 3.13 removed the imghdr module used by Sphinx 5.x)
- Update CI matrix to test Python 3.10-3.14 and PyPy 3.11
- Update tox environments: add py313/py314, remove py38/py39
- Update development tools (lint, typing, docs) to use Python 3.14
- Simplify future.py type annotations by removing Python 3.9 compatibility code

All tests, linting, type checking, and documentation builds pass.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@brunns brunns force-pushed the update-python-version-support branch from 80290ab to 731df26 Compare February 12, 2026 13:42
@brunns brunns had a problem deploying to publish-test-release February 12, 2026 13:43 — with GitHub Actions Failure
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@brunns brunns requested a deployment to publish-test-release February 12, 2026 14:03 — with GitHub Actions Waiting
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