PIL + TIFF = Fun

We had to do some things at work using TIFF files with software thatrelied on the presence of certain TIFF Tags. We’re slowly phasing out some legacy C applications with Python equivalents, and decided to use Python Imaging Library for the task.

Everything worked brilliantly, aside from the fact that most of the tags from the original file we were modifying were getting wiped out in the newly saved file. This was a show-stopper, so I spent some time spelunking in PIL source and fixed the tag-obliterating behavior for the tags we were primarily interested in.

By no means is my work all-inclusive, but I did find some other minor bugs that probably weren’t noticed by most applications that were reading the resulting tiffs. Right now my modifications are sitting in a fork of the main repository on Bitbucket. I’ve got a pull request in with effbot, but until then, check out my work on the pil-2010-gtaylor fork. Comments, suggestions, and mean-spirited nit-picking are welcome.

Evennia MUD Server IRC Channel

To improve collaboration, the Evennia MUD Server project now has an IRCchannel on Freenode, #evennia. We have taken it a step further and linked this up with our test game, so those messing around in-game can still talk/listen on the IMCEvennia channel (which is also replicated to the MudBytes Inter-MUD network).

Evennia is a Python+Twisted+Django-based MUD server. For those that who have no idea what this is, it’s a base for a persistent, text-based MMO. As far as I know, Evennia is the first MUD built on top of Django, and we’d love to see more community members stop by to help. Feel free to pop in IRC, join the IMCEvennia channel if you’re on the MudBytes IMC2 network, or join the Google Group at http://evennia.com.

python-fedex 0.1 Released

After a few weeks of slow work, I finally have released python-fedex.This module is a very light wrapper around suds and the Fedex WSDLs. There is very little abstraction, the idea is just to handle the annoying WSDL stuff behind-the-scenes and raise some basic exceptions if really bad things happen.

By figuring out the suds+WSDL end of things, I hope to allow other Python developers to jump into their projects much more quickly. This will be used in a production environment at IP, and will see extensive testing starting in a few weeks.

If you are at all interested or curious, see the python-fedex Google Code page.

MacPorts Python 2.6 + Snow Leopard

I just thought I’d provide a friendly heads up to the Django and Pythoncommunities that the Python 2.6 distributed with MacPorts does not compile on Snow Leopard as of now. This issue is outlined on MacPorts ticket #20284.

There are some really hacky work-arounds, but they are not for the feint of heart. This is reportedly an upstream Python problem, and has been reported as such by the MacPorts community. While Python 2.6 is included with Snow Leopard, MacPython requires its own Python26 package for many other things.

Other than that, Snow Leopard has been great. This is not a complete show-stopper since you can just manually install stuff, but it is somewhat annoying.