As pretty much everyone I know has announced, Python 3.0 is out. Pop your bottles open! Fireworks!
What’s more important to end-users though is that third-party libraries are usable with Python 3.0, and not many of them are right now. One particular library has a special place in my heart, and is getting pretty close to being fully compatible with Python 3.0: PyWin32, the Python for Windows Extensions.
I first asked Mark about a year ago if he ever thought that PyWin32 would be ported to Python 3.0, and he was very pessimistic about it. Things changed recently though, and with the “2to3” library getting more mature, so did the chances of PyWin32 being ported to Python 3.0 increase.
Mark sent a status update with a detailed explanation of the process mid-November (http://tinyurl.com/py3k-win32-status-1) and another two (http://tinyurl.com/py3k-win32-status-2, http://tinyurl.com/py3k-win32-status-3) more recently. I recommend reading those to anyone thinking about porting their libraries to Python 3.0, there’s a lot of great insight there.
To summarize, the great news is that PyWin32 will soon be capable of running on Python 3.0 without being forked: a single installer will work for Python 2.x and Python 3.x thanks to the “2to3” translation library!
So many thanks to Mark Hammond, Roger Upole and Vernon Cole for their work. To me, the fact that a gigantic and complex library like PyWin32 can be made to run on Python 3.0 at all is the best validation that the Python Developers could possibly get for their work. You did a really amazing job!
Oh, and in case you didn’t notice, PyWin32 is now hosting a Bazaar mirror on Launchpad (https://code.edge.launchpad.net/pywin32), and that’s where Mark is hosting his py3k-integration branch too. Go Launchpad!