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 #160

Merged
merged 2 commits into from
Aug 23, 2023
Merged

Add support for Python 3.12 #160

merged 2 commits into from
Aug 23, 2023

Conversation

hugovk
Copy link
Contributor

@hugovk hugovk commented Aug 22, 2023

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

@micheles
Copy link
Owner

It looks like you need to disable the tests for python 3.5 and 3.6

@hugovk
Copy link
Contributor Author

hugovk commented Aug 23, 2023

Updated! What do you think about dropping support for 3.5 and 3.6? They've been EOL for a few years:

cycle release latest latest release support eol
3.11 2022-10-24 3.11.4 2023-06-06 2024-04-01 2027-10-24
3.10 2021-10-04 3.10.12 2023-06-06 2023-04-05 2026-10-04
3.9 2020-10-05 3.9.17 2023-06-06 2022-05-17 2025-10-05
3.8 2019-10-14 3.8.17 2023-06-06 2021-05-03 2024-10-14
3.7 2018-06-26 3.7.17 2023-06-05 2020-06-27 2023-06-27
3.6 2016-12-22 3.6.15 2021-09-03 2018-12-24 2021-12-23
3.5 2015-09-12 3.5.10 2020-09-05 False 2020-09-13

3.7 also recently went EOL.

@micheles
Copy link
Owner

Yep, I will have to drop support for the versions that I cannot test with the actions.

@hugovk
Copy link
Contributor Author

hugovk commented Aug 23, 2023

I've pushed a couple of commits to drop 3.5 and 3.6.

The first is the simple removal, and the second runs the pyupgrade tool to update the syntax for 3.7+.

@hugovk hugovk changed the title Add support for Python 3.12 Add support for Python 3.12 and drop EOL 3.5-3.6 Aug 23, 2023
@micheles
Copy link
Owner

micheles commented Aug 23, 2023

I did not know about the pyupgrade tool. I am not sure I am happy. When I said "I will remove the support for python 3.5, 3.6" I meant I will not support anymore users having issues with older versions of Python, not "I will intentionally break the decorator module for people using old versions", which is what pyupdate is doing. That is not nice.

@hugovk
Copy link
Contributor Author

hugovk commented Aug 23, 2023

Ah, sure, I'll drop the last two commits.


"I will intentionally break the decorator module for people using old versions"

This won't happen because python_requires='>=3.7' means pip won't install for people with 3.5 or 3.6, so when they install they'll get the last release supporting them (e.g. 5.1.1).

And personally I find it risky to claim to support a version but not test it -- a change could inadvertently break something but it won't be caught until after it's been released and starts breaking for people.

@hugovk hugovk changed the title Add support for Python 3.12 and drop EOL 3.5-3.6 Add support for Python 3.12 Aug 23, 2023
@micheles
Copy link
Owner

I was not clear. I am happy with your changes (requires>=3.7 and changing the docs saying that only >= 3.7 is supported), I was not happy with pyupgrade which is gratuitously breaking the syntax. The old string formatting syntax works, AFAIK is not deprecated, and there is no need to change it. Then somebody can just copy the module, put on his Python path and it would work even with old versions of Python. I will not claim to support them, but I will not actively break them.

@hugovk
Copy link
Contributor Author

hugovk commented Aug 23, 2023

Sure thing! Please let me know if you'd like any other changes :)

@micheles micheles merged commit 4153d8a into micheles:master Aug 23, 2023
12 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