Inter-language & build tools
Inter-language integration with the thinnest native seams — CLI tools, CI automation & ports built with them.
Turns WebAssembly modules into native CPython extensions, in the manner of Cython. The .wasm is translated to C by wasm2c and compiled when the extension is built,
so the module runs without a WebAssembly engine, at the speed of compiled C. Exports become methods of an Instance, instances can be linked to each other without Python in between,
and WASI preview 1 is supported. Built extensions are tested on Linux, Windows, macOS, Pyodide and Android.
WABT, the WebAssembly Binary Toolkit, as a Python package: prebuilt wat2wasm, wasm2c, wasm2wat and the other tools, plus the wasm2c runtime and the simde headers for SIMD modules.
No WABT build needed. Wheels for Linux (glibc and musl), Windows and macOS. An unofficial redistribution.
wasm-tools, the Bytecode Alliance's WebAssembly toolkit, as a Python package: the prebuilt wasm-tools executable with all its subcommands
(parse, print, validate, component, objdump, strip, ...), plus a small run() wrapper for calling it from Python.
No Rust toolchain needed. Wheels for Linux (glibc and musl), Windows and macOS. An unofficial redistribution.
WebAssembly from CPython, PyPy and Pythonista, with the JavaScript WebAssembly API: modules, instances, memory, globals and host functions. It runs on whichever backend is available:
JavaScriptCore (including a JSContext in Pythonista on iOS), Node or Bun, or, when installed, wasmtime or wasm3. Plain Python, no dependencies, no C extension of its own.
Header-only C host for the WASI Component Model, for core modules fused from components (wasm2c and other C hosts), with a Python twin. It implements the flat core form of the wasi:* imports
and nothing else: no engine, no component parser. Placeholder — nothing is released yet.