PScript is a Python to JavaScript compiler, and is also the name of the subset
of Python that this compiler supports. It was developed as a part of
Flexx (as flexx.pyscript
) and is now represented
by its own project. Although it is still an important part of Flexx, it can
also be useful by itself.
PScript is pure Python and requires Python 2.7 or 3.5+ (including Pypy). It has no further dependencies.
pip install pscript
, orconda install pscript -c conda-forge
from pscript import py2js
def foo(a, b=2):
print(a - b)
print(py2js(foo))
Gives:
var foo;
foo = function flx_foo (a, b) {
b = (b === undefined) ? 2: b;
console.log((a - b));
return null;
};
PScript aims to support all modern browsers, including Firefox, Chrome and Edge.
Internet Explorer is in principal supported from version 9, though some constructs
(e.g. async
and await
) do not work in Internet Explorer.
To give an idea of what PScript can do, here are some examples in the wild:
- Obviously, everything built in Flexx uses PScript, see e.g. these examples
- The front-end of TimeTagger.app is built in Python using PScript.
Let us know if you know more!
PScript makes use of the liberal 2-clause BSD license. See LICENSE for details.