Skip to main content

WebAssembly Binary Toolkit — native CLI tools

Project description

WABT: The WebAssembly Binary Toolkit (Zig)

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.

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
  • wasm2c: convert a WebAssembly binary file to a C source and header
  • 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
  • spectest-interp: run WebAssembly spec tests (.wast files)

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.1+ x86-64

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

Uploaded Python 3musllinux: musl 1.1+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 92588578709c776ca5d04546d0f5395300214179acca7762fa22bccdc4b69a08
MD5 2e687b8028a6026107fbf41f989ebf07
BLAKE2b-256 62ba9d2a8c932861bb152cbfefddc87bdbdc7c0491301bf5df31a3887fae678d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wabt_bin-2.0.0.dev2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 151.6 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.dev2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 95c4e39d34024590a06c77fffac3a883a98af48ef90c2d4b1b36683c432845af
MD5 12cfee36b52e67d62811a88a1318da54
BLAKE2b-256 2e429ca5df5cbdcc512c450c1c49d0061aabde58ee8464768c4aa60e6149e510

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 81f570aa9ca9ad02ce3d9393f6a068e71482b03c0e3b02e5ea83f15853d8d129
MD5 dfd8442a28ac94c4c731752bbcc22352
BLAKE2b-256 0cfb4205ffcb5d9aaae5a5d8e2c4a066be6268e4d14cd3d581c44889a48cbace

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 5dce9d9d310b9da674f51e9f5d821a640e6c307094947840fd54fcddb140fecf
MD5 be0cc8d7f2c1fe0ae0b6ab7147127f44
BLAKE2b-256 42ef1de12097ef24c229dd063e5b787f28cd247213333e55ad2df0c5ff08796a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4750dc5efafda859e1b45831fe5dce78f0cc3299a179c5a29c9f89bf63297a51
MD5 421d66e1fbec418d9e8b85b1c75a603d
BLAKE2b-256 4cfc53fdda7e2b8285674f1872c5fc1c0e9f9e5adc55922906b8bcd25006270a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db1c4a38eb59dcda38e01d315e8754a77fcf77113745e3454415edebd519ec53
MD5 7eb1bc1ab1740fade06795cef036f6f8
BLAKE2b-256 22d6616d116804b1508439cb248dc2d03c43bc42fe2e26f8de95f15a516f4d12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d262325f3b6094e9288605fb72bfc8079a44161d0a106e98881481afed661483
MD5 7e97339161e38a92096550671051890f
BLAKE2b-256 075ae865da4cbdf230f3874c6bee204d05d986da78a7f1ae2b79e19357f1760c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wabt_bin-2.0.0.dev2-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0f9d073e50b36f967ff335bbdc02e365dd0f85e8e84bb0f4594003e0912efc83
MD5 83a3c55790660ec24ae8d9739686f28f
BLAKE2b-256 ce8a7ffab0f6490231da57ce8939003dd13878603cb4512cab198948859e1e74

See more details on using hashes here.

Provenance

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