Are we PEP 783 yet? πŸ•ΈοΈ

ship a pyemscripten wheel on PyPI

already work in Pyodide today

What is PEP 783?

PEP 783 adds a pyemscripten platform tag to the wheel filename format, for wheels built to run under Pyodide (CPython compiled to WebAssembly with Emscripten).

A package that ships a wheel like foo-1.0-cp313-cp313-pyemscripten_2026_0_wasm32.whl can be installed straight from PyPI in Pyodide, the same way a manylinux wheel works on Linux.

What is pyodide-recipes?

Before PEP 783, the only way to get a package working in Pyodide was for the Pyodide project to build it. pyodide-recipes is where that happens: it holds build recipes and patches for packages that don't yet publish a pyemscripten wheel, including some pure Python packages that need small changes to run without threads in a browser.

What is this list?

This site shows the top 360 most-downloaded packages on PyPI and where each one stands on the way to PEP 783 support.

  • Green packages with a 🟒 ship a pyemscripten wheel on PyPI
  • Blue packages with a πŸ”§ are built from source by pyodide-recipes
  • Purple packages with a 🩹 ship a pure Python wheel, but still needed a pyodide-recipes patch to work
  • Cyan packages with a 🐍 ship a pure Python wheel and have no recipe, so they probably already work
  • Yellow packages with a ❌ have no pyemscripten wheel, no recipe, and no pure Python wheel

Packages that are known to be deprecated are not included (for example, distribute). If your package is incorrectly listed, please create a ticket.

I maintain a package. What can I do?

If your package is πŸ”§, 🩹, or ❌, the most useful thing is a pyemscripten wheel on PyPI. You can build one with pyodide-build or cibuildwheel's Pyodide platform, and publish it the same way as your other wheels.

If a pyemscripten wheel isn't realistic yet, a recipe (or an improvement to an existing one) in pyodide-recipes still helps people use your package in Pyodide today.

Something's wrong with this page!

Fantastic, a problem found is a problem fixed. Please create a ticket!

You can also submit a pull request.

Note: Requests for behavioural changes in the packaging tools themselves should be directed to discuss.python.org and the Python Packaging Authority.

Thanks

This is a derivative work of Are we PEP 740 yet?, which is a derivative of Free-Threaded Wheels, which is itself a derivative of Python Wheels, a site that tracks which Python distributions ship the wheel format. The top 360 list comes from Top PyPI Packages, and the recipe data comes from pyodide-recipes.

Thanks also to the many contributors across all of these projects.

This page requires JavaScript to be enabled to display the list of packages.