Project info for pyjd

Share This Created 6 Sep 2008 at 19:59 UTC by lkcl, last modified 23 Sep 2008 at 14:11 UTC by lkcl.


Freshmeat page:


Pyjamas-Desktop is a cross-platform framework and applications widget set, based on WebKit, for developing GUI applications. The same application can also, using Pyjamas, then be run unmodified as an AJAX Web application. PyWebkitGtk is currently the basis for Pyjamas-Desktop, and it is conceivable that there will exist a PyWebkitQt4, and Pyjamas-Desktop will run on top of that, as well.

Pyjamas-Desktop is similar to KiWi in that it provides an easy-to-use API, where you need not know - at all - that you are running PyGTK underneath.

Pyjamas-Desktop is actually a port of Pyjamas which is a web toolkit, so you also have the option of running Pyjamas-Desktop applications as web applications - unmodified. Pyjamas is a port of Google's Web Toolkit. (GWT is a Java to AJAX compiler and Web-based Applications Widget set, where Pyjamas is a Python to AJAX compiler).

The Pyjamas Widget set, documented here is exceptionally comprehensive and yet is easy to use, providing:

Additional features, thanks to the underlying use of webkit, include:

It's specifically worth noting that due to Pyjamas-Desktop's history, it purely provides the "V" in "MVC" applications design, and that one option presently in use is the JSONRPC proxy client included, for communicating with the "MC" in the back-end of your application. In this way, the same application front-end source code can be compiled with PyJamas (into Javascript/AJAX) - with no modifications - to run with exactly the same back-end HTTP server that your Pyjamas-Desktop application uses.


Screenshots of some of the original GWT example apps, ported to Pyjamas and bug-fixed to run under Pyjamas-Desktop, are here. Also included is an Online Games and Dating web site, running as a Desktop application. The screenshot shows an online interactive game of Backgammon, with an Adobe Flash Flash Video plugin (also available as Free Software). FlashVid uses Red5 as its streaming Media server. Thanks to WebKit's support of NPAPI compliant media plugins, the fact that the web site source code is running as a Desktop app rather than in a web browser makes absolutely no difference: not one line of the 7,500 lines of front-end source code require modifications, to run in both environments.


The Pyjamas api is documented here. Also, as Pyjamas is based on Google's WebKit, the documentation for GWT 1.5 may prove useful.


Pre-built amd64 .debs are available for download, providing pywebkitgtk-1.0, libwebkit-1.0-2 and libwebkit-dev, here:

Pyjamas-Desktop requires these patched versions of both Webkit and PyWebkitGtk, as of 01-Sep-2008. The patches are here if you do not have a 64-bit system or prefer to build from source:


Pyjamas-Desktop is available for download from PyPi and Sourceforge:

Source Code

Pyjamas-Desktop is available as a git repository:

License: Apache Public License 2.0

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page