Python 2 end-of-life and the packages feed

As previously announced, the Python package maintainers and the packages feed team have been discussing how to handle the transition from Python 2 to Python 3.

The transition policy / schedule has been mostly finalized and is documented in the Python packages folder README, in the packages feed GitHub repo.

Here is the relevant section from the README:


Python 2 end-of-life

Python 2 will not be maintained past 1 January 2020. As such, we will be transitioning Python 2 programs and libraries to Python 3, and Python 2 packages will be removed in early 2020.

(Discussion for how to handle this transition can be found in #8520.)

Transition policy / schedule

A mass removal event ("The Snap") will occur on 31 March 2020, or 2 weeks before the freeze for a 20.x release, whichever is sooner. The exact date will be confirmed when the 20.x release schedule is known, or by 15 March 2020.

All Python 2 packages (the Python 2 interpreter, programs that depend on Python 2, and Python 2-only libraries) will be removed during this event.

Leading up to "The Snap":

  • In general, new Python 2 packages are no longer accepted

    • Exceptions can be made on a case-by-case basis, given extraordinary circumstances or reasons, until 31 May 2019
    • From 31 May 2019 onward, absolutely no new Python 2 packages will be accepted
  • The Python 2 interpreter will remain in the feed until "The Snap"

    • The interpreter will continue to be updated, including the last release in January 2020 (if there is one)
  • Programs that depend on Python 2 will be transitioned to Python 3 (see #8893)

    • If a program cannot be transitioned, a suitable replacement will be found
    • If a replacement cannot be found, the program will be removed during "The Snap"
  • Python 2 libraries will remain in the feed until "The Snap"

    • A Python 2-only library will be transitioned to Python 3 (or a suitable replacement found), if its Python 3 version is a dependency of another package in the feed
    • Python 2 libraries will receive normal updates until 31 October 2019
    • From 31 October 2019 onward:
      • Python 2-only libraries will receive security updates only
      • Python 2 libraries that share the same Makefile as their Python 3 version will continue to receive normal updates
1 Like