| title | bg |
|---|---|
archive |
white |
This page is now an archive of part of the transition from Python 2 to 3.
By around 2015, when Python 2 support was originally planned to end, many important Python libraries and tools supported Python 3. But Python 2 still had a lot of users, and projects needed to support both major versions. The end of Python 2 support was postponed to 2020, and some people argued that development of Python 2 should resume. It seemed like a real possibility that the end date would be postponed again, and we'd need to support two versions of the language indefinitely.
The Python 3 statement was drawn up around 2016. Projects pledged to require Python 3 by 2020, giving other projects confidence that they could plan a similar transition, and allowing downstream users to figure out their options without a nasty surprise. We didn't force people to move to Python 3, but if they wanted to stick with Python 2, they would stop getting new versions of our projects. The focus was originally on the scientific Python ecosystem, with Jupyter and matplotlib among the first projects involved, but in late 2017 it was expanded to any Python projects. A rapidly growing number of projects signed up as we approached 2020.
The long-term transition we hoped for has succeeded: in 2024 it is entirely normal for projects to support only Python 3, simplifying maintainers' lives and letting us take full advantage of newer language features.
Thank-you to all of the people, in projects big and small, who contributed their support to the statement!