Python 3 Progress

Over the weekend I published Py3 Progress site. I had been meaning to make the data available and now finally I have. It didn't take much.

The Py3 Progress site has a "waterfall" plot of the Python 3 port status of the top 200 downloads from the Python Package Index. The raw data was downloaded from the Python 3 Wall of Superpowers every day, and then acculated into the waterfall plots.

There are some interesting trends in the data. About half way down the 2012 plot (August onwards), you can see where Django first reported that it was Python 3 compatible - it's in the sixth column. I haven't tried it yet. The purple lines are projects that say that will not be ported to Python 3 in the near future (or ever) and they are slowly trending to the right (down in ranking). Among those projects is Twisted, which has an active py3 porting branch. A couple of weeks ago a couple more projects marked themselves as not porting. The light green/blue lines also trend right. This are the packages which are now included in Python 3, and in some cases Python 2.7 and even 2.6. Since people don't need to download the files to use the package, the are slowly falling in rankings as well. The best news is that the Python 3 compatible packages shown in green are generally trending left and the not yet ported packages in red are generally trending right (or converting).

There are a lot of Django-based packages in the top 200 (approximately 11 packages). Since Django 1.5 was released a couple of weeks ago and it supports Python 3, I expect that most of those package will also port fairly quickly. Some already have.