This article is more than 1 year old

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 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 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? ®

More about

More about

More about


Send us news

Other stories you might like