Live data from Hacker News

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

blog.pyodide.org

1–10 of 44 posts

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

#3
I've been looking forward to this for ages!

This means we can now take any C/Rust/whatever extension for Python, compile that as a `.wasm` extension, and then load it directly in browser Pyodide projects using:

  await micropip.install("package-on-pypi")
  import package_name
Here's how to try the new feature out. Visit https://pyodide.org/en/stable/console.html and type:

  import micropip
  await micropip.install("pydantic_core")
  import pydantic_core
That gets you this WASM wheel: https://pypi.org/project/pydantic_core/#pydantic_core-2.47.0...

You can tell that it's got compiled code in (and not just Python) by running:

  pydantic_core._pydantic_core
I get this:

  

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

#4
I presume this works (will work) also for JupyterLite that is based on Pyodide ? Would be great if it helped getting the latest OpenCV-python version [0] and it's dnn goodies being available on a zero-install client side Notebook !

[0] https://news.ycombinator.com/item?id=48421858

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

#5

I presume this works (will work) also for JupyterLite that is based on Pyodide ? Would be great if it helped getting the latest OpenCV-python version [0] and it's dnn goodies being available on a zero-install client side Notebook ! [0] https://news.ycombinator.com/item?id=48421858

Yeah it should definitely work there, anything you can `micropip.install()` into a Pyodide environment will work with JupyterLite.

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

#6
Executing normal python programs inside a cpython vm inside a wasm context inside a javascript process inside a sandbox inside a browser is - genuinely - extremely exciting! (Might as well run the browser inside a container inside a VM while you're at it though.)

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

#9
post #3

I've been looking forward to this for ages! This means we can now take any C/Rust/whatever extension for Python, compile that as a `.wasm` extension, and then load it directly in browser Pyodide projects using: await micropip.install("package-on-pypi") import package_name Here's how to try the new feature out. Visit https://pyodide.org/en/stable/console.html and type: import micropip await micropip.install("pydantic_…

I had an older experimental Pyodide WASM project lying around (a packaging of the Luau language by Roblox) so I had Codex package that up for me and pushed it to PyPI.

Here's the package: https://pypi.org/project/luau-wasm/

  import micropip
  await micropip.install("luau-wasm")
  import luau_wasm
  print(luau_wasm.execute(r'''
  local animals = {"fox", "owl", "frog", "rabbit"}
  table.sort(animals, function(a, b) return #a 
And an interactive demo page where you can try it out: https://simonw.github.io/luau-wasm/

Wrote about this in more detail on my blog: https://simonwillison.net/2026/Jun/13/publishing-wasm-wheels...

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

#10

Executing normal python programs inside a cpython vm inside a wasm context inside a javascript process inside a sandbox inside a browser is - genuinely - extremely exciting! (Might as well run the browser inside a container inside a VM while you're at it though.)

I'm sure everyone has seen this by now but just in case: https://www.destroyallsoftware.com/talks/the-birth-and-death...
Post reply on HN