Tuesday, November 27, 2012

Grants to Assist Kivy, NLTK in Porting to Python 3

From time to time, the Python Software Foundation receives grant requests for projects wishing to receive assistance to complete some task. In the past, grants have gone towards aspects of the PyPy project and the email6 redesign, and have even financed the creation of a new developer guide. Whether it’s a project central to the Python language or any of the great projects this community has created, the PSF is there for all and accepts requests from any projects that provide benefit to the Python community.

Requestors are asked to provide answers to questions such as a project background, what work will be completed, who will be involved, who will benefit, and costs associated with the work. The requests then go before the board of directors, who then debate various aspects of each request and render a decision.

The last two months were very interesting for the board, as we received two requests to help finance the porting of projects to Python 3.


In October, the Kivy project reached out to us with a request to fund their porting efforts, where they requested a grant of $5,000 USD. Their plan includes the porting a number of Kivy project dependencies (their Android and iOS tools), the porting of a number of third-party dependencies (e.g., PIL, gstreamer, opencv), some work on their OSX and Windows packaging, and of course, the core Kivy codebase.

On October 17, the board voted to approve the Kivy request. Their porting effort hopes to be a great story for Kivy and Python 3 on a number of platforms and interfaces, as Kivy supports development of applications for desktops, tablets, and phones, and includes support for multi-touch. We’re really looking forward to sharing more details as the Kivy port moves along.


Just a few weeks ago, a request came before the board to fund porting efforts for the NLTK project. NLTK is the Natural Language Toolkit, a project which exposes very powerful linguistics tools to Python. For many, NLTK is one of the major remaining roadblocks to Python 3 adoption. As many projects have been ported and many more are working on it, getting NLTK on Python 3 will be huge for the community.

On November 21, Mikhail Korborov was granted $1,000 USD to finish the in-progress port of NLTK under the watchful eye of project lead Steven Bird. Mikhail was recently added as a committer to the project after some time as a contributor, and he’ll be following their plan as laid out on their GitHub repo. 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, especially when it comes to working with Python 3’s Unicode implementation.

We hope you’re as excited as we are to see Kivy and NLTK making moves towards Python 3! We’ll follow up with progress reports as we receive them.