kivy/pyjnius — pull request #54 by sscherfke (2013-02-10 12:04:15+00:00)
Title: Python 3 Port

Ontje Lünsdorf (@thecom) and I made an (experimental) port of Pyjnius to Python 3. No extra tools (like 2to3 or six) are required. The same codebase runs on both, Python 2 and 3. (We tested it under Linux and OS X and Python 2.7, 3.2 and 3.3. It should also run on Python 2.6, but not on <= 2.5).

Most changes were trivial, except for some fiddling with `str` and `bytes`. `str` is now used as long as possible and only encoded to `bytes` before passing it to a JNI method. Due to the syntactical changes with metaclasses, some classes from `reflect.py` had to be extracted into two 2/3-specific modules (`reflect2.py` for Python 2 and `reflect3.py` for Python 3 respectively).

We accidentially also ported the `extended_class_support` branch (or parts of it) due to my nonextistent git skills, so we could provide some help/code with porting that branch, too. ;-)