88 releases (47 stable)

new 18.0.1 Feb 20, 2024
17.0.1 Feb 7, 2024
17.0.0 Jan 25, 2024
16.0.0 Dec 20, 2023
0.15.0 Mar 31, 2020

#1285 in WebAssembly

Download history 16294/week @ 2023-11-06 15247/week @ 2023-11-13 12532/week @ 2023-11-20 14349/week @ 2023-11-27 16147/week @ 2023-12-04 22432/week @ 2023-12-11 16510/week @ 2023-12-18 10341/week @ 2023-12-25 16933/week @ 2024-01-01 18799/week @ 2024-01-08 27646/week @ 2024-01-15 21383/week @ 2024-01-22 24541/week @ 2024-01-29 22900/week @ 2024-02-05 20373/week @ 2024-02-12 23240/week @ 2024-02-19

91,976 downloads per month
Used in 162 crates (18 directly)

Apache-2.0 WITH LLVM-exception

1.5MB
20K SLoC

wiggle

Wiggle is a code generator for the host side of a witx interface. It is invoked as a Rust procedural macro.

Wiggle is not specialized to any particular WebAssembly runtime. It is usable in at least Wasmtime and Lucet.

Learning more

Read the docs on docs.rs.

There are child crates for integrating with Wasmtime (this crate), and Lucet.

The wasi-common crate is implemented using Wiggle and the wasmtime-wasi crate integrates wasi-common with the Wasmtime engine.

Andrew Brown wrote a great blog post on using Wiggle with Wasmtime.

Dependencies

~8–21MB
~287K SLoC