public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [RFC] Python 2.7 & PyPy 2.7
@ 2019-11-19 14:30 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2019-11-19 14:30 UTC (permalink / raw
  To: gentoo-dev; +Cc: python

[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]

Hi,

TL;DR: I'd like to propose starting to eliminate PyPy2.7 support
in packages soonish, and non-critical features for Python 2.7.


As you probably already know, Python 2.7 is going EOL by the end
of the year [1].  Upstream is planning to make one more security release
mid-April but that's it.  I don't think we're going to remove
the interpreter itself anytime soon but...

A growing number of projects are dropping support for Python 2
and starting to be 3-only [2].  Of big influential packages this
includes IPython, pytest, sphinx, tox.  The packages in the middle have
huge numbers of revdeps.  Right now, their users are usually preventing
from downgrading due to py2 revdeps, and our work is becoming
increasingly harder.

Now, PyPy upstream is not planning to kill PyPy2.7 anytime soon [3]. 
However, it will still be affected by packages losing support
for Python 2, and given its compatibility problems existing already,
this will become even worse.  PyPy3 is actually better in both regards.


All this considered, I'd like to propose the following:

1. We'd keep Python 2.7 and PyPy 2.7 interpreters for as long as we can
feasibly can.  Even after the last upstream release, we should be able
to keep it as long as people supply patches to keep it working.

2. We'd start sunsetting PyPy 2.7 support in packages real soon.  It's
quite a hassle already, due to its incompatibilities with CPython 2.7,
and we just don't have the manpower to keep supporting it.  PyPy 3.*
target will continue being supported.

3. We'd start sunsetting Python 2.7 for non-critical features.  For
example, packages using Sphinx to build documentation will slowly start
requiring Python 3.x to do that.  This will make it possible for more
people to upgrade to newer package versions, without py2 revdeps holding
them back.

4. Once PyPy2.7 target is gone and more packages lose py2 support, we'd
remove Python 2.7 from default PYTHON_TARGETS.  Py2-only packages will
now get 2.7 implicitly enabled via IUSE defaults (as the only target
available), and their deps can have them enabled via package.use in
profils.


WDYT?


[1] https://www.python.org/dev/peps/pep-0373/#update
[2] https://python3statement.org/#sections40-timeline
[3] https://pypy.readthedocs.io/en/latest/faq.html#how-long-will-pypy-support-python2

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-11-19 14:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-19 14:30 [gentoo-dev] [RFC] Python 2.7 & PyPy 2.7 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox