Hello Everyone –
We’ve spoken about Python 2 support across various posts, libraries, changelogs, and announcements over the year. This post provides some background on our decision to sunset Python 2 support and our timeline for doing so.
Timeline
Plotly.py
Plotly.py has dropped support for Python 2 in plotly.py 5.0 on June 23, 2021.
Dash
Dash will drop support in the forthcoming Dash 2.0 release later this month.
Dash Enterprise
Dash Enterprise will no longer support Python 2 in the forthcoming Dash Enterprise releases in Fall 2021.
This includes:
- The version of Python that can be specified within apps via
runtime.txt
- Support for Python 2 in various Dash Enterprise libraries:
dash-design-kit
,dash-snapshots
,dash-embedded
,dash-notes
,databricks-dash
.
Background
We try our best not to introduce any breaking changes into our software. So, we’ve supported Python 2 far longer than many other libraries and the Python Software Foundation itself.
However, supporting old versions of Python incurs its own cost in our development, testing, and maintenance. Continuing to support old versions of Python prevents the community from “moving on” and therefore passes on this cost to the rest of the community packages & maintainers.
From the Python Software Foundation:
We needed to sunset Python 2 so we can help Python users by improving Python faster.
We released Python 2.0 in 2000. We realized a few years later that we needed to make big changes to improve Python. So in 2006, we started Python 3.0. Many people did not upgrade, and we did not want to hurt them. So, for many years, we have kept improving and publishing both Python 2 and Python 3.
But this makes it hard to improve Python. There are improvements Python 2 can’t handle. And we have less time to work on making Python 3 better and faster.
And if many people keep using Python 2, then that makes it hard for the volunteers who use Python to make software. They can’t use the good new things in Python 3 to improve the tools they make.
We did not want to hurt the people using Python 2. So, in 2008, we announced that we would sunset Python 2 in 2015, and asked people to upgrade before then. Some did, but many did not. So, in 2014, we extended that sunset till 2020.
The Python Software Foundation dropped support for Python 2 19 months ago on January 1st, 2020:
As of January 1st, 2020 no new bug reports, fixes, or changes will be made to Python 2, and Python 2 is no longer supported.
If people find catastrophic security problems in Python 2, or in software written in Python 2, then most volunteers will not help fix them. If you need help with Python 2 software, then many volunteers will not help you, and over time fewer and fewer volunteers will be able to help you. You will lose chances to use good tools because they will only run on Python 3, and you will slow down people who depend on you and work with you.