News for hackers. Stuff that matters.
Re:Pip has dropped support for Python 2 by antpls on Sunday January 24, 2021 @04:59AM (#25890764)
I understand the benefit in theory, but in practice, you had two options :

- the codebase had to be modified to work on both versions at the same time

- you had to maintain two versions in different branches for a while

Is there any data to show which options was most often chosen amongst all pypi packages? I suspect that the second option was more popular for the most important packages of the ecosystem

Re:Pip has dropped support for Python 2 by lopuhin on Sunday January 24, 2021 @05:29AM (#25890896)
The first option was by far the most popular and was used for years (including pip), only recently packages started dropping python 2 support. I'm not even aware of any packages which went with the second.
Re:Pip has dropped support for Python 2 by pseudalopex on Sunday January 24, 2021 @05:53AM (#25891009)
They made option 1 possible because people complained about option 2.

six was the #2 package on PyPI.[1] It's a library to help with option 1.

[1] https://python3wos.appspot.com/

Re:Pip has dropped support for Python 2 by masklinn on Sunday January 24, 2021 @08:47AM (#25891989)
> I suspect that the second option was more popular for the most important packages of the ecosystem

You're 100% wrong. The few packages which decided on option 2 early on (e.g. dateutil) ended up having to roll back to option 1 because it was such a pain in the ass, both for the maintainer and for downstream users. The migration only really started happening once 2.7 dropped, projects like Six[0] started appearing, and the community started ignoring 2to3 and building up experience with cross-version projects and idioms (e.g. [1], [2])

[0] whose entire point is to help with option 1

[1] https://eev.ee/blog/2016/07/31/python-faq-how-do-i-port-to-p...

[2] https://python-future.org/compatible_idioms.html

Re:Pip has dropped support for Python 2 by user5994461 on Sunday January 24, 2021 @07:26AM (#25891483)
"the codebase had to be modified to work on both versions at the same time"

This. This is the only option.

I can tell you in decades of experience with I don't know how many companies and language, this is ALWAYS the option that is done.