Skip to content

Add support for Python 3.15#2183

Merged
Byron merged 3 commits into
gitpython-developers:mainfrom
hugovk:main
Jul 24, 2026
Merged

Add support for Python 3.15#2183
Byron merged 3 commits into
gitpython-developers:mainfrom
hugovk:main

Conversation

@hugovk

@hugovk hugovk commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

The Python 3.15 beta is out. 🚀

The 3.15 release manager (👋 hi, that's me!) said:

We strongly encourage maintainers of third-party Python projects to test with 3.15 during the beta phase and report issues found to the Python bug tracker as soon as possible. While the release is planned to be feature-complete entering the beta phase, it is possible that features may be modified or, in rare cases, removed up until the start of the release candidate phase (2026-08-04). Our goal is to have no ABI changes after beta 4 and as few code changes as possible after the first release candidate. To achieve that, it will be extremely important to get as much exposure for 3.15 as possible during the beta phase.

This includes creating pre-release wheels for 3.15, as it helps other projects to do their own testing. However, we recommend that your regular production releases wait until 3.15.0rc1, to avoid the risk of ABI breaks.

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.

Copilot AI review requested due to automatic review settings July 23, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-python pre-release installs via allow-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).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

@Byron Byron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What an honor, thanks a lot for setting this up for us!

And of course, good to see that it just works!

@Byron
Byron merged commit be5031d into gitpython-developers:main Jul 24, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants