The final official release of Python 2 arrived on Tuesday, marking the end of two decades of work.
Python 2.7.18 "is the last Python 2.7 release and therefore the last Python 2 release," said Benjamin Peterson, release manager for Python 2.7, in a post to the community mailing list. "It's time for the CPython community to say a fond but firm farewell to Python 2."
Or as he said, somewhat more forthrightly, via Twitter, "I'm washing my hands, scrubbing hard, of Python 2."
The terminal iteration was supposed to coincide with PyCon 2020, scheduled to be held this month in Pittsburgh, Pennsylvania, but that's now a virtual event thanks to the once novel and now rather tiresome coronavirus.
When Python 3 debuted in 2008, it didn't play nicely with version 2, which first appeared in 2000.
The schism took shape in April 2006 when Python creator Guido van Rosum published PEP (Python Enhancement Proposal) 3000, which outlined the changes planned for version 3 and declared, "Python 3.0 will break backwards compatibility with Python 2.x."
And so Pythonistas began a slow transition toward the more modern version of their programming language, just as its popularity ballooned.
In its early days, Python was often referred to as a "glue" language, used by system administrators for writing small scripts to automate tasks and interact with applications written in a more serious language like Java.
While it's still dismissed for high-performance applications, Python is now widely used in production at major companies, in machine learning systems, in academic and security research, and for general purpose programming.
It consistently ranks among the top three programming languages in various surveys. It's not the best tool for every job – Python isn't particularly well suited for writing mobile apps, for example – but it's a good one for many.
Initially, the Python community thought it could manage the switch from Python 2 to 3 by 2015, but that timeline proved too optimistic. It wasn't until the start of this year that the Python 2.7 branch was frozen and the Python Clock stopped ticking.
At this point, it would be difficult to justify starting a Python 2-based project. Most of the major Python libraries listed in the Python Package Index (PyPI) now support version 3. And Python developers have largely agreed to stop supporting version 2.
Yet Python 2 isn't dead. It's likely to linger on for a decade or more. Red Hat has committed to supporting it for RHEL 8 customers until 2024. Canonical will support Python 2 on Ubuntu 18.04 LTS until April 2023.
Enterprise demand for Python 2 may be enough to sustain a support market or perhaps to prompt a fork of the now dormant Python 2 code base in order to fix bugs or implement a necessary feature.
Python 2, we wish we knew how to quit you. ®