Skip to main content

WebAssembly Binary Toolkit — native CLI tools

Project description

WABT: The WebAssembly Binary Toolkit

A fork of WebAssembly/wabt ported from C++ to Zig and maintained with AI assistance.

100% WebAssembly 3.0 spec conformance — 65,011/65,011 tests passing.

Install

Pre-built binaries are published to GitHub Releases and PyPI. See installation details.

$ dist install cataggar/wabt
$ uv tool install wabt-bin

Tools

  • wat2wasm: translate from WebAssembly text format to the WebAssembly binary format
  • wasm2wat: the inverse of wat2wasm, translate from the binary format back to the text format (also known as a .wat)
  • wasm-objdump: print information about a wasm binary. Similar to objdump.
  • wasm-interp: decode and run a WebAssembly binary file using a stack-based interpreter
  • wasm-decompile: decompile a wasm binary into readable C-like syntax
  • wat-desugar: parse .wat text form and print canonical flat format
  • wasm-strip: remove sections of a WebAssembly binary file
  • wasm-validate: validate a file in the WebAssembly binary format
  • wast2json: convert a file in the wasm spec test format to a JSON file and associated wasm binary files
  • wasm-stats: output stats for a module

Building

Requires Zig 0.15.x. No other dependencies.

$ git clone --recursive https://github.com/cataggar/wabt
$ cd wabt
$ zig build

For release builds:

$ zig build -Doptimize=ReleaseSafe

Cross-compilation works out of the box:

$ zig build -Dtarget=aarch64-linux -Doptimize=ReleaseSafe
$ zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
$ zig build -Dtarget=x86_64-windows -Doptimize=ReleaseSafe

Running tests

Unit tests:

$ zig build test

Wasm 3.0 spec tests:

$ zig build -Doptimize=ReleaseSafe
$ ./zig-out/bin/spectest-interp third_party/testsuite/i32.wast

Wasm 3.0 proposals

All ratified Wasm 3.0 proposals are enabled by default:

Proposal Status
Exception handling
GC (garbage collection)
Memory64
Multi-memory
Tail calls
Relaxed SIMD
Extended const
SIMD
Bulk memory
Reference types
Multi-value
Annotations

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

wabt_bin-2.0.0.dev4-py3-none-win_arm64.whl (138.9 kB view details)

Uploaded Python 3Windows ARM64

wabt_bin-2.0.0.dev4-py3-none-win_amd64.whl (152.0 kB view details)

Uploaded Python 3Windows x86-64

wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_x86_64.whl (153.4 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_aarch64.whl (161.1 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (153.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (161.1 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

wabt_bin-2.0.0.dev4-py3-none-macosx_11_0_arm64.whl (124.9 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

wabt_bin-2.0.0.dev4-py3-none-macosx_10_9_x86_64.whl (130.9 kB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 283689f86a54c6f604ad5a6dd1dd73d9b0735b6b7245a8023bee531d49e949c3
MD5 7f1a4b7ee4a9443b24652b5810c70e64
BLAKE2b-256 1b1f90755ffc5767d699994f89380aaf64af09b55746d141053f091c88fdcd5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-win_arm64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-win_amd64.whl.

File metadata

  • Download URL: wabt_bin-2.0.0.dev4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 152.0 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6d3d64a5359a4c23c4b88c217c6ef101370691255db68c9a76e1c78830199d37
MD5 aa014529e8602ef8d35a3fa6b70b0b69
BLAKE2b-256 f535f264cdc424e32c63ca94159a31c0dcd706fc29a3ab9c5863fcfd14e57592

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-win_amd64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4b26f89570b396a1c48f385588d6f1172b3591dfa2dd5423c57a71b68f3909e1
MD5 fb7b6045c3df5369c7ce4ccb3e94bde3
BLAKE2b-256 cf5b85654f0723177b4eac4e505794494329801bf5483d54d5e8e81e36be7fd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_x86_64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6a1560dab3c608dd8d318fb93fc197ac8cfe375a3b51ae9bcc90a3c0226850eb
MD5 5e20e632f27160b765dfbf362eff0173
BLAKE2b-256 96060443ba001058839cd9f2af270de4e3ef0bb450ddfda2101e8a5abb50c1de

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-musllinux_1_1_aarch64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44489a4ac3b9be2cca2f1354d9e84b986731bc36a8a660ffc31fb6b8b27bcb9a
MD5 07be1f6d8ab10a18afdff26a2ee01378
BLAKE2b-256 520476984d9e4afd32e41b30c45a48a0366db2059e25587ab0a0049e3b6276cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7abaf568d180d4c57d8e1b62c7d1376cb920b5006ab13d10c01818e7350566f1
MD5 d070c8929c2ba2197c598a496e504f4c
BLAKE2b-256 d6fc2ae383d3d0add22e510ae61050f9ce9404be6aca216552156b55b4099c58

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7946e920cddd2530472c4b978645e8427604408662cc7042b7bba2d3fe8cd77e
MD5 f822fcecb7d296795ae44d16b0031430
BLAKE2b-256 9b8e9dd8686d9fd1911f9f2a4e28f436850bb2ea767b769abc988326a8e54f5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-macosx_11_0_arm64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wabt_bin-2.0.0.dev4-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04dcd098476b661c1749395ed0a88f7441862f96c0d73101e78bef1849e3e87c
MD5 5adebc5139f0dabda68159640e58e034
BLAKE2b-256 bb73c5381962e3fd8b255ec07408df455e60143beb90d4b8b330b363f73b3bee

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0.dev4-py3-none-macosx_10_9_x86_64.whl:

Publisher: pypi.yml on cataggar/wabt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page