Pyodide is a Python distribution for the browser and Node.js based on WebAssembly
Go to file
Roman Yurchak af6dd7be46
DOC Document how to cite Pyodide with Zenodo [skip ci] (#1763)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2021-07-31 19:57:01 +02:00
.circleci Release 0.18.0a1 (actually this time) 2021-07-24 13:30:54 -07:00
.github/workflows Docker image with prebuilt pyodide (#787) 2020-11-08 21:05:38 +01:00
benchmark MAINT Add current recursion limit to benchmark-stack printout (#1737) 2021-07-22 22:18:30 -07:00
cpython Update libffi to tip of tree (#1760) 2021-07-30 16:54:27 +02:00
docs DOC Document how to cite Pyodide with Zenodo [skip ci] (#1763) 2021-07-31 19:57:01 +02:00
emsdk ENH Remove CMake -S and -B options from emsdk/Makefile (#1711) 2021-07-12 17:09:43 +02:00
packages Improved micropip dependency resolution (#1756) 2021-07-29 18:25:18 +02:00
pyodide-build Toward a conda compatible packages.json (#1700) 2021-07-24 09:22:46 -07:00
src ENH Improve PyodideConsole error messages (#1759) 2021-07-30 16:55:13 +02:00
tools Update prettier precommit and ci rules (#1747) 2021-07-25 08:02:33 -07: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 ENH Add Ctypes support (#1656) 2021-06-26 10:34:31 +02:00
.pre-commit-config.yaml Update prettier precommit and ci rules (#1747) 2021-07-25 08:02:33 -07:00
.readthedocs.yml Fix documentation build (#939) 2020-12-24 11:39:48 +01:00
CODE-OF-CONDUCT.md DOCS Copy edit code of conduct & replace IODIDE with Pyodide (#1432) 2021-04-06 10:14:33 -07:00
Dockerfile Set up pytest node tests (#1717) 2021-07-20 10:48:27 +02:00
Dockerfile-prebuilt MAINT Use Chrome 89 in tests (#1462) 2021-04-13 23:12:39 +02:00
LICENSE Initial commit 2018-02-23 14:21:29 -05:00
Makefile Improved micropip dependency resolution (#1756) 2021-07-29 18:25:18 +02:00
Makefile.envs Use PYMAJOR/PYMINOR according to Python devguide (#1570) 2021-07-06 13:28:39 +02:00
README.md Update to Python 3.9.5 (#1637) 2021-06-19 15:49:25 -07:00
conftest.py Improved micropip dependency resolution (#1756) 2021-07-29 18:25:18 +02:00
lgtm.yml Apply lints suggested by lgtm.com (#1398) 2021-03-31 21:11:41 +02:00
pyodide_env.sh BLD Create an installable pyodide-build package (#1566) 2021-05-03 20:51:11 +02:00
repository-structure.md Use rollup (#1575) 2021-05-05 06:42:15 -07:00
requirements.txt Set up pytest node tests (#1717) 2021-07-20 10:48:27 +02:00
run_docker Don't bind a port in run_docker by default (#1750) 2021-07-27 00:47:11 +02:00
setup.cfg Eliminate pyproxy leaks (#1616) 2021-06-07 09:23:47 +02:00

README.md

Build Status Documentation Status

Python with the scientific stack, compiled to WebAssembly.

What is Pyodide?

Pyodide may be used in any context where you want to run Python inside a web browser.

Pyodide brings the Python 3.9 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.

Try Pyodide (no installation needed)

Try Pyodide in a REPL directly in your browser. For further information, see the documentation.

Getting Started

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

  • Use a hosted distribution of Pyodide: see the Getting Started documentation.
  • Download a version of Pyodide from the releases page and serve it 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.

History

Pyodide was created in 2018 by Michael Droettboom at Mozilla as part of the Iodide project. Iodide is an experimental web-based notebook environment for literate scientific computing and communication.

Iodide is no longer maintained. If you want to use Pyodide in an interactive client-side notebook, see Pyodide notebook environments.

Contributing

Please view the contributing guide for tips on filing issues, making changes, and submitting pull requests. Pyodide is an independent and community-driven open-source project. The decision making process is outlined in the Project governance.

Communication

License

Pyodide uses the Mozilla Public License Version 2.0.