The Python Software Foundation has made grants to help both the Kivy project and the Natural Language Toolkit port to Python 3. As missing libraries is often a reason for not moving to Python 3 this is the sort of action we need to say goodbye to Python 2.

Kivy suddenly seems to have come out of nowhere and to be cropping up in many contexts.

It is the framework developed by the Kivy Foundation alongside Python for Android and can be considered as a fork of/successor to PyMT. It is an open source, cross platform, Python library for developing multitouch application software with a natural user interface (NUI).

Its first release for Android was in January 2011 and its most recent stable release 1.4.1 (September 2012) runs the same code on Linux, Windows, MacOSX, Android and iOS.

It can use naively most input devices and protocols such as WM_Touch, WM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. A multi-touch mouse simulator is included. Its graphics engine is based on OpenGL ES 2 and the toolkit includes more than 20 widgets designed to be extensible.

Much of the library has been written in C using Cython. Its API is documented and there's a programming guide to help you get started. Currently Kivy works with Python 2.x.

The Kivy foundation was recently awarded $5,000 for porting the core Kivy codebase together with a number of Kivy project dependencies (their Android and iOS tools) and a number of third-party dependencies (e.g., PIL, gstreamer, opencv) to Python 3.3.

The Python Software Foundation blog comments:

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.

The other grant has been awarded to the Natural Language Toolkit (NLTK), the open-source platform for building Python programs to work with human language data.

NLTK has been described as “a wonderful tool for teaching, and working in, computational linguistics using Python,” and “an amazing library to play with natural language” which is suitable for linguists, engineers, students, educators, researchers, and industry users, thanks to a hands-on guide introducing programming fundamentals alongside topics in computational linguistics. It is certainly the main reason that Python is the language often preferred by the natural language processing community.

It provides interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning and is available for Windows, Mac OS X, and Linux.

The NLTK project has been awarded $1,000 USD for Mikhail Korborov to complete its in-process port with supervision from project lead Steven Bird. The Python Software Foundation blog notes:

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.

Adding:

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.

It is amazing that just a few thousand dollars can move mountains in the open source community. This is the sort of money that Microsoft or Google say would regard as not even on the radar. We clearly need more informed philanthropists to push a little money in the direction of key projects - the shortage is most likely of "informed" philanthropists.

Let us hope that the move to Python 3 accelerates as a result.