pyodide-py
A Python package providing core interpreter functionality for Pyodide
What it is and what it does
Pyodide-py is a foundational package that provides the core interpreter functionality Pyodide needs to run Python in WebAssembly environments. It consists of two internal Python packages (_pyodide and pyodide) that are loaded at different stages of Pyodide's initialization: _pyodide loads first with only stdlib dependencies, while pyodide loads last and depends on a C extension (_pyodide_core). The package is primarily designed to be used as part of Pyodide's runtime, not as a standalone tool.
For native Python environments, the package can be installed for type checking and testing purposes. However, much of its functionality is unavailable outside Pyodide's WebAssembly context; the package provides type stubs and reimplementations for the APIs it exposes. This makes it useful for developers working on Pyodide itself or building Python applications intended to run in Pyodide, but not for general-purpose Python development.
Use it for:
- Type checking and IDE support when developing Python code intended to run in Pyodide's WebAssembly runtime.
- Testing Pyodide-dependent code in a native Python environment before deploying to WebAssembly.
- Contributing to Pyodide itself, where the package is an integral part of the runtime initialization.
- Building Python applications that target browser environments via Pyodide.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides core interpreter functionality for Pyodide, enabling Python to run in WebAssembly environments. This package is essential for Pyodide's runtime and can be installed in native Python for type checking or testing.
Yes, but with strong conditions: install only if you are actively developing for Pyodide or building Python applications to run in WebAssembly via Pyodide. The Python 3.14 requirement is a hard blocker for most current environments. Outside Pyodide development workflows, this package has limited utility. No known security vulnerabilities, active maintenance, and low install friction are positive signals, but the use case is narrow and specialized.
Install
pyodide-py on PyPI
pip
pip install pyodide-pyuv
uv add pyodide-pypoetry
poetry add pyodide-pyInstalling pyodide-py
Before you install
Low install friction with no runtime dependencies. Actively maintained with a recent release (10 days old) and strong repository signals (14786 stars, last commit 2026-08-14). However, requires Python 3.14 or later, which is a significant constraint for most current environments.
License in practice
Licensed under Mozilla Public License 2.0 (copyleft). Users must comply with MPL 2.0 terms, including source disclosure obligations if modifications are distributed. Suitable for open-source projects but requires careful review in proprietary contexts.
Quickstart
# Install
pip install pyodide-py==314.0.4
# Import in native Python (for type checking or testing)
import pyodide
import _pyodide
Requires Python 3.14 or later. Full functionality only available in Pyodide's WebAssembly runtime; native Python import provides type stubs and partial reimplementations.
Verify before relying
- Whether the package's type stubs and reimplementations cover enough of the Pyodide API surface for practical native Python testing workflows.
- Specific use cases where importing in native Python (rather than only in Pyodide runtime) provides value beyond type checking.
Package facts
| License | not declared (copyleft) |
| Python support | capped below the current Python release (>=3.14) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 119,862/month — #12,053 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyodide_py-314.0.4-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pyodide-cliA command-line interface for the Pyodide…
copyleft · top 15,000 on PyPI
wasmtimeEmbeds the Wasmtime WebAssembly runtime in…
unclear · top 5,000 on PyPI
wasmerExecutes WebAssembly modules from Python with a…
permissive · top 15,000 on PyPI
itkwasmProvides a Python interface to run itk-wasm…
permissive · top 15,000 on PyPI
jupyterlite-pyodide-kernelProvides a Python kernel for JupyterLite that…
permissive · top 15,000 on PyPI
hyperlight-sandbox-backend-wasmProvides a WebAssembly backend implementation…
permissive · top 15,000 on PyPI
pyodide-lockParses, modifies, and writes pyodide-lock.json…
permissive · top 15,000 on PyPI
wasmer-compiler-craneliftProvides the Cranelift compiler backend for…
permissive · top 15,000 on PyPI
qwasmDecodes and disassembles WebAssembly binary…
permissive · top 15,000 on PyPI
flet-webFlet-web is the web client component of Flet,…
permissive · top 15,000 on PyPI