Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Python 3.12 and drop EOL 3.6 #323

Merged
merged 5 commits into from
Oct 18, 2023
Merged

Conversation

hugovk
Copy link
Contributor

@hugovk hugovk commented Sep 15, 2023

The second Python 3.12 release candidate is out! 🚀

Call to action

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.12 compatibilities during this phase, and where necessary publish Python 3.12 wheels on PyPI to be ready for the final release of 3.12.0.

Python 3.12.0 final is due out in two weeks: 2023-10-02.

See also https://dev.to/hugovk/help-test-python-312-beta-1508/


Python 3.7 is EOL and no longer receiving security updates (or any updates) from the core Python team.

version released eol
3.11 2022-10-24 2027-10-24
3.10 2021-10-04 2026-10-04
3.9 2020-10-05 2025-10-05
3.8 2019-10-14 2024-10-14
3.7 2018-06-26 2023-06-27

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

@woodruffw
Copy link
Member

Thanks @hugovk! This LGTM; I'll wait for @frostming to additionally OK the Python version deprecations here.

@dvershinin
Copy link
Contributor

@hugovk just chiming it to say that not everything that is deprecated should be quickly discarded as unused. There are LTS operating system versions which are based off Python 3.6 which are maintained, e.g. RHEL 8 is maintained at least till 2029.

@woodruffw
Copy link
Member

@hugovk just chiming it to say that not everything that is deprecated should be quickly discarded as unused. There are LTS operating system versions which are based off Python 3.6 which are maintained, e.g. RHEL 8 is maintained at least till 2029.

I'm not sure this is a great reason for us, as an upstream, to continue supporting EOL Python versions: maintaining (and selling) an LTS Linux distribution comes with the expectation of carrying patches and support potentially past the point of upstream support.

Given that and the fact that 3.6 and 3.7 are sitting at less that 5% total downloads combined (https://pypistats.org/packages/cachecontrol), my first inclination is to say that we should drop these. That being said, Requests itself also has a minimum Python version of 3.7, so maybe we should piggyback on their policy and drop only 3.6 for now. Thoughts @hugovk?

@hugovk
Copy link
Contributor Author

hugovk commented Oct 8, 2023

Sure, updated!

@woodruffw woodruffw merged commit 6c76160 into psf:master Oct 18, 2023
18 checks passed
@woodruffw
Copy link
Member

Thanks @hugovk!

@hugovk hugovk changed the title Add support for Python 3.12 and drop EOL 3.6 and 3.7 Add support for Python 3.12 and drop EOL 3.6 Oct 18, 2023
woodruffw added a commit to woodruffw-forks/cachecontrol that referenced this pull request Jul 9, 2024
* Add support for Python 3.12

* Drop support for EOL Python 3.6

* Upgrade Python syntax with pyupgrade --py37-plus

* examples, tests: reformat

* cachecontrol, tox: run mypy on 3.12

and tweak ignores.

---------

Co-authored-by: William Woodruff <william@yossarian.net>
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.

3 participants