Defining a Python release support policy #41
mpounsett
announced in
Announcements
Replies: 2 comments 2 replies
-
Here's what I think:
If it were up to me, I would probably support only Python 3.5 and newer, maybe even 3.6. |
Beta Was this translation helpful? Give feedback.
1 reply
-
What new features do you use out of curiosity? Except a few things that were added to |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm considering what the project policy should be around Python version support. I'm going to share my ideas about this, but I'm interested in getting some community feedback before I take action.
The main issue that I want to address is that there are language features that I would like to be able to take advantage of, but can't, because they are not available in older versions of Python. There is a secondary issue of needing to run tests on all the supported Python versions. That not only takes time, but also requires anyone making contributions to have many Python versions installed in their environment. Due to dependency requirements, I can no longer install Python 3.4 on my Mac laptops, which means I need to run those tests on another platform, which is irritating and messes with my "test before committing" workflow.
I'm considering the blanket policy that this project supports any Python release which is currently supported by the Python project. This would be any release in the Active Python Releases table which has not reached its End Of Support date. I see two potential problems with this blanket policy:
The policy would immedaitely result in dropping Python 2.7 support, but I don't know what the Python 2.7 use of
nagiosplugin
is still like. Are people still deploying it in Python 2.x environments?If they are, then I need to consider what's involved in dropping Python 2.x support. This might mean waiting for
nagiosplugin
2.0, since dropping a supported language version could be argued to be an API-breaking change, depending on how you read the rules of semantic versioning.I know some OS releases don't keep up with language releases very well.
I can't think of current examples, but I know there have been times in the fairly recent past where I was supporting Linux server deployments running distributions with out of support releases of Python as the system Python release. If this problem is still cropping up in any of the Unixes or in Windows then of course a policy such as the above would be problematic.
If I need to support Python releases beyond their End of Support, I would need some other objective measure by which to decide when a release can be dropped. I don't know what that would be, so if anyone thinks the suggested policy is a bad idea, I would like to hear from you about what other measurable thing I could use to decide how long a Python release needs to be supported.
Thanks for your time reading this, and thanks in advance for any comments or input.
Beta Was this translation helpful? Give feedback.
All reactions