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

Uploaded Python 3Windows ARM64

wabt_bin-2.1.0-py3-none-win_amd64.whl (884.8 kB view details)

Uploaded Python 3Windows x86-64

wabt_bin-2.1.0-py3-none-musllinux_1_1_x86_64.whl (816.7 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

wabt_bin-2.1.0-py3-none-musllinux_1_1_aarch64.whl (796.7 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

wabt_bin-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (816.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

wabt_bin-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (796.7 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

wabt_bin-2.1.0-py3-none-macosx_11_0_arm64.whl (773.1 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

wabt_bin-2.1.0-py3-none-macosx_10_9_x86_64.whl (826.8 kB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: wabt_bin-2.1.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 839.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.1.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 30eea6cc64ba0c0565d2a9ffbefdbe37f8c5b275e015977647136ab5e4fcff20
MD5 019640cf9aca10c64b12302da6372ba5
BLAKE2b-256 62ceb3a4c8b65b62d67e368b69495295c88d477b3aeee5ae15dd8dec9446eb66

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wabt_bin-2.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 884.8 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.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fd7ee3521a5e7464086bd756e02918e37f202d21f137dcc6d548d156f6aa2c57
MD5 3f554974bfa871a3f691420b60da1612
BLAKE2b-256 a8a6f3e953d873554403ec883021a10a736574f3c943209e1a310080deffad80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 095bc691718c82f3f0e0fac562f65f6daa649291c70d4e4daf753b21af06abb2
MD5 b5ed84f8576b7f07d6a59ff8115becca
BLAKE2b-256 c25ec195c694593fa67663eb0d03303b72ae0dc88b759938d408c374ec619f36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 bcbceb4601bccd47b87635fc7e53f1b8f037c3060fa71163f78834707c036369
MD5 7471f238cd600f74bddefddd62b89ab8
BLAKE2b-256 bbb2e1a8688ce05dc8dd3d715bcb03229048c6882378c2ab075e51679f940f92

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9b5011dab9e1f8a7c04c1cd688fba773a257b905e2a6c6b8e79ff92a2569344
MD5 d9b05b0e4a157d1ca499cf51861e6174
BLAKE2b-256 f8123b72a8f7750fa7de77d1246aa4c2ada98b44a86e7eaa1c69f6c5d80a6d12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 435db8facaa8d552b62540267064410be135ba9880c45bb223db86da518c50cc
MD5 dd558895fa9f950532d7fcc6ff556b01
BLAKE2b-256 50ee9b98e4f3e168e007630229a96560be2c7b240388a0ed6d400c038583e85b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae3c14fab5c53e3d5ed5306c8267bc1f5f678636c1db538fe012e598ad062753
MD5 7cf5eddd9e0f3e6942514219bc42c776
BLAKE2b-256 89301afc58dc277b3f1af76685e07aaf905a62b30abc698ae913c24904a27bb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.1.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae0fb4f6bbf4a6b41fe4306d4b2b00e21b670183296b0f524db69a3d86116074
MD5 2d67cd875aa2679d2bd35f1cc37d30e1
BLAKE2b-256 4b2bcfe8eafcd4c7d938bfc30a1ac3773a21d03d4d50135574419949c3e88a25

See more details on using hashes here.

Provenance

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