finds.dev← search

// the find

wasmerio/wasmer-python

★ 2,149 · Rust · MIT · updated Sep 2023

🐍🕸 WebAssembly runtime for Python

Python bindings for the Wasmer WebAssembly runtime, written in Rust via pyo3. Lets you load and execute .wasm modules from Python with a choice of three compilers (Singlepass, Cranelift, LLVM) trading off compilation speed vs execution speed. Aimed at anyone who wants to run sandboxed native-speed code from Python without spawning a subprocess.

The three-compiler model is genuinely useful — Cranelift for dev iteration, LLVM for production throughput, Singlepass for blockchain/low-latency JIT-bomb-resistant use cases. The WASI support means you can run real CLI tools, not just toy math functions. The headless engine (pre-compiled .wasm) is a solid production pattern that avoids paying compilation cost at runtime. Test coverage is thorough — there are dedicated test files for every exported concept (memory, globals, tables, WASI, WAT parsing).

The repo has been dead since September 2023 and still only lists Python 3.7–3.10 wheel targets — no 3.11, 3.12, or 3.13 support, which is a blocker for anything current. Apple Silicon (aarch64-apple-darwin) is completely absent from the wheels table, so half of modern Mac development machines can't use it without building from source. The engine split (Universal/Native) was deprecated in upstream Wasmer 3.x; the Python bindings never caught up, so the API is already stale against the C runtime it wraps. No async support — if you're calling Wasm from an async Python service, you're blocking the event loop.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →