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.2.0-py3-none-win_arm64.whl (1.8 MB view details)

Uploaded Python 3Windows ARM64

wabt_bin-2.2.0-py3-none-win_amd64.whl (2.2 MB view details)

Uploaded Python 3Windows x86-64

wabt_bin-2.2.0-py3-none-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

wabt_bin-2.2.0-py3-none-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

wabt_bin-2.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

wabt_bin-2.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

wabt_bin-2.2.0-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

wabt_bin-2.2.0-py3-none-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: wabt_bin-2.2.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 1.8 MB
  • 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.2.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 1afa81259eb656b6825ee69f486b9bebb7a8b3575ad94ed5f165a5b1e6736f2f
MD5 8383fc6b54bb6dfa8b44a279c73c9d28
BLAKE2b-256 aa68958b48eef68ff2e2cf0eddd2a178ba4fdb2b15e2844b2f386b768cbdce12

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wabt_bin-2.2.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • 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.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2da990f9a8405c002a476a9a7d59b6db4f9dcbdebfa852eaa3956be8b680dab5
MD5 ce06ad2365bc0a9c24370a671c8cebeb
BLAKE2b-256 4ebca3f20351dbcf723c41693245891374df813a8689ecc94045e8171958c4f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 285617455fd836d3a838e3fa7d433ca96b55c4f1997b33cea421797f13f51da2
MD5 1a533e461f9f2ee1feb7fa8b5006a2d1
BLAKE2b-256 281b3588c205069f2386b570aea922db695c7f131182a3fd9aad002bb516d4ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8c52d6a2fec5f908106bf9c6d54484bb4038a2b04de452930e5b97b63f5a5a3b
MD5 d8134d3f14fbdb9c33a9261a760c2b09
BLAKE2b-256 ca3d6f65abd45bc60c6df096bc2156d9a160a90472cd69f8eddb4d4549612568

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4348b85e9f0223989c2dc77dd25b46d99ea110c055c18948f4033e33e4c9139e
MD5 cd2c6fec997c562b46608040111aebd1
BLAKE2b-256 7eb86f9cdb5726c5f4015a7daf834603b6cce716d71919b89559f29b10aedb8f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06b734f566aae61268ff2036b97747303081c97f97e92b5d804588c6ca02858f
MD5 5781d7dab686e28b09d17881e4d1a3e3
BLAKE2b-256 d85b1c58a15175685012f5663a38390f34251eb286ea0683fb571cda37715fba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5766b949618fd7d4c05e6dc48423d9a27aa3e1ad8e60a4c99d20ca304031043c
MD5 dee74f05c915a3b0bd4e59a29fb958d6
BLAKE2b-256 bfb81d94e9380c4af79345a2764baecce8c9558d12094b99f4db0b14d17a9d4a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.2.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1779e452b8b4241a70a84dad5b60d45208dd2c7a2e54b203f0ba3f1759e3285c
MD5 0190fa349af9d83ef09b115bd1397e18
BLAKE2b-256 f85ecf53b09cabdcdcc40689223d3a25ff5a3ef87c666761d651d76dba40b1a5

See more details on using hashes here.

Provenance

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