Extending web applications with WebAssembly and Python
wasmlabs.dev
wasmlabs.dev
Put another way, you could make one of those tier charts for WASM tooling, and if rust is in S tier, python is like C or D tier.
It can actually be compiled (or transpiled) into C code [1] with few limitations, so I can't see why not. It still requires libpython but it should be better than porting the whole interpreter to webassembly.
- [0] https://github.com/vmware-labs/webassembly-language-runtimes...
Took me a while to understand that exports are available for the wasm module to call and imports are what the wasm module can see to call.
Pyodide is certainly another option, but is emscripten based, not based in webassembly-language-runtimes or WASI.
Many server-side Wasm runtimes supports WASI out of the box. For the browser, you need to provide a polyfill to emulate these resources like the one provided by the WASI team [2].
Regarding SQLite, these builds include libsqlite so you should be able to use it :)
- [0] https://github.com/vmware-labs/webassembly-language-runtimes
- [1] https://wasi.dev/