Python 3.0 is out… and we are pretty much ready for it!

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!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s