Building multi-OS python apps

March 4th, 2008
[ Software Development ]

Caveat, I’ve never built and distributed a multi-os python application. I was asked recently if a python application would naturally be multi-os. Here’s my modified for public consumption answer.

It depends. Until I’ve done it, I don’t know. I believe it’s relatively painless to do it though. Python itself comes ‘out of the box’ with every major OS except windows so that’s a good start. As well, if you build your client application using dabo which is built on top of wxPython which is built on top of wxWidgets then you’re in great shape. Not to mention your apps look native to all Os’s which is handy.

“Dabo applications are known to run on all flavors of Windows, all recent flavors of Linux, and Macintosh OS X 10.2 or higher. Because Dabo is currently built on top of *wxPython*, which is built on top of wxWidgets, it probably runs elsewhere, too. It also suffers from the same display limitations on some platforms (most notably OS X), but these should improve as the underlying toolkits improve.

You can develop Dabo applications on all three supported platforms, and you can run your Dabo applications on all three supported platforms. Flexibility is a really good thing.”

There’s also pyGTK which promises your applications will be “truly multiplatform and they’re able to run, unmodified, on Linux, Windows, MacOS X and other platforms.” I believe that choosing between pyGTK and wxWidgets starts to get into questions of mobile device delivery etc. In terms of major OS’s I think you’re covered completely with either.