I completed my first pass at a Python 2.6/3.2 port. You can find it at: https://github.com/fluggo/Pillow
Please check it out and test it. This port is largely based on previous ports by Christoph Gohlke and Hajime Nakagami. You can find both ports in my git tree as single commits for comparison. With a project this big and complicated, there will be hidden bugs. I've tested this with Christoph Gohlke's test suite (included) which runs 79 of 82 tests successfully on Python 2.6.8, 2.7.3rc3, and 3.2.3 (the versions of Python found in debian-testing). You should expect zero regressions using this library in Python 2.6 or 2.7, with one exception: Image text, such as comments and tags, is now decoded with a specific character encoding, so the same text might appear differently. In Python 3, image comments and tags are now decoded to Unicode strings. == IF YOU WANT TO HELP == Check this code out, build it, and test it. The documentation tests haven't been updated to work in Python 3, but you can use Gohlke's tests by running: python Tests/run.py python3 -bb Tests/run.py The -bb switch stops the test if there are invalid bytes/str comparisons. Individual tests can be run from the Pillow root like this: PYTHONPATH=. python Tests/test_imagefont.py PYTHONPATH=. python3 -bb Tests/test_imagefont.py *Skipped tests:* Three of Gohlke's tests don't run on my laptop. I haven't bothered to find out why. Investigate the test_imagegl, test_imagegrab, and test_imageqt tests. *Windows build:* I haven't attempted a Windows build or any tests there. For all I know, the GDI code might not even compile. == CHANGES TO LOOK OUT FOR == Your Python 2.6/2.7 code should run with no changes. (If you have to change your code, I've got a bug, so please tell me.) You should, however, start to change all tostring/fromstring calls to tobytes/frombytes. tobytes() and frombytes() are declared in both Python 2 and Python 3, but tostring() and fromstring() are only aliased on Python 2. In Python 3, all image data is represented in bytes objects, not str. str is now Unicode, so binary data doesn't belong there. For more information on the changes, please read my comments in the patch series. Feedback is welcome and much appreciated. --Brian _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig