Add support for Python 3.15#2183
Conversation
There was a problem hiding this comment.
Pull request overview
Adds CI coverage and packaging metadata updates to recognize and exercise Python 3.15 (including free-threaded builds) during the beta period, aligning GitPython’s declared support with current upstream Python testing guidance.
Changes:
- Add Trove classifiers for Python 3.13–3.15 in
setup.py. - Extend the GitHub Actions test matrix to run on Python 3.15 / 3.15t and stop testing 3.13t.
- Mark 3.15 / 3.15t as “experimental” to enable
actions/setup-pythonpre-release installs viaallow-prereleases.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| setup.py | Adds Trove classifiers for Python 3.13–3.15 to reflect supported versions. |
| .github/workflows/pythonpackage.yml | Updates CI matrix to add 3.15/3.15t and remove 3.13t, enabling prereleases for 3.15 via allow-prereleases. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| python-version: "3.13" # FIXME: Fix and enable Python 3.13 and 3.14 on Windows (#1955). | ||
| - os-type: windows | ||
| python-version: "3.13t" | ||
| python-version: "3.13" # FIXME: Fix and enable Python 3.13-3.15 on Windows (#1955). |
There was a problem hiding this comment.
@EliahKagan I wonder if this comment is still valid? We have been running on Windows for a while, even though maybe not with all tests enabled.
My hope would be that with the improvements to deterministic destruction, more tests can work as filehandles will be closed more reliably.
The Python 3.15 beta is out. 🚀
The 3.15 release manager (👋 hi, that's me!) said:
Also declare support for 3.13-3.15 with Trove classifiers.
And includes a suggestion: stop testing free-threaded 3.13t. It was experimental, 3.14t and up are properly supported and have better performance, and many other projects are stopping testing 3.13t, such as cibuildwheel and Pillow.