Pyodide: a Python distribution based on WebAssembly

Python in your browser has devs split—magic demos, 10‑second waits, and AI agent dreams

TLDR: Pyodide brings Python to the browser with no installs, delighting demo‑makers and teachers, but sparking complaints about slow load times with big libraries. The thread swings between praise for a mature “hidden gem,” worries about 10‑second waits, and curiosity about using it as a Node.js sandbox for AI agents.

Python in your browser is real and very loud today: Pyodide runs Python in the web using WebAssembly, a kind of “universal app format” for browsers. And the crowd is divided. On one side, fans like simonw are calling it a “hidden gem” and showing off slick, click-and-try demos—no installs, just open a page and go. Educators are cheering too: devsda name‑drops JupyterLite (browser‑based Jupyter notebooks) powered by Pyodide and xeus‑cpp, saying it’s perfect for teaching without servers. Meanwhile, yawnxyz swears it “works great” with data‑viz toys like Observable and D3 for gorgeous, interactive charts.

Then there’s the buzzkill: load times. QuadmasterXLII loves that things “Just Work™,” but says once you bring in heavy hitters like NumPy and friends, you’re staring at loading spinners—one 3D puzzle demo took ~10 seconds. Cue the meme wars: Team “It Just Works” vs Team “It Just… waits.” Some shrug and say it’s a fair trade for zero setup; others warn it’s a UX faceplant for big science projects.

And in the back, the AI crowd whispers: jacob019 asks if anyone’s running Pyodide in Node.js as a sandbox for “code agents.” Translation: Python bots in your server scripts. It’s equal parts exciting, terrifying, and very, very online.

Key Points

  • Pyodide is a WebAssembly-based port of CPython that runs Python in browsers and Node.js.
  • It supports installing pure-Python wheels from PyPI via micropip and includes many ported extension packages.
  • A robust JavaScript↔Python FFI enables language interop with error handling and async/await.
  • Project components include a patched CPython build, JS/Python FFI, interpreter management JS, Emscripten platform config, and a cross-compiling toolchain.
  • Created in 2018 by Michael Droettboom at Mozilla (from the Iodide project), Pyodide is community-driven, offers multiple docs and communication channels, and is licensed under MPL 2.0.

Hottest takes

"Just Work TM... load times are long" — QuadmasterXLII
"Anyone using it with nodejs to make a sandbox for code agents?" — jacob019
"hidden gems of the Python ecosystem... SO good" — simonw
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.