Collections of package recipes for Pyodide
Note
With the acceptance of PEP 783, package maintainers can now
build and publish Pyodide-compatible wheels (using the pyemscripten platform tag) directly to
PyPI. We encourage package maintainers to build and publish wheels from their own repositories
rather than adding recipes here.
For guidance, see the Pyodide documentation on building packages and cibuildwheel's Pyodide support.
If you need a package that doesn't yet publish Pyodide wheels, consider reaching out to the package maintainers first.
Note: Use Python 3.14 or upper to run the following commands.
To add a new package, create a package recipe in the packages directory.
It is required to clone the repository with the --recurse-submodules option to ensure
that all submodules are initialized. If you have already cloned the repository without
this option, you can run the following command to initialize the submodules:
$ git submodule update --init --recursiveYou can then start by creating a boilerplate recipe with the following command:
$ pip install ./pyodide-build
$ pyodide skeleton pypi <package-name>This will create a new directory in the packages/ directory with the package name.
You can then edit the meta.yaml file in the package directory to add build scripts
and other metadata including the dependencies.
See the Pyodide documentation for more information on creating package recipes.
Assuming you've already followed the setup instructions above, just run:
$ pyodide skeleton pypi <package-name> --updateThere are three ways to use the packages built by this repository in Pyodide:
When we release a new version of Pyodide, we include the updated recipes in the Pyodide distribution. But we don't guarantee that patch releases of Pyodide will include the updated recipes.
We also release the recipes to Anaconda package index. You can pass the following indesx URLs to micropip to install the packages
from the index.
https://pypi.anaconda.org/pyodide/simple: Contains all the packages built for all stable versions of Pyodide since Pyodide 0.28.0.https://pypi.anaconda.org/pyodide-nightly/simple: Contains the tip-of-tree packages which exist in themainbranch of this repository.
We release the built packages as a tarball in the GitHub releases occassionally. You can download the tarball and host it on your own server.
See MAINTAINERS.md for information on how to maintain this repository.