Pyjs canonical sources. Start here!
Python JavaScript HTML Groff CSS Shell
Latest commit 6c4a3d3 Sep 22, 2015 @keesbos keesbos Merge pull request #846 from spaceone/patch-1
Fix remote code execution vulnerability
Failed to load latest commit information.
doc recover bookreader image; update link Jun 23, 2012
examples Fixed examples util for new directory layout. Probably not for windows. Feb 7, 2014
pgen This is a consolidated diff of all directory restructuring Oct 26, 2013
pygtkweb find * -name '*.py' | xargs sed -i -r 's,\s+$,,' May 14, 2012
pyjd This is a consolidated diff of all directory restructuring Oct 26, 2013
pyjs Fix remote code execution vulnerability Sep 18, 2015
pyjswaddons This is a consolidated diff of all directory restructuring Oct 26, 2013
pyjswidgets Fix for JSONTranslations empty keyword May 28, 2014
tests Create __init__.py file Mar 19, 2014
.gitignore This is a consolidated diff of all directory restructuring Oct 26, 2013
.travis.yml one last try to fix travis ci integration Oct 31, 2013
CHANGELOG prepare for 0.9 release... FIXME: `mv CHANGELOG{,.rst}` Apr 14, 2013
CREDITS This is a consolidated diff of all directory restructuring Oct 26, 2013
LICENSE added license file May 6, 2012
Makefile prepare for 0.9 release... FIXME: `mv CHANGELOG{,.rst}` Apr 14, 2013
README.pysm This is a consolidated diff of all directory restructuring Oct 26, 2013
README.pyv8 This is a consolidated diff of all directory restructuring Oct 26, 2013
README.rst Update README.rst for mistakes and clarifications. Jun 14, 2015
copyright update copyright information Jul 29, 2012
requirements.txt Add closure compiler jar into the code base to make its use simple. Oct 31, 2013
setup.py Minor fix and added dependency on six May 28, 2014
setup_pyjstools.py Added missing lib.logging package May 28, 2014
setup_pyjswidgets.py This is a consolidated diff of all directory restructuring Oct 26, 2013

README.rst

Build Status

Pyjs

Pyjs is a port of Google Web Toolkit to Python, and thus enables the development of Rich Media AJAX applications in Python, with no need for special browser plugins. Pyjs contains a stand-alone python-to-javascript compiler, and also a Widget Set API that looks very similar to Desktop Widget Set APIs (such as PyQT4 or PyGTK2).

Pyjs also contains a Desktop Widget Set version, running as pure python, with three useable Desktop ports available. With web-engine technology at it's core, HTML, CSS, plugins and other related features work out-of-the-box.

Pyjs-Compiler

Pyjs-Compiler is a collection of tools that are related to
  • compiling python code to javascript
  • linking compiled javascript modules into complete applications
  • converting java to python, etc.

Pyjs-Compiler runs your python application in a Web Browser (as javascript).

Pyjs-Widgets

Pyjs-Widgets is a collection of GUI widget libraries that can be run natively as part of Pyjs-Native or can be compiled by Pyjs-Compiler to run in a browser.

Pyjs-Desktop

While Pyjs runs your python application in a Web Browser (as javascript), Pyjs-Desktop runs exactly the same python application on the Desktop (as pure python). There are currently three engine choices, with alternatives in development.

All ports of Pyjs-Desktop require a JSON library; simplejson is recommended if the version of python is 2.5 or older. Python 2.6 and above come with a json library installed by default.

  1. XULRunner

    Install hulahop and python-xpcom. Hulahop, from OLPC SugarLabs, is distributed with both Debian and Ubuntu; python-xpcom is part of XULRunner and is also distributed with both Debian and Ubuntu. Other users should investigate the installation instructions for python-xpcom and hulahop for the operating system of their choice on the appropriate web sites.

    Older versions of XULRunner must be used: versions 1.9.0 or 1.9.1 are known to be suitable, as is version 9.0. Versions 10 and above are known to segfault.

  2. GIWebKit (GObject Introspection)

    A 95% functional binding enabled via the dynamic GObject/Python bindings produced by https://wiki.gnome.org/GObjectIntrospection after scanning the annotated WebKit sources. This backend is missing a critical piece, window.addEventListener, from https://bugs.webkit.org/show_bug.cgi?id=77835 but development is in progress to implement the missing binding via ctypes instead, due to a lack of interest by WebKit.

    This is intended to supercede XULRunner as the default on Linux once ready.

    GIWebKit must be explicitly enabled. Create a $HOME/.pyjd/pyjdrc file containing the following two lines:

    [gui] engine=giwebkit

  3. MSHTML

    For Windows users - all that's required, other than installing python and Internet Explorer, is one further tiny package: Win32 "comtypes".

    Win32 "comtypes" can be downloaded here: * http://sourceforge.net/projects/comtypes/

    Unlike the other ports, which can comprise a whopping great bundle of anything up to 30mb in size, the MSHTML port literally requires nothing more than comtypes, thanks to the far-sighted design of the MSHTML Trident Engine and its extensive COM interface.

Installation

Access our "Getting Started" wiki (https://github.com/pyjs/pyjs/wiki/GettingStarted) for get information about installation, examples, troubleshooting, etc.

For more information and documentation, see:

For issue tracking:

To join the mailing list:

IRC:

Server:irc.freenode.net
Channel:#pyjs