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

Deprecate Python 2.7 #417

Open
Ashex opened this issue Nov 21, 2019 · 6 comments
Open

Deprecate Python 2.7 #417

Ashex opened this issue Nov 21, 2019 · 6 comments
Milestone

Comments

@Ashex
Copy link
Collaborator

Ashex commented Nov 21, 2019

Python 2.7 EOL is fast approaching and which is leading to some fun things like pytest dropping support leading to our travis job failing.

Things to address including the following:

  • Remove 2.7 specific code
  • Update tests to not compensate for 2.7 behavior
  • Update dependency requirements to leverage current versions
@pastorhudson
Copy link
Contributor

I’m in favor of dropping legacy python 2.7. It’s only going to get worse as more packages drop support and people embrace f strings and walrus operators.

@Ashex
Copy link
Collaborator Author

Ashex commented Nov 21, 2019

The arguments against deprecation in #395 were heavily focused on supporting legacy environments or systems that couldn't run 3.x so I'd suggest that we have two releases, one being the last release with "official" 2.7 support and the following completely dropping it.

I'd consider that former release to be after we get some pending PRs merged then we can work on cleaning things up for the latter.

This would allow us to point users to a specific release if they desperately need to stay on 2.7.

@pastorhudson
Copy link
Contributor

pastorhudson commented Nov 21, 2019

@Ashex I'm in favor of that path. I know @skoczen really wanted to keep 2.7 support, but I know I'm not likely to contribute PR's from my branch if I have to make sure it works in 2.7. I've already dropped 2.7 from my CI.

Since @skoczen said he would need a really compelling reason, here's my thoughts.

  • Python 2.7 will not be maintained past January 1, 2020 https://pythonclock.org/
  • @skoczen said the foothold in the sciences for python 2.7 is real and not moving anytime soon, but both Numpy and Pandas are dropping support.
  • There is a huge list including requests, matplotlib, ipython, cherrypy, and pytest that have committed to dropping support for 2.7 in or before 2020.
  • @chillipeper mentioned Centos and Mojave, but Redhat 8 will not ship with python 2.7, and 2.7, is being deprecated in macOS 10.15 Catalina and not included in macOS 10.16
  • According the the Jetbrains 2018 Developer Survey 84% of developers reported using python 3+ with only 16% using python 2.
  • According to the Jetbrains 2019 Developer Survey 87% of developers use python 3 while only 13% use python 2.
  • My first line of python was written in 3+. With the incredible fast growth of python in the last few years, there's a lot of python devs that have only used 3+. To insist that we learn legacy python to contribute means we probably won't contribute.
  • I want to contribute to this project. It really feels good to share stuff I've built.

I prefer to stay here, but another option if the community here strongly opposes dropping 2.7 is to fork and have a "will3" repo or branch. Then new features could be borrowed and adapted with the owness on those needing legacy support to make it work on legacy python.

It's hard to convey tone in text. I really appreciate @skoczen and everybody here. This project captured my interest and has played a big role in my development with python. No hard feelings either way

edit: added info about Redhat and Mac
edit2: Added 2018 Python Developer Survey
edit3: Added 2019 Python Developer Survey (Just going for "compelling reasons")

@Ashex Ashex pinned this issue Nov 21, 2019
@BrianGallew
Copy link
Contributor

I'm going to put in my unasked-for $0.02: any organization with compliance requirements is going to be unable to continue using Will once Python-2.7 is officially deprecated ... so, now. I'm searching through the fork network today looking for functional Python3 builds because of this very reason.

Also? The Python2 -> 3 migration has been underway for years at this point.

@Ashex Ashex modified the milestones: 2.x, 2.2 Mar 17, 2021
pastorhudson added a commit to pastorhudson/pcobot that referenced this issue Mar 19, 2021
- Add github actions ci
- Remove 2.7, 3.5 from ci skoczen#417
- Add 3.6, 3.7, 3.8, 3.9 to ci
- Various requirements changes to support current python & fix tests
- Fix flake8 errors
- Bumped Heroku to python-3.9.2. I tested heroku with 3.6, 3.7, 3.8, 3.9 all with the new slack_update and it worked.

Travis is migrating away from travis-ci.org to travis-ci.com and changing how the free tier works. I would support moving away from travis and embracing github actions. But it doesn't hurt anything to run both for now.
@Ashex
Copy link
Collaborator Author

Ashex commented Apr 26, 2021

In case you have not seen recent activity, I'll be cutting a new release 2.2.0 that will drop support for python 2.7. Once I've submitted a PR to resolve #441 I will close this issue out as that's the only remaining item to cover environments being migrated.

@pastorhudson
Copy link
Contributor

@Ashex thank you for all your work on this! Will Lives!

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

No branches or pull requests

4 participants
@BrianGallew @pastorhudson @Ashex and others