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-py3-none-win_arm64.whl (794.2 kB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.1+ x86-64

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

Uploaded Python 3musllinux: musl 1.1+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for wabt_bin-2.0.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 cc698b0dd9e392a728fff8fb156ba303b8ac7234787227763e388b20dd250306
MD5 6d5c7c86d483182f76b5831c8bc13a72
BLAKE2b-256 18f9957780c8510c43efd45c13c57202435b14b36f9d43e63af9ec0beb1e7808

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-win_amd64.whl.

File metadata

  • Download URL: wabt_bin-2.0.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 837.9 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-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cca896b5abc381a570d976440877040ce7785bb5cff77ff8f908deaf3c5f59a0
MD5 a112b635ecd30ff0b8d46b1be06004ca
BLAKE2b-256 2eabd71c451807b92e7129c5e3091495de3fe9ce7347cf17889827069002ce3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 91a23936cb84b5cec039eb2ecec31844c9bc17deea7254cbbc69222d932c37b0
MD5 c5c071d046e87ccf52bfdcc78b665503
BLAKE2b-256 2222f36596f08f2797752dbb6839758fa022872c1e6a32fef5f6ce84d251b449

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a5f4d172a63b8a03d629de7e3a37166e7f3af8173c89e60cf77724937288940c
MD5 3df9102a835f3084a7f5639265402a01
BLAKE2b-256 fbc9a81fba735ed570df55254b5cb44636d31eb23ce162673b8decb23a535c4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60da74690b77f1fd8acacf4be238cce26a09dffca35879e6dad0890ac187e3c9
MD5 a8dd4615f37b1ec157252a979fd72ed4
BLAKE2b-256 85b77cb4ffe257b9eaa0813fec392987abb56036a209f31b640ddbcfc3782a93

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a3500d0128d8ecbd6f517d40f1a3a3b4a0430aed21fe41f0dbfe2891587e4d5
MD5 2d779891d5eeaf1d48d171881e045c24
BLAKE2b-256 197157f3cea7278a9242beb86b25d2cc1983afbc65c31bac2d1348aea092747c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 566a28f582a2c2f87bc0ae811eb939454b1d2bd8e0b9f08a4268801034c8b9f7
MD5 2465cbd65f50d991254df80273271341
BLAKE2b-256 5f4947d130ded05fa91a8405f43cfcd44c82d8dc36c8d9cd4ae2d19fa9287ba1

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for wabt_bin-2.0.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9c8442ddd5f5c6b107dfa37490816a7dc8e80f6c23ef000cf13cb6461afc4a44
MD5 84e4aea15874fa8d5857edbcc3f92968
BLAKE2b-256 16aa66da1517617ab496c1046f6cd0748c33c130d96ab6097f0c027ae6726636

See more details on using hashes here.

Provenance

The following attestation bundles were made for wabt_bin-2.0.0-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