The development and maintenance team behind Python 2 has started the countdown to the end of the popular programming language. In an official statement released today on python.org, the volunteer team that manages the programming language announced they will sunset Python 2 on January 1, 2020.
“That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can,” the team explains.
The end of Python 2 doesn’t mean that Python 2-based applications will no longer work, but they will be more vulnerable to bugs, attacks, and security issues.
The statement doesn’t come as a surprise. In 2014 Python’s creator and principal author Guido van Rossum announced that Python 2.7 would be the last upgraded version, granting developers and programmers five years to migrate from Python 2 to Python 3. There is even a website that counts down the final days of Python 2 as a tribute to its incredible contributions to the programming community.
Python 2 was first released in 2000 with standout features such as list comprehensions and a garbage collection system capable of collecting reference cycles. Python 3 was released in 2008, with better capability and more powerful features. However, because Python 3.0 significantly revamped the Python programming language as it rectified fundamental design flaws, the 2.0 and 3.0 versions are not completely compatible. Python 2’s wide popularity and adoption has kept it in service for many, prompting the Python development team to extend the transition time between Python 2 to Python 3 while improving and maintaining both of the programming languages.
The transition has proceeded relatively smoothly. A 2018 Python developers survey of more than 20,000 Python developers indicated that 84 percent had adopted Python 3. Many projects and platforms have also dropped their support of Python 2 in recent years, such as Numpy, Ipython, Cython, Pandas.
The Python team provided a few links to guide developers and programmers who have not yet committed to Python 3:
- How to Port Python 2 code to Python 3: The official “Porting Python 2 Code to Python 3” guide.
- Specific tools for Python 3: Python 2.7 Readiness, the Python 3 Statement, Python 3 Readiness.
- Tools you need to upgrade to Python 3: Can I Use Python 3?
- Payment options for external support: Vendor list.
For anyone still unfamiliar with Python 3’s exciting features, Los Angeles-based data engineer Vinko Kodžoman has compiled a list of features that might be helpful, covering f-strings, pathlib, type hinting, enumerations, and so on.
The newest Python 3 version, Python 3.8, is in development and its final version is expected to be released this October.
Journalist: Tony Peng | Editor: Michael Sarazen