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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.1+ x86-64

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

Uploaded Python 3musllinux: musl 1.1+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 369361ab1707d3fa38f18aa16796efd43c97e540435e09d0a7ebcba0bfd20771
MD5 7d1e5bba9fc3e8168604577aea25ccb6
BLAKE2b-256 9beda0ccda87096c7a9136a4cdd42fc71ce5c59fef0a108b48480045fd11d8c7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wabt_bin-2.0.0.dev5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 838.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.dev5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9a7dec1e668b479d6428d2ae280610c62cd00d94fa3685147ed92c8c0fc42841
MD5 95decd17afb9d151710ebc2143be1ee5
BLAKE2b-256 98fc586f263d6252117b7e195d765a970d1ee049d0e1412953d0490340fcbb64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a48f7fdcec89569844a3f48e2f7c28fc52a2135bdaa0c0a418e4423abab4e489
MD5 8bdd52f65a30bf77dc9a9c2604a4edf6
BLAKE2b-256 71f6037f6b810353bad596cc7ce0994dc5ebb8f9dd39a1c19afebadf9d226c5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 fc53463246de3e105fa466817e12d12c593150dae048ac28b452e3fa5ee40cbd
MD5 0bb7119d582f6af3a0bcc4403acdca47
BLAKE2b-256 8341fc6f2dc5ed9c5a8c82ccb9b89686e3edc7f52fe7ee6e787ac674e6f8f361

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f597b87c9881b0066313b1235fc7a6afad8df0982cc434ce62ee27083702b231
MD5 c0645d231ca29b088e91e66d5a9bce72
BLAKE2b-256 452365c5e2b402d23e4dc341fae6d0dc079da1df2c0e13c4c1ca04ee54937b7b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7b564ace89b75e4d5eebd4e709b6bdd50b2e3b68d6a050fbd5f7c432355834f
MD5 45ff03105d22d7cd38ebebb4f5240478
BLAKE2b-256 d84d008393d5bf7f6963ee228162a5388a660b60e2fc299c0e8550fd49a0c313

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11db8130d26777f62071339b7c87326b78d19b1dd9b0c0554bcacd3e8cd14d4f
MD5 331fb2da77e935df77b95fa2e40dd0dd
BLAKE2b-256 e84e8a54a7c0d0a4b1952ec5133d3af42c735e41e725ffdd628d41e0dc1a415c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev5-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 18a19e254389c724f4799ef61c03b1c69b580c783cad5fa41b7831056fa55b7d
MD5 f7e477b08d61f83bcc04dc53ce4a5e94
BLAKE2b-256 f8757fc28e8ba7b04381bf88e4e513edb1729cc57d1d3529a4761c50c9796589

See more details on using hashes here.

Provenance

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