Where should I start with Pyodide?

Updated

Start by identifying your role, then jump to the matching documentation path. Pyodide is a Python distribution for the browser and Node.js based on WebAssembly, and its docs are organized by task rather than as a single linear tutorial.

Pick your path

Your situation Where to start
You want to use a hosted Pyodide distribution Getting started
You want to host Pyodide yourself Download from the releases page and serve it with a web server
You use a bundler Working with Bundlers
You maintain a Python package pyodide-build
You want to add a package to the Pyodide distribution pyodide-build
You want to experiment with or contribute to the runtime Building from source

What Pyodide actually gives you

Knowing the scope helps you choose the right entry point:

  • It is a port of CPython to WebAssembly/Emscripten.
  • You can install and run Python packages in the browser with micropip.
  • Any pure Python package with a wheel on PyPI is supported.
  • Many packages with C, C++, and Rust extensions have also been ported, including general-purpose ones such as regex, PyYAML, and cryptography, plus scientific packages like NumPy, pandas, SciPy, Matplotlib, and scikit-learn.
  • A JavaScript ⟺ Python foreign function interface lets you mix the two languages, with full error handling (throw in one language, catch in the other), async/await, and more.
  • In a browser, Python has full access to the Web APIs.

Try it before you read anything

If you just want to see it work, run Pyodide in a REPL directly in your browser — no installation needed. That is the fastest way to confirm it fits your use case before committing to a hosting or build path.

After you choose a path

Once you are past the entry point, the Using Pyodide section covers the practical ground: Getting started, downloading and deploying, accessing files, the quick reference, loading packages, Python compatibility, type translations, interrupting execution, redirecting standard streams, the API reference, and a FAQ. The Development section is for contributors, covering building packages, building from source, testing and benchmarking, debugging tips, and how to contribute.