will icon indicating copy to clipboard operation
will copied to clipboard

Deprecate Python 2.7

Open Ashex opened this issue 5 years ago • 6 comments

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

Ashex avatar Nov 21 '19 10:11 Ashex

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.

pastorhudson avatar Nov 21 '19 12:11 pastorhudson

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.

Ashex avatar Nov 21 '19 15:11 Ashex

@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")

pastorhudson avatar Nov 21 '19 16:11 pastorhudson

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.

BrianGallew avatar Apr 02 '20 16:04 BrianGallew

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.

Ashex avatar Apr 26 '21 15:04 Ashex

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

pastorhudson avatar Apr 27 '21 13:04 pastorhudson