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

Consider removing packages that still support Python 2 in Feb 2020 #279

Closed
Zac-HD opened this issue Jan 1, 2020 · 10 comments
Closed

Consider removing packages that still support Python 2 in Feb 2020 #279

Zac-HD opened this issue Jan 1, 2020 · 10 comments

Comments

@Zac-HD
Copy link
Contributor

Zac-HD commented Jan 1, 2020

The combination of prominently listing packages that still support Python 2 (such as Tensorflow and Requests) and saying

We believe that the extra 5 years is sufficient to transition off of Python 2, and our projects plan to stop supporting Python 2 when upstream support ends in 2020, if not before.

has undermined the message for several people I've spoken to. I think it's reasonable to allow a few weeks of extra time - this can be a large change - but then remove packages which still advertise themselves as supporting Python 2.

This will help transition the Python 3 statement from a statement of intent to a statement of what we have done. I'd be happy to provide a pull request implementing the update if that would be helpful 😄

@hugovk
Copy link
Contributor

hugovk commented Jan 1, 2020

The statement says:

For all of these reasons, the following projects have pledged to drop support for Python 2.7 no later than 2020, coinciding with the Python development team’s timeline for dropping support for Python 2.7.

And:

These projects pledge to drop Python 2 support in or before 2020.

So dropping any time during 2020 is consistent.

If any have changed their plans to drop before or during 2020 (did Requests?), then they could be removed.

@hugovk hugovk mentioned this issue Jan 1, 2020
@hugovk
Copy link
Contributor

hugovk commented Jan 1, 2020

Requests now has no immediate plans to drop Python 2.

See psf/requests#5211 and PR #280 to remove it.

@hugovk
Copy link
Contributor

hugovk commented Jan 1, 2020

TensorFlow can stay:

TensorFlow 2.1 will be the last TF release supporting Python 2. Python 2 support officially ends an January 1, 2020. As announced earlier, TensorFlow will also stop supporting Python 2 starting January 1, 2020, and no more releases are expected in 2019.

https://github.com/tensorflow/tensorflow/releases/tag/v2.1.0-rc2

https://groups.google.com/a/tensorflow.org/d/msg/announce/gVwS5RC8mds/dCt1ka2XAAAJ

@takluyver
Copy link
Member

I think I'm happy to have some wriggle room for projects, probably more than 1 month. We've always deliberately left it a bit vague what dropping support means and when projects will do it - when we started this, the end of Python 2 support was just '2020', without a specific day, so I think if projects are stopping Python 2 support this year, they can be on here. Or if that's too loose, maybe the first 6 months?

Obviously if a project's plans have changed, as it sounds like requests' have, and they're planning to continue 2.7 support for longer, it's reasonable to remove their names.

@mscuthbert
Copy link
Collaborator

I think that ideally we would write a script (happy to help write, but not this very day) that would:

  • Find the/a maintainer for each project listed
  • Email her or him congratulating them for helping to make the transition to Py3 so successful
  • Remind them that by signing on to the Python3Statement that they have made a public commitment to dropping support for Python 2 before or during 2020.
  • Thanking them if that have already done so or plan to do so during this year.
  • Letting them know if they've changed their mind to open an issue at URL asking to be removed from their pledge, which we will of course honor.

A fancy version would look at recent pip version for those that are packages and filter out ones that already list Py3 required -- but then again, it's not only that we are asking for the latest version to be Py3 only but that support for Python 2 is "dropped" whatever that means to the project, so it's not something that can be totally automated.

@takluyver
Copy link
Member

I'd be open to that, though I'd like a chance to read the wording before anyone starts firing off emails. Obviously it should be a one-off thing, to respect maintainers' time.

Maybe rather than scripting it, we should just use a wiki page or something to organise people personally contacting each project for the same purpose. That might allow for a more personal approach.

@Zac-HD
Copy link
Contributor Author

Zac-HD commented Jan 3, 2020

IMO the right place for a script is in grabbing the list of all projects that have signed, and filtering out those that currently have python_requires excluding Python 2 on PyPI.

Then manual filtering and human contact only for the rest.

@Zac-HD
Copy link
Contributor Author

Zac-HD commented May 7, 2020

I'm closing this issue because it seems to me that the Python community has actually moved on from talking about Python 2!

In January there was a fair amount of noise about EoL, but far less with the final release of 2.7 in April. Py2 is not gone yet, but package download stats show it's on the way out... and more importantly, I no longer see arguments about updating.

@Zac-HD Zac-HD closed this as completed May 7, 2020
@hugovk
Copy link
Contributor

hugovk commented May 7, 2020

Some more download stats showing 2.7 on the way out:

@Zac-HD
Copy link
Contributor Author

Zac-HD commented May 7, 2020

I'm looking more at absolute than proportional numbers, but that's still pretty impressive... 40% in Jan to 30% now!

I really can't wait to see the PSF survey results for 2020, only 10% of respondents used Py2 in ~October 2019 and the trend seems to have accelerated.

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