June 13, 2026

Wheels on fire, browser edition

Pyodide 314.0: Python packages can now publish WebAssembly wheels to PyPI

Python in the browser just got way easier, and the comments are losing it

TLDR: Pyodide now lets developers publish browser-ready Python packages directly to the main package hub, which could massively expand what runs in the browser. The community is excited, joking about the absurd tower of software layers while dreaming about easier notebooks, faster installs, and bigger apps.

The big news is simple: people can now upload browser-ready Python add-ons straight to the main Python app store, instead of waiting for the Pyodide team to hand-build and host everything themselves. For longtime fans, this is the kind of update that turns a slow, niche project into a possible mainstream moment. One commenter called it a “great step to an even broader Python ecosystem,” while another, clearly vibrating with joy, said they’d been waiting for this “for ages.” The mood is basically: finally, the gates are open.

But the real fun is in the comment section, where excitement quickly turned into full-on nerd melodrama. Simon Willison showed off the dream scenario: install a package from the internet and use it in the browser almost instantly. That sparked a wave of “wait, does this mean JupyterLite too?” and “can we finally get OpenCV working in zero-install notebooks?” In plain English: people are already dreaming up much bigger things than the release notes.

Then came the comedy. One commenter summed up the absurd stack of modern software as running Python inside WebAssembly inside JavaScript inside a sandbox inside a browser — and joked you might as well put the browser inside a container inside a virtual machine too. That was the thread’s biggest meme: everyone is thrilled, but also very aware this miracle is being held together by layers upon layers of digital duct tape. Even the version jump from 0.29 to 314.0 had some “wait, what?” energy, though the explanation is practical: it now tracks the version of Python more clearly. The result? Less packaging chaos, fewer hoops for developers, and a community already planning its next browser-based power move.

Key Points

  • Pyodide 314.0 follows the acceptance of PEP 783, enabling Pyodide-compatible WebAssembly wheels to be published directly to PyPI and installed at runtime.
  • The previous model required Pyodide maintainers to maintain, build, and host more than 300 packages themselves, creating maintenance overhead and a community bottleneck.
  • cibuildwheel v4.0 supports building for the PyEmscripten 2025 and 2026 ABIs, and platform tags now use the pyemscripten_* prefix.
  • Pyodide has moved from the 0.29-style numbering to a Python-version-based scheme, with Pyodide 314.x aligned to Python 3.14 and annual major releases tied to Python updates.
  • The release restores previously unvendored standard libraries such as ssl, sqlite3, and lzma, while removing pydecimal and test from the distribution.

Hottest takes

"I've been looking forward to this for ages!" — simonw
"inside a wasm context inside a javascript process inside a sandbox inside a browser" — 12_throw_away
"Would be great if it helped getting the latest OpenCV-python version" — wolfgangK
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.