Pyjamas - http://code.google.com/p/pyjamas - for GTK2! Applications written for pyjamas look so startlingly like they are desktop applications, it's time that they WERE desktop applications. pyjamas-desktop is a project to make the same application source code run on both a web browser and the desktop. initial attempts with iron-python - to produce a Mono / .NET framework - were thwarted by lack of JSONrpc client code, however that will be remedied. Pyjamas-Desktop has now been successfully implemented, thanks to http://webkit.org and pywebkitgtk. The web site is: http://pyjd.sf.net It's now possible to have an application that has identical source code and identical features in both a web browser and a desktop app - including running NSAPI-compliant plugins such as Adobe Flash! Below is the history, and source code, of earlier attempts to create a pyjamas-desktop project. As the code-coverage and feature-coverage is so comprehensive, with the Pyjamas API offering a much larger (yet simpler) range of widgets, the limitations of the widget sets used in these experiments became very quickly apparent. The code will remain available in the hope that it may still prove useful to someone. lkcl-09sep2008 PyGTK ----- the first experiment is therefore with python-gtk2. unpack the tarball, pygtk2.tgz - you will find a loader, called hello_loader.py which starts up whatever app you edit it to activate. yes, it leaves a lot to be desired but as a starting point it's ok. currently being worked through is KitchenSink.py - this example runs and tests every widget available, and runs through between 30% and 100% of every widget's functionality. i've completed up to "Lists" and am presently working on "Popups". right now, do not expect pyjd/gkt2 to "look pretty": that will come later. the primary focus is to get every single widget "functional". 14aug2008: pygtk2 work terminated (probably temporarily) due to lack of gtkhtml support. apparently nobody is focussing on gtkhtml2 or 3, putting all efforts into webkit instead. pywebkit requires a build from source. PyQT4 ----- the second experiment is with python-qt4. again, unpack the tarball, pyqt4.tgz. edit hello_loader.py, it should be obvious what to do. you will find that Hello.py works, JSONRPCExample.py works, as does GridTest.py and a couple of others. Mail.py is being held up by TreeView at the moment. KitchenSink.py loads up the initial screen, but removing widgets - particularly removing layouts - from DockPanels is proving troublesome. Notes ----- Qt's "Rich Text" support has proven to be much more friendly towards HTML than GTK's insane lack of HTML support (in its entirety). Also, Qt is much more forgiving of layout issues than GTK. However, GTK has support for gtkmozembed in python, and so there is a better chance of being able to embed rich content like Adobe Flash into a pyjamas-desktop application using python-gtk2 than there is with python-qt4.