Pyodide is a Python distribution for the browser and Node.js based on WebAssembly
Go to file
Michael Droettboom d58f6b1f6e Fix loadPackage in tests 2018-06-21 10:14:25 -04:00
.circleci Try installing PyYAML through PIP 2018-06-20 17:47:07 -04:00
benchmark Make benchmarks work again 2018-05-29 10:34:10 -04:00
cpython Simplify Makefiles. Support parallel compilation. 2018-05-16 13:06:44 -04:00
emsdk Add Circle-CI configuration 2018-06-04 16:17:03 -04:00
packages MVP of a proper packaging system 2018-06-20 14:54:47 -04:00
six Simplify Makefiles. Support parallel compilation. 2018-05-16 13:06:44 -04:00
src Linting 2018-06-20 17:10:06 -04:00
test Fix loadPackage in tests 2018-06-21 10:14:25 -04:00
tools Try importing importlib.machinery in a different way 2018-06-20 21:20:26 -04:00
.clang-format Add linting 2018-06-14 14:19:08 -04:00
.editorconfig MVP of a proper packaging system 2018-06-20 14:54:47 -04:00
.gitignore MVP of a proper packaging system 2018-06-20 14:54:47 -04:00
CHANGELOG.md Add some community and contributing guidelines 2018-06-07 15:43:04 -04:00
CODE-OF-CONDUCT.md Add some community and contributing guidelines 2018-06-07 15:43:04 -04:00
CONTRIBUTING.md Add linting 2018-06-14 14:19:08 -04:00
LICENSE Initial commit 2018-02-23 14:21:29 -05:00
Makefile Linting 2018-06-20 17:10:06 -04:00
Makefile.envs Restore HOSTPYTHON variable 2018-06-20 17:10:06 -04:00
README.md Fix #37: Minify Javascript 2018-06-19 10:56:17 -04:00
remove_modules.txt Lots of pandas fixes: 2018-04-24 19:29:54 -04:00

README.md

Pyodide

Build Status

The Python scientific stack, compiled to WebAssembly.

It provides transparent conversion of objects between Javascript and Python and a sharing of global namespaces. When inside a browser, this means Python has full access to the Web APIs.

See the demo

Building

These instructions were tested on Linux. OSX should be substantively the same.

Make sure the prerequisites for emsdk are installed.

Additional build prerequisites are:

  • lessc to compile less to css.
  • uglifyjs to minify Javascript builds.

Type make.

(The build downloads and builds a local, patched version of emsdk, then downloads and builds Python and third-party packages).

Testing

  1. Install the following dependencies into the default Python installation:

    pip install pytest selenium

  2. Install geckodriver somewhere on your PATH.

  3. make test

Benchmarking

  1. Install the same dependencies as for testing.

  2. make benchmark

Linting

  1. Python is linted with flake8. C and Javascript are linted with clang-format.

  2. make lint