PyjamasDesktop is a cross-platform framework and applications widget set for the desktop. There are three back-ends: WebKit, python-xpcom and MSHTML. The XULrunner port uses python-xpcom and hulahop; the Webkit port uses PyWebkitGtk and the MSHTML port uses python win32 comtypes. PyjamasDesktop 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, XULrunner or MSHTML underneath.

PyjamasDesktop is actually a port of PyJamas which is a web toolkit, so you also have the option of running PyjamasDesktop applications as web applications - unmodified.

The [PyJamas] Widget set is exceptionally comprehensive and yet is easy to use, providing:

Additional features, thanks to the underlying use of web engines, include:

It's specifically worth noting that due to PyjamasDesktop's history, it purely provides the "V" in "MVC" applications design. To communicate with the "C" in "MVC", it is recommended that you keep to XML and HTTP, and use, for example, the JSONRPC proxy client included with the distribution. 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 PyjamasDesktop application uses. However, as you have access to the full Python core (unlike in Pyjamas, which is restricted to AJAX), you do not have to follow these guidelines.

PyjamasDesktop has been merged into Pyjamas, so obtaining PyjamasDesktop, is here:

Pre-built AMD64 .deb packages for the webkit-glib and pywebkitgtk dependencies are here:

Note that pywebkitgtk patched (or pre-built) is only required for the webkit back-end option. If the XULrunner option is to be used, then install XULrunner with python-xpcom, and python-hulahop (on debian systems: apt-get install python-xpcom hulahop). If the MSHTML engine is used, then only the python "comtypes" package, for win32 is required (http://sf.net/projects/comtypes)

Documentation

The Pyjamas API, which is identical for both PyJamas and PyjamasDesktop, is available here:

Article and information is available here:

CategoryPyGUI

PyjamasDesktop (last edited 2010-11-08 11:08:49 by 213)