About this project

Wasmi is a WebAssembly (Wasm) interpreter written in Rust, designed for efficiency and lightweight operation, particularly targeting constrained and embedded systems. It provides simple, correct, and deterministic execution of WebAssembly modules. Key features include: - **Embedded-friendly**: Supports `no_std` environments. - **Spec compliant**: Passes 100% of the WebAssembly spec testsuite. - **API compatibility**: Loosely mirrors the Wasmtime API for easy drop-in replacement. - **Fuel metering**: Built-in support for metering execution. - **C-API support**: Implements the official Wasm C-API. - **Security**: Has undergone two independent security audits. It supports a wide range of WebAssembly proposals, including SIMD, memory64, multi-memory, tail calls, and more. It also offers WASI support via a separate crate. Wasmi is used by projects like Soroban, Typst, Zellij, and others. It is dual-licensed under Apache-2.0 and MIT.