top | item 46829975

(no title)

manojlds | 1 month ago

How does this all compare to using pyodide?

discuss

order

sd2k|1 month ago

I'm not super familiar with how pyodide works but I think it uses CPython compiled with Emscripten then needs to be run from a Javascript environment, and uses the browser's (or Node's) Wasm engine.

This uses CPython compiled to WASI and can (in theory) be run from any WASI-compatible Wasm runtime, in this case wasmtime, which has bindings in lots of languages. WASI uses capability based security rather than browser sandboxing and lets the host intercept any syscalls which is pretty cool. Wasmtime also lets you do things like epoch-based interruption, 'gas' for limiting instruction count, memory limits, and a bunch of other things that give you tons of control over the sandbox.

Pyodide/Emscripten might offer something similar but I'm not sure!

manojlds|29 days ago

Thanks for the explanation, need to dive in deeper into wasm / wasi - I didn't realize there was a difference.

simonw|1 month ago

A lot of it IS using Pyodide, but wrapping it in a way that's convenient to use not-in-a-browser.