-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
ci: remove python3.8, which is eol #8115
Conversation
Mic92
commented
Oct 11, 2024
•
edited
Loading
edited
- also see https://devguide.python.org/versions/
- python3.8 doesn't support subscribed types, which makes it difficult to use with typing
- many Linux distribution won't offer this python version anymore, because it no longer receives any security fixes
- even Debian oldstable has python3.9 as default
Not related to dropping support for py3.8.
I see no reason not to use |
One thing to consider when supporting these old python versions is, that one is basically expect from contributors to install unmaintained, potentially insecure libraries. |
The only disadvantage I found so far is that it might break libraries that try to introspect on type hints. Likely not used in this project. i.e. if you get member field types from a dataclass it would than return a string instead of the type object. |
From https://peps.python.org/pep-0563/#resolving-type-hints-at-runtime
Since: def func() -> "int":
return 0 is the same as: from __future__ import annotations
def func() -> int:
return 0 Since string types are already used (example here), any library that does not correctly introspect would be already broken. There are other advantages to the annotations future, but I'll stop here as it's not really the subject of this PR. |
I would weakly prefer to keep python 3.8, because Ubuntu 20.04 LTS still supports it. Maybe using |
I guess the annotations stuff is enough to continue to support version-impaired distributions for now. |
But how long do we want to keep supporting this? Ubuntu 20.04 goes EOL in 2030-04. I am hoping to use newer python features before that. |
I think waiting until the standard support ends at around 2025-04 would make sense. |
In reality buildbot 4.1 will be released sometime this month and buildbot 4.2 will be released around end of the year. So after that we can already merge this PR. |
Master parts of this PR could go in, but the branch has been removed :/ |
I will try to restore. |
@p12tic feel free edit as you want. Might be short of time till end of the year for this line of work. |
ce74ad2
to
07762d5
Compare
Rebased. |
- also see https://devguide.python.org/versions/ - python3.8 doesn't support subscribed types, which makes it difficult to use with typing - many linux distribution won't offer this python version anymore, because it no longer receives any security fixes - even debian oldstable has ptyhon3.9 as default Modified-by: Povilas Kanapickas <povilas@radix.lt>
Rebased and fixed a couple of errors |