-
Notifications
You must be signed in to change notification settings - Fork 633
Python 3.7, 3.8, 3.9, or 3.10 as minimal version #1220
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
Comments
First of all, thank you @keelung-yang for your overview! However, I still hold the position that dropping 3.7 or even 3.8 would not help the library significantly. In general, I'm totally for dropping support for old platforms/tools/... as soon as they reach EOL or newer versions offer great new features. That was certainly the case for 3.6 which added f-strings and syntax for variable annotations, which greatly helped with maintainability! However, I don't see much benefit from dropping support for a platform that we supported until a week before a huge release. The features we would get by going 3.9+:
I am aware that this is my subjective opinion. I would feel different about this if there would have been a release earlier in the support of the "old" Python versions 3.7-3.8. Once we have 4.0.0 (and maybe a first maintenance release) out, we can still think about using the features you list above. |
I propose continuing the discussion once 4.0.0 is out. @keelung-yang you are right in that we should discuss this, so we should leave this open! |
Related: #1234 |
Here are Python life cycles from https://endoflife.date/python Update1: As described in above link,
And Python 3.7 ends in 1 year and 3 months. Update2: |
Does this repository follow semantic versioning? It seems to me that changing the minimum functioning Python version is akin to an API deprecation. API deprecation should only occur on major releases. This may be the kind of thing that an issue should be opened and named "Planned deprecations for v5.0" see example here. Perhaps this should be moved to a "v5.0" milestone? I understand that NumPy changed their minimum Python version on release I have commented on @keelung-yang's original post about the cons of continuing support for Python 3.7 in the next minor release of v4 below:
This package is not dependent on NumPy. Thankfully, the dependencies are minimal. This becomes extremely relevant when trying to run this package on an obscure chip architecture that does not have a pre-built Python installation or associated Conda distribution. Flexibility for the user is not a con.
This may be a reason to bump from 3.7 to 3.9 and skip 3.8 entirely, but at the next major release.
Yes, we cannot use the walrus
This is not a con. This is defining what it means to support Python 3.7. |
(I'll retreat from this discussion as I did from the project in general) |
I understand that an argument could be made that Python 3.7 to 3.8 is a minor release, so in the next minor release it should be sufficient to change the minimum available Python version. However, I'm not sure what |
@hardbyte Is this also a discussion? |
Hi,
This is continued discussion of Python3 at the end of #528 which is about Python2.
I summary pros and cons dicussed in #528 and important features in official What's new in Python 3.X
Python 3.10
Pros:
Cons:
Python 3.9
Pros:
Cons:
Python 3.8
Pros:
Cons:
Python 3.7
Pros:
Cons:
Also, asyncio module is almost improved in each main version of Python.
So, in personlly, I prefer Python 3.9 or 3.8 as minimal supported version.
The text was updated successfully, but these errors were encountered: