-
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
Drop Python 2.7 support for master. #4439
Comments
I would rather drop python 2.x for 2.0. This would allow us to switch to async/await and improve a lot readability debugability and efficiency. What should be feasible imho is to have a installer script which would automatically convert async/await code to inlinecallbacks for compat with 3.5. |
Oh, even better. The async/await conversion is a great idea! |
Let's keep it open for discussion. I created an email to users@buildbot.net |
From email:
I would vote for this approach. Given that buildbot has quite good test coverage, it wouldn't be hard to maintain it except for rewriting python 3.x-specific stuff for 2.7 when backporting. |
Thinking about it more, if we decided to have an LTS, wouldn't be dropping older python 3.x versions that don't support async/await a good idea from maintainability perspective too? Python 3.5.0 is already 3 years old and all LTS releases of major Linux distributions have at least that version. Ubuntu 18.04 LTS: python 3.6.5 Any users who can't upgrade could just use 1.7.x. |
RHEL 8 had a beta release with:
|
We had some discussion for ideas on dropping Python 2.7 support here: https://supybot.buildbot.net/meetings/buildbot/2018/buildbot.2018-09-04-16.00.log.html#l-100 |
I suggested a timeline for dropping Python 2.7 support: https://lists.buildbot.net/pipermail/users/2018-November/001756.html I also recommended updating the https://buildbot.net web site to put a warning deprecating Python 2.7 support |
Looking at the telemetry, we still have 70% of the significant installs (> 1 builder) which is python 2.7, seen over the last 90 days. I am adding a warning at Buildbot start Some suggested also on the documentation, which is the most looked at content, probably more than |
Not surprising, if |
edited original issue to reflect what was decided in meeting |
Python 3 is being requested for inclusion into RHEL/CentOS 7 base: https://bugzilla.redhat.com/show_bug.cgi?id=1639030 |
Random passerby here, but maybe time to retire or at least update the webpage banner, given this issue is well over 4 years old and 2.0.0 was released just over 4 years ago now? Alternatively, is there a reason Python 2.7 (and 3.5-3.7) support is still shown in the site banner? 3.7.0, the PyPI version also listed there, lists support for only 3.7-3.9 (and I'm assuming it supports newer (as we're using it up through CPython 3.12) and the tags are missing). Unless there is a pre-2.0 LTS release that is still supported? |
I assume the trove classifiers haven't been updated to mention newer Python versions (we also use it for newer versions, but aren't on Python 3.12 yet), but for 2.7 that might be left there because the build workers I believe still support Python 2? I'm not sure when that is planned to be dropped, but it seems 2.7 is starting to be slowly pulled from things and it may make sense to drop 2.7 on the worker in addition to the master. I agree though, that the banner can probably be dropped or changed to reflect that this is in the past i.e. "Buildbot dropped support for Python 2.7 for the master [More Info]" |
Reasonings:
Python 2 is going unmaintained as soon as 2020: https://pythonclock.org/
Maintaining compatibility for both python2 and python3 is expensive resource wise
Will allow to use python3 features like async/await, which adds a big performance boost for asynchronous apps like Buildbot
Timeline
Buildbot 2.0 is planned to be released on February 2019.
This version will drop support for 2.7 in the master.
Buildbot 1.7 and 1.8 will contain loud warning for python2 users at Buildbot start to invite them to upgrade.
Original issue:
The text was updated successfully, but these errors were encountered: