Pyodide is a Python distribution for the browser and Node.js based on WebAssembly
Go to file
Michael Droettboom af0d3fb261
Merge pull request #27 from iodide-project/initialization
Use promise for initialization. Use postRun hook to resolve.
2018-04-17 14:49:40 -04:00
benchmark Fix benchmark plot. Don't include Numpy import in benchmark timing. 2018-04-11 08:51:41 -04:00
cpython Mark broken tests so the test suite runs 2018-04-11 15:26:19 -04:00
emsdk Use pre-built toolchain 2018-04-02 13:06:36 -04:00
numpy Fix #21: Make numpy.fft work 2018-04-16 11:50:29 -04:00
src console.warn rather than alert 2018-04-17 14:49:06 -04:00
test Mark broken tests so the test suite runs 2018-04-11 15:26:19 -04:00
.gitignore Add geckodriver.log to gitignore 2018-03-30 14:09:42 -04:00
.travis.yml Turn off auto-deployment for now 2018-04-09 20:41:14 -04:00
LICENSE Initial commit 2018-02-23 14:21:29 -05:00
Makefile Fix #21: Make numpy.fft work 2018-04-16 11:50:29 -04:00
Makefile.envs Use pre-built toolchain 2018-04-02 13:06:36 -04:00
README.md Add benchmarking instructions 2018-04-11 10:17:02 -04:00
remove_modules.txt Basics for testing CPython 2018-04-09 10:39:52 -04:00

README.md

Pyodide

Build Status

This provides an integration layer when running an empscripten-compiled CPython inside a web browser. 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.

Building

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

Make sure the prerequisites for emsdk are installed.

Type make.

(The build downloads and builds a local, patched version of emsdk, then downloads and builds Python and Numpy, and finally builds the pyodide-specific code.)

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