Pyodide is a Python distribution for the browser and Node.js based on WebAssembly
Go to file
Roman Yurchak a1241301dc
DOC Add more related projects (#1296)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2021-03-02 17:43:46 +01:00
.circleci DOC update to sphinx book theme (#1250) 2021-02-15 08:59:38 +01:00
.github/workflows Docker image with prebuilt pyodide (#787) 2020-11-08 21:05:38 +01:00
benchmark Run benchmarks in alphabetical order (#1178) 2021-01-30 13:58:34 +01:00
bin Explicitly use python3 for pyodide_build 2019-01-09 20:56:46 +05:30
cpython Emscripten 2.0.12 Upstream backend (#1102) 2021-02-06 08:58:12 +01:00
docs DOC Add more related projects (#1296) 2021-03-02 17:43:46 +01:00
emsdk Update to emscripten 2.0.14 (#1256) 2021-02-16 11:25:53 +08:00
packages MAINT Simplify scipy patches in make-int-return-values.patch (#1291) 2021-02-27 08:44:52 +01:00
pyodide_build Clapack as so (#1236) 2021-02-26 17:01:10 +01:00
src Set sys.{last_type,last_value,last_traceback} on exception (#1281) 2021-03-01 21:43:48 +01:00
tools TST Don't print python traceback in pytest_wrapper (#1103) 2021-01-12 23:18:29 +01:00
.clang-format Remove keys from .clang-format 2018-11-13 09:46:24 -05:00
.dockerignore Docker image with prebuilt pyodide (#787) 2020-11-08 21:05:38 +01:00
.editorconfig Fix #71: Upgrade to Python 3.7 2018-09-06 10:56:33 -04:00
.gitignore DOCS: Move docs into three subfolders based on top level sections (#1149) 2021-01-18 20:56:47 +01:00
.pre-commit-config.yaml Use upstream file packager instead of fork (#991) 2021-01-01 08:48:28 +01:00
.readthedocs.yml Fix documentation build (#939) 2020-12-24 11:39:48 +01:00
CODE-OF-CONDUCT.md DOC/MAINT Use MyST markdown parser in the documentation (#778) 2020-10-30 21:09:25 +01:00
Dockerfile Use python:3.8.2-slim-buster Docker base image (#1095) 2021-01-10 21:14:50 +08:00
Dockerfile-prebuilt MAINT Reorganize src/ and tests/ folders (#786) 2020-11-09 13:28:02 +01:00
LICENSE Initial commit 2018-02-23 14:21:29 -05:00
Makefile Clapack as so (#1236) 2021-02-26 17:01:10 +01:00
Makefile.envs BLD match host and target in case of multiple pythons (#1292) 2021-02-27 10:50:30 +01:00
README.md DOC Update project subtitle to be more general (#1246) 2021-02-15 21:27:28 +01:00
conftest.py Rename deepCopyToJavascript -> toJs & rm shallowCopyToJavascript (#1231) 2021-02-11 22:02:15 +01:00
pyodide_env.sh Use EM_COMPILER_WRAPPER to enable ccache (#1218) 2021-02-09 12:28:37 +08:00
run_docker Use python:3.8.2-slim-buster Docker base image (#1095) 2021-01-10 21:14:50 +08:00
setup.cfg TST Print failed tests instead of skipped ones (#1104) 2021-01-10 12:14:27 +01:00

README.md

Build Status Documentation Status

Python with the scientific stack, compiled to WebAssembly.

What is Pyodide?

Pyodide brings the Python 3.8 runtime to the browser via WebAssembly, along with the Python scientific stack including NumPy, Pandas, Matplotlib, SciPy, and scikit-learn. The packages directory lists over 75 packages which are currently available. In addition it's possible to install pure Python wheels from PyPi.

Pyodide provides transparent conversion of objects between Javascript and Python. When used inside a browser, Python has full access to the Web APIs.

While closely related to the iodide project, a tool for literate scientific computing and communication for the web, Pyodide goes beyond running in a notebook environment. To maximize the flexibility of the modern web, Pyodide may be used standalone in any context where you want to run Python inside a web browser.

Try Pyodide (no installation needed)

Try pyodide in Python REPL directly in your browser.

For further information, look through the documentation.

Getting Started

Pyodide offers three different ways to get started depending on your needs and technical resources. These include:

  • Use hosted distribution of pyodide: see using pyodide from Javascript documentation.
  • Download a pre-built version from this repository's releases page and serve its contents with a web server.
  • Build Pyodide from source
    • Build natively with make: primarily for Linux users who want to experiment or contribute back to the project.
    • Use a Docker image: recommended for Windows and macOS users and for Linux users who prefer a Debian-based Docker image with the dependencies already installed.

Contributing

Please view the contributing guide for tips on filing issues, making changes, and submitting pull requests.

License

Pyodide uses the Mozilla Public License Version 2.0. See the LICENSE file for more details.