Software

For real this time, get your butt off Python 2: No updates, no nothing after 1 January 2020

'Let's not play games,' says lang dad Guido van Rossum


Python 2 will sunset on January 1st 2020 – however, many applications have not yet upgraded to version 3, causing the coding lingo's team to mount a communications campaign to persuade devs to port their code.

Python is the third most popular programming language after JavaScript and Java, according to Redmonk. Its use has been boosted by the strong interest in machine learning, for which Python is well suited, thanks in part to its various AI-related libraries and frameworks.

Python 2.0 was released in 2000, and Python 3.0, which is not fully backwards compatible, in 2008. The last version of Python 2.x, 2.7, was released in July 2014.

When Python 3.0 came out, the team stated that 2.0 would not be maintained after 2015. Many did not upgrade so the date was moved back to 2020 in order to "relieve worries for those users who cannot yet migrate".

Now is the time for them to worry. In March 2018, Python inventor Guido van Rossum remarked:

Let's not play games with semantics. The way I see the situation for 2.7 is that EOL is January 1st, 2020, and there will be no updates, not even source-only security patches, after that date. Support (from the core devs, the PSF, and python.org) stops completely on that date. If you want support for 2.7 beyond that day you will have to pay a commercial vendor. Of course it's open source so people are also welcome to fork it. But the core devs have toiled long enough, and the 2020 EOL date (an extension from the originally annouced 2015 EOL!) was announced with sufficient lead time and fanfare that I don't feel bad about stopping to support it at all.

The Python Software Foundation is sufficiently concerned about the amount of Python 2.x code still in use that it contracted last month with Changeset, a consulting company that offers "short term project management services for free and open source software projects", to "help communicate about the sunsetting of Python 2".

"Many institutions and codebases have not yet ported their code from Python 2 to Python 3. And many of them haven't even heard yet about the upcoming EOL," says Changeset's statement.

One of the goals was to create a page on python.org to give community guidance, and this perhaps is why a post called Sunsetting Python 2 has now appeared.

The post states that while "we did not want to hurt the people using Python 2", getting them to port their code is necessary in order to avoid holding back Python 3 because of the effort required to maintain Python 2.

The post also spells out what will happen on 1 January. There will be no volunteer help "if people find catastrophic security problems in Python 2 or in software written in Python 2". Support will only be available from commercial vendors. There are also links to helpful guidance on porting, including this post, which also features an explanation of why so much Python 2 code is still in use:

The introduction of Python 3 was chaotic; there are still strong arguments in both the Python 2 and Python 3 camps. Regardless of what side you take, the ones suffering the most from this are users (starting with the fact that inevitably some libraries will stop supporting for Python 2 and release Python 3 only library).

No more arguments now, just get on and port the code, OK? ®

Send us news
120 Comments

Over 170K users caught up in poisoned Python package ruse

Supply chain attack targeted GitHub community of Top.gg Discord server

And now for something completely different: Python 3.12

Nobody expects more flexible string parsing

Microsoft drops official support for Python 3.7 in Visual Studio Code

Should still work for the foreseeable future, but rely on it at your own risk

Pope tempted by Python! Signs off on coding scheme for kids

In the name of the firewall, the server, and the home page default, amen

This profiler chatbot promises to help speed up your Python – we can believe it

Scalene, Scalene, Scalene, Scalene, I'm beggin' of you please improve my code

Microsoft teases Python scripting in Excel

Snakes on a dataframe

SBF on trial: The Python code that allegedly let Alameda hedge fund spend people's FTX deposits

And Caroline Ellison says she was told by Bankman-Fried to take $10B from customer accounts

Sneaky Python package security fixes help no one – except miscreants

Good thing these eggheads have created a database of patches

Fed up with Python setup and packaging? Try a shot of Rye

For those envious of Rust and Cargo

Modular finds its Mojo, a Python superset with C-level speed

LLVM champ Chris Lattner is at the helm, so consider us intrigued

This malicious PyPI package mixed source and compiled code to dodge detection

Oh cool, something else to scan for

PyPI subpoenaed: US govt demands data on developers

Python package packhouse ponders privacy position