Skip to content

Add support for Python 3.15 and drop EOL 3.6-3.9 - #295

Merged
tkrajina merged 7 commits into
tkrajina:devfrom
hugovk:dev
Sep 23, 2026
Merged

tkrajina merged 7 commits into
tkrajina:devfrom
hugovk:dev

Conversation

@hugovk

@hugovk hugovk commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

The Python 3.15 release candidate is out. 🚀

The 3.15 release manager (👋 hi, that's me!) issued a call to action:

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.15 during this phase, and publish Python 3.15 wheels on PyPI to be ready for the final release of 3.15.0, and to help other projects do their own testing. Any binary wheels built against Python 3.15.0 release candidates will work with future versions of Python 3.15. As always, report any issues to the Python bug tracker.

Please keep in mind that this is a preview release and while it's as close to the final release as we can get it, its use is not recommended for production environments.

Also drop little-used EOL Python 3.6-3.9:

https://devguide.python.org/versions/

category percent downloads
3.12 33.72% 176,832
3.11 31.32% 164,244
3.14 14.00% 73,421
3.13 9.96% 52,211
3.10 5.44% 28,532
3.9 2.77% 14,513
null 1.64% 8,577
3.8 0.51% 2,669
3.7 0.41% 2,146
2.7 0.14% 709
3.5 0.04% 221
3.6 0.04% 201
3.15 0.02% 109
Total 524,385

Source: pip install -U pypistats && pypistats python_minor gpxpy --last-month

Comment thread setup.py
Comment on lines -22 to -23
if sys.version_info < (3, 6):
sys.exit('Sorry, Python < 3.6 is not supported')

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

pyupgrade removed this, and I intentionally left it out: modern pip and uv respect python_requires so this sort of guard isn't needed any more.

@tkrajina

Copy link
Copy Markdown
Owner

Makes sense, I'll definitely merge it before I release the new version, but I'll just try to cleanup the other (older) issues and pull requests.

@tkrajina
tkrajina merged commit 7c3a18e into tkrajina:dev Sep 23, 2026
6 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.

2 participants