skillfed

qwasm

WebAssembly decoder & disassembler

qwasm v1.0.1 101.6K downloads/30d#12,925 on PyPI3
Permissive license MIT Abandoned released

What it is and what it does

qwasm is a Python library for reading and analyzing WebAssembly binary files. It parses WASM modules into their constituent sections (types, imports, functions, globals, exports, elements, code, data) and can disassemble bytecode into a human-readable mnemonic format. The library includes a wasmdump command-line tool for inspecting module structure in tree format, optionally with full function disassembly.

The package depends only on setuptools and installs as a pure-Python wheel, making it lightweight to add to a project. However, it has been abandoned since October 2022 with no maintenance activity, so it will not receive updates for new WebAssembly features or Python versions.

Use it for:

  • Inspect the structure and sections of a compiled WebAssembly module to understand its imports, exports, and data layout
  • Disassemble WebAssembly bytecode into readable instructions for debugging or reverse-engineering WASM binaries
  • Extract and analyze specific sections like globals, elements, or data segments from a WASM module programmatically
  • Use the wasmdump command-line tool to quickly dump a WASM file's structure in a readable tree format

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Decodes and disassembles WebAssembly binary modules into readable instruction format according to the MVP specification, with a command-line tool for inspecting module structure.

Yes, if you need to parse or disassemble WebAssembly binaries and can accept an abandoned codebase. The package is lightweight, has no vulnerabilities, and uses a permissive license. However, do not rely on it for production systems requiring ongoing maintenance or support for newer WASM specifications—test thoroughly against your target WASM versions first.

Install

qwasm on PyPI

pip

pip install qwasm

uv

uv add qwasm

poetry

poetry add qwasm

Installing qwasm

Before you install

Low friction installation via pure-Python wheel with only setuptools as a runtime dependency. However, the package is abandoned as of October 2022 with no updates since, so expect no maintenance or bug fixes.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe to use in most projects without licensing concerns.

Quickstart

pip install qwasm

from qwasm import decode_module

with open('module.wasm', 'rb') as f:
    raw = f.read()

mod_iter = iter(decode_module(raw))
header, header_data = next(mod_iter)

Verify before relying

  • Whether the package actually works with Python 3.10+ as claimed in the description, given its abandoned status
  • Current compatibility with modern WebAssembly specifications beyond the MVP version
  • Whether the wasmdump command-line tool is reliably installed and available after package installation

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — setuptools
Maintenance abandoned — 1,409 days since the last release
Last repo commit
First released
Downloads 101,603/month — #12,925 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: qwasm-1.0.1-py3-none-any.whl

Keywords: wasm, disassembler, decoder

Tags

webassembly decoderwasm disassemblerparse wasm bytecodewasm module analysiswebassembly binary parserwasm instruction formatwasm debugging tool
webassemblybinary-analysisdisassembler

More Software Development packages