Python 2.7 To Be Maintained Until 2020
Written by Sue Gee   
Monday, 14 April 2014

The End of Life date of Python 2.7 has been extended by 5 years to 2020 to accommodate users who can't yet migrate to the Python 3. Although some Pythonistas are relieved by this news, others are infuriated because it could slow the adoption of Python 3.

In the very first slide of  his keynote at PyCon 2014, Guido van Rossum, Python's creator and principal author, delivered the very clear message that there will be no Python 2.8 and that where possible Python users and developers should move over to Python 3.4.

 

 

But the Python 2 branch is not going to snapped off just yet. Three more maintenance releases are planned for it: Python 2.7.7 in May 2014; 2.7.8 in November 2014 and 2.7.9 in May 2015 plus bug fix releases beyond this if necessary until 2020.

Python 3.0 was released in December 2008 as a backwards incompatible major release. Subsequently many of its features have been ported into the Python 2 branch and now many Python 3 supporters see the extended support for Python 2.7 as a further disincentive for users to switch to the more powerful, and actively evolving, version of the language.

It is only since January 2013, that is at the start of Python 3's fifth year, that monthly downloads of Python 3.3 finally overtook those of Python 2.7 and in January 2014 a survey of Python developers (see Was Python 3 A Mistake?) revealed that almost 80% of its almost 4,800 respondents currently write more 2.x than 3.x code, even though 60% of them had written 3.x code. So why do users cling to the older branch of Python?

python3

Initially a major factor in sticking with Python 2 was because of the large number of existing libraries for it. Over time, and in the case of Kivy spurred on by a grant from the Python Software Foundation, libraries have either added Python 3 support or have been abandoned.

Library support used to be actively monitored by Donald Stufft on py3ksupport.appspot.com but he closed his site in June 2013 when the download counts on the Python Package Indexer (PyPi) were disabled, pointing out that the need for such monitoring had greatly diminished since he started it two years earlier. He also provided a final snapshot of the situation:

At the time of closing (), 39 of the top 50 projects supported Python 3 (78%). Of the 11 that didn't, 4 were not being actively developed (so I prefer to think of it as 39 of the top 46 projects ported, or nearly 85%).

Similar monitoring is currently undertaken by Yuval Greenfield, aka "ubershmekel" on a site he originally called the Python 3 Wall of Shame, as over half the packages listed didn't support Python 3 but has since had a change of name to reflect the fact that green packages, i.e. those that support Python 3, now predominate.

 

py3wall

Source: http://python3wos.appspot.com/

(click to enlarge)

The site is regularly updated and of the top twenty sites, ranked in terms of number of downloads, only two are red. They are Boto, which provides interfaces to Amazon Web Services and is in the process of adding Python 3 support and Paste which provides tools for using a Web Server Gateway Interface stack. Lower down the list MySQL-Python; gevent, a coroutine-based Python networking library and Twisted, an asynchronous networking framework, stand out as being red. In the case of Twisted much of its functionality is incorporated in the new asynchronous IO support module in Python 3.4.

Another red entry is Natural Language Toolkit (NLTK), but this package it is already at NLTK 3.0a3 - i.e. version 3 of the alpha release of Mikhail Koborov's port that received funding from the Python Software Foundation in 2012.

At that time the PSF blog noted:

For many, NLTK is one of the major remaining roadblocks to Python 3 adoption. Not only will the NTLK port be a boon to wider Python 3 adoption, but it should provide a good story for others to lean on when porting large codebases.

Such ports do take time which is why the extended lifetime of Python 2.7 should be welcomed and should not be seen as a disincentive for migrating to Python 3.4.

gvrpycon

Banner


Use Javascriptmas To Hone Your Webdev Skills
08/12/2024

Every day until December 24th MDN, in partnership with Scrimba, is releasing a daily challenge, which as the name suggests requires you to practice your JavaScript skills. Each solution you submi [ ... ]



Ruby On Rails Adds Kamal And Thruster Support
17/12/2024

Ruby on Rails 8 has been released. The new version comes preconfigured with Kamal 2 for application deployment, a new proxy called Thruster, and a trio of SQLite database-backed adapters named Solid C [ ... ]


More News

 

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

 

 

 

 

 

 

 

Last Updated ( Wednesday, 28 August 2019 )