Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Python to JavaScript translator
Python JavaScript Shell

This branch is 89 commits ahead, 4 commits behind chrivers:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
doc
examples
pyjaco
tests
testtools
.gitignore
AUTHORS
LICENSE
Makefile
README.rst
casetest
htmltest.py
pyjs.py
pylint.conf
run_tests.py
setup.py

README.rst


Python to JavaScript translator.

Webpage: http://pyjaco.org

Mailinglist: http://groups.google.com/group/pyjaco

Installation

Execute the following:

git clone https://github.com/chrivers/pyjaco
cd pyjaco
make

Examples

firefox examples/gol.html

And the game of life should show in the browser. If it doesn't, it's a bug. You can generate that file using

python examples/gol.py > examples/gol.html

Tests

./run_tests.py

Will run all tests, that are supposed to work. If any test fails, it's a bug.

./run_tests.py foo

Will run all tests with "foo" in the name. Very useful for running a group of tests.

./run_tests.py -a

Will run all tests including those that are known to fail (currently). It should be understandable from the output.

./run_tests.py -x or ./run_tests.py --no-error

Will run tests but ignore if an error is raised by the test. This is not affecting the error generated by the test files in the tests directory.

For more flags then described here

./run_tests.py -h

Single test cases

With the "casetest" script you can keep comparing the output of pyjaco to the output of python on the same python script. It's very useful if you are debugging the compiler or standard library.

./casetest foo.py

Will run foo.py through python and pyjaco, and display the differences. It will then display a line of "#", and wait for you to press enter to do another iteration. When the files match, casetest will exit.

Usage

From source code:

import sys
    from pyjaco import Compiler
    code = open("tojs.py", "r")
    compiler = Compiler()
    compiler.append_string(code.read())
    print str(compiler)

Using the pyjs.py script:

./pyjs.py filename.py --output filename.js --watch

License

Free Software. See the LICENSE file for exact details.

Something went wrong with that request. Please try again.