6 comments

  • simonw 1 hour ago
    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:

      <module 'pydantic_core._pydantic_core' from '/lib/python3.14/site-packages/pydantic_core/_pydantic_core.cpython-314-wasm32-emscripten.so'>
  • 12_throw_away 50 minutes ago
    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.)
  • wolfgangK 1 hour ago
    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

    • simonw 54 minutes ago
      Yeah it should definitely work there, anything you can `micropip.install()` into a Pyodide environment will work with JupyterLite.
  • fzumstein 43 minutes ago
    Pyodide 314.0 is already available in xlwings Lite (the Python in Excel alternative you actually wanted).
  • runningmike 1 hour ago
    Great news. And indeed a nice step to an even broader Python ecosystem.
  • sgammon 41 minutes ago
    nice to see JS/python interop becoming a thing