Pyodide
Contents
Pyodide#
Pyodide is a Python distribution for the browser and Node.js based on WebAssembly.
What is Pyodide?#
Pyodide is a port of CPython to WebAssembly/Emscripten.
Pyodide makes it possible to install and run Python packages in the browser withmicropip. Anypure Python package with a wheel available on PyPi is supported. Many packageswith C, C++, and Rust extensions have also been ported for use with Pyodide.These include many general-purpose packages such as regex, PyYAML, andcryptography, and scientific Python packages including NumPy, pandas, SciPy,Matplotlib, and scikit-learn.
Pyodide comes with a robust Javascript ⟺ Python foreign function interface sothat you can freely mix these two languages in your code with minimalfriction. This includes full support for error handling (throw an error in onelanguage, catch it in the other), async/await, and much more.
When used inside a browser, Python has full access to the Web APIs.
Try Pyodide#
Try Pyodide in aREPL directly inyour browser (no installation needed).
What should I look at first?#
If you wish to use a hosted distribution of Pyodide: see theGetting starteddocumentation.
If you wish to host Pyodide yourself, you can download Pyodide from thereleasespage and serve it with a web server.
If you wish to use Pyodide with a bundler, see the documentation onWorking with Bundlers.
If you are a Python package maintainer, see the documentationBuilding packages for Pyodide.
If you want to add a package to the Pyodide distribution, see the documentation onAdding Packages into Pyodide Distribution.
If you wish to experiment or contribute back to the Pyodide runtime, see the documentation onBuilding from source.
Table of contents#
Using Pyodide#
Development#
The Development section helps Pyodide contributors to find information about thedevelopment process including making packages to support third party libraries.
Project#
The Project section gives additional information about the project’sorganization and latest releases.
Communication#
Blog:blog.pyodide.org
Mailing list:mail.python.org/mailman3/lists/pyodide.python.org/
Gitter:gitter.im/pyodide/community
Twitter:twitter.com/pyodide
Stack Overflow:stackoverflow.com/questions/tagged/pyodide
