[New-bugs-announce] [issue46315] Add support for WebAssembly System Interface (wasm32-wasi)

Christian Heimes report at bugs.python.org
Sun Jan 9 09:47:43 EST 2022

New submission from Christian Heimes <lists at cheimes.de>:

WASI is another WebAssembly platform similar to Emscripten (bpo-40280). Simply speaking Emscripten binaries (wasm32-emscripten) run inside a browser while WASI binaries target standalone runtimes like wasmtime [2][3] on the host. The lines are a bit blurry, as it is possible to run WASI binaries in the browser with help of JS-polyfills. WASI provides compile once, run anyway with JIT/AOT and sandboxing.

WASI is still under development and is lacking several core features:

- threading support and pthread API
- sockets
- signals are emulated (_WASI_EMULATED_SIGNAL and -lwasi-emulated-signal)
- DAC APIs like chmod, umask
- user-related APIs like pwd, grp
- dup(), dup2(), F_DUPFD

For 3.11 I plan to fix our use of #ifdef HAVE_FEATURE to make it easier to experiment with WASI. The pthread APIs need stubs, which I won't commit to 3.11 upstream yet.

[1] https://wasi.dev/
[2] https://github.com/bytecodealliance/wasmtime
[3] https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/

assignee: christian.heimes
components: Build
messages: 410153
nosy: christian.heimes
priority: normal
severity: normal
status: open
title: Add support for WebAssembly System Interface (wasm32-wasi)
type: enhancement
versions: Python 3.11

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list