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

EOL for Python 2 #8463

Closed
bryevdv opened this issue Nov 28, 2018 · 12 comments
Closed

EOL for Python 2 #8463

bryevdv opened this issue Nov 28, 2018 · 12 comments

Comments

@bryevdv
Copy link
Member

bryevdv commented Nov 28, 2018

This issue is to discuss the timeline for dropping Python 2 support. The draft BEP is here:

https://github.com/bokeh/bokeh/wiki/BEP-5:-Python-2-Support-Timeline

Comments, edits, suggestions for additions or changes are welcome, including discussion of the substance of the proposal.

cc @bokeh/core @pzwang

@bryevdv
Copy link
Member Author

bryevdv commented Nov 28, 2018

Just to timebox things: Absent and objections or unresolved comments/dicussions, I will plan to close this issue and mark the BEP as accepted (and sign the Python 3 statement) on Friday December 7.

@mattpap
Copy link
Contributor

mattpap commented Nov 28, 2018

(...) and sets Python>=3.4 as the minimum supported Python version.

This is way too low in my opinion. I would consider 3.5 or even 3.6 as a more viable minimum version, because 3.5 adds e.g. typing module and 3.6 adds variable annotations. However, given that 3.8 is scheduled to be released for October 2019, I would even consider 3.7. These days there isn't much excuse for people for not upgrading their Python within the 3.x branch.

@bryevdv
Copy link
Member Author

bryevdv commented Nov 28, 2018

These days there isn't much excuse for people for not upgrading their Python within the 3.x branch.

I think we have to be fairly conservative here. Many users are subject to bureaucratic constraints imposed by their work or organization. Python 3.3 was EOLed last year but I can't find anything stating a planned date for 3.4 EOL yet. It will be 5+ years old next year though. I think we could possibly consider 3.5 as a minimum but I'd like to see:

  • thoughts from several people about this
  • information about whether many/any other PyData projects are moving to 3.5 min

@ivan-usov
Copy link
Contributor

ivan-usov commented Nov 29, 2018

EOL of currently active python versions can be found on devguide:
https://devguide.python.org/#branchstatus

But all those planned EOL dates can still be adjusted (according to their statement "Dates in italic are scheduled and can be adjusted.")

For a project/library with a large user base it's probably nice to support all currently active python branches.

@mattpap
Copy link
Contributor

mattpap commented Nov 29, 2018

https://devguide.python.org/#branchstatus

Based on this, the EOL for 3.4 is 2019-03-16 (I will take it as the final date; I expect extensions would be done reasonably early before such deadline, say half a year before). So we can safely increase the version to 3.5.

Besides EOL, every release has a status assigned. 3.4 and 3.5 currently have security status assigned, which means "only security fixes are accepted and no more binaries are released, but new source-only versions can be released". I would presume that users of such old Python versions shouldn't expect new versions libraries with new features and non-security related bugfixes. I don't see a point punishing majority of our users for a few, slowly adopting ones, unless my statistic is wrong and such users aren't a minority. So I would say that Python 3.6 is the minimum version we should support.

@bryevdv
Copy link
Member Author

bryevdv commented Nov 29, 2018

Python 3.5 is as low as I would want to consider, and only on the basis that 3.4 should be officially EOL by then.

@birdsarah
Copy link
Member

+1 for being conservative. As someone who works for an organization with a lot of 2.7 I have new found perspective on the dilemmas here. Not that a bokeh decision would bump into the specific mozilla cases that i'm aware of, just a new appreciation on not alienating users.

@bryevdv
Copy link
Member Author

bryevdv commented Dec 3, 2018

@birdsarah do you have and specific opinion about 3.4 vs 3.5?

@bryevdv
Copy link
Member Author

bryevdv commented Dec 4, 2018

@bokeh/dev reminder that I intend to execute this BEP on Friday absent any unresolved issues. Currently I think the only question (maybe?) is 3.4 or 3.5? Are there any strenuous objections using 3.5? It will be EOL by then and has already been dropped off Anaconda distributions.

@bryevdv
Copy link
Member Author

bryevdv commented Dec 13, 2018

I have made the issue to request Bokeh's inclusion:

python3statement/python3statement.github.io#161

@mscuthbert
Copy link

My sense is that Python 3.4 usage has dropped to quite insignificant levels. When I dropped support for it for my project (music21) I heard nary a peep from users. I think that three previous versions (3.7, 3.6, 3.5) is enough to support while still getting to take advantage of new paradigms. Even if bokeh wants to support four versions, by the time of the release this would probably be 3.5–3.8.

@bryevdv
Copy link
Member Author

bryevdv commented Dec 13, 2018

@mscuthbert thanks for the useful information about your project. FYI I did update the BEP to state python 3.5 as I was marking it "Implemented". We can certainly leave some room to re-evaluate things at the time next year, but I expect the situation then will track your experience, and 3.5 with stay as the most appropriate choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants