Live data from Hacker News

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

blog.pyodide.org

31–40 of 44 posts

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

#32

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.)

So many babushka layers.

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

#33
post #19

I've been working on a server-side wasm impl of cpython called boomslang [1] and have been thinking a lot lately about packaging, one of the downsides of my current impl is the need to statically link all c/rust extensions. Its too bad IMO how much of the wasm ecosystem targets/depends on emscripten directly. It'd be interesting to see if a more generic ABI could be provided for non emscripten/js based wasm runtimes.…

The WASI support in CPython has moved along very well and it is an early target via componentize-py[1]. Notes on WASI support in Python can be found in PEP 816[2]; CPython will be jumping from 0.1 to 0.3 (0.2 is adapted in componentize-py) which should unlock a fair bit of support, especially once cooperative threads lands (providing a pthreads impl in wasi-libc).

[1] https://github.com/bytecodealliance/componentize-py [2] https://peps.python.org/pep-0816/

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

#35

> You might be wondering: wasn’t the last version 0.29, and now it’s 314.0? Now Python's versioning scheme is officially worse than PHP's or Perl's. Not just skipping one version here - they are skipping 314 versions!

This is Pyodide, not Python.

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

#36
post #19

I've been working on a server-side wasm impl of cpython called boomslang [1] and have been thinking a lot lately about packaging, one of the downsides of my current impl is the need to statically link all c/rust extensions. Its too bad IMO how much of the wasm ecosystem targets/depends on emscripten directly. It'd be interesting to see if a more generic ABI could be provided for non emscripten/js based wasm runtimes.…

The WASI support in CPython has moved along very well and it is an early target via componentize-py[1]. Notes on WASI support in Python can be found in PEP 816[2]; CPython will be jumping from 0.1 to 0.3 (0.2 is adapted in componentize-py) which should unlock a fair bit of support, especially once cooperative threads lands (providing a pthreads impl in wasi-libc). [1] https://github.com/bytecodealliance/componentize-…

it’s great to see this stuff moving forward, I’m just impatient for it to all land! Plus one of the challenges IMO is that you also still need support in the runtimes, which takes time. Hopefully the state of the world will look better for WASI in a few months/years.

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

#37

Pyodide is great. I teach coding to kids, mostly creating 2d games with Python, and it was always a pain to manage an environment for each student. Now I have a browser based environment that runs Pygame/Arcade/Pyglet in Pyodide, so the kids can just do everything in the browser, I don't have to worry about Python versions, OS differences, files, etc. As a bonus they can easily publish what they make since it all run…

Uv mostly solved the Python environment mess for what it's worth.

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

#39
post #16
post #11

Earlier quoted context omitted.

This sounds like a solution looking for an unnecessary security nightmare. Something as little as the runtime can just get exploited (which that as happened.) and cause a sandbox escape on the client side. There was a Chrome 0day at the runtime level which allowed untrusted code to run and escape the sandbox in the WASM runtime. This complete worship of WASM (and their runtimes) as this magical silver bullet reminds…

You mean this one? https://theori.io/blog/a-deep-dive-into-v8-sandbox-escape-te... I dunno, one sandbox escape in nine years is a pretty solid track record IMO. Any reason WASM is more dangerous than regular JavaScript?

[deleted]

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

#40

> You might be wondering: wasn’t the last version 0.29, and now it’s 314.0? Now Python's versioning scheme is officially worse than PHP's or Perl's. Not just skipping one version here - they are skipping 314 versions!

Pyodide and Python have as much in common as you and reading comprehension.
Post reply on HN