pydemumble
A Python wrapper library for demumble; demumble is a tool to demangle C++, Rust, and Swift symbol names.
What it is and what it does
pydemumble wraps the demumble C++ demangling tool as a Python library, letting you convert mangled symbol names from C++, Rust, and Swift compilers back into readable form. This is useful when working with compiled binaries, debugging symbols, or analyzing compiled code where symbol tables contain only mangled names. The package ships as a compiled extension (wheels for multiple platforms), so installation is straightforward on supported systems but requires Python 3.12 or later.
The library has no runtime dependencies beyond Python itself, making it lightweight to add to a project. It's actively maintained and recently released, with a small but focused user base. The permissive BSD license poses no restrictions for most use cases.
Use it for:
- Reverse-engineering or analyzing compiled binaries to resolve mangled symbol names to their original declarations
- Debugging tools that need to display human-readable names from compiler-generated symbol tables
- Build systems or analysis pipelines that process compiled artifacts and need to demangle symbols for reporting
- Security research or binary analysis workflows where understanding function and type names is essential
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to demumble, a tool for demangling C++, Rust, and Swift symbol names into human-readable form.
Yes, if you need to demangle C++, Rust, or Swift symbols in Python. The package is actively maintained, has no external dependencies, carries a permissive license, and is available on all major platforms. The Python 3.12 or later requirement is the only notable constraint; check your project's minimum version before installing.
Install
pydemumble on PyPI
pip
pip install pydemumbleuv
uv add pydemumblepoetry
poetry add pydemumbleInstalling pydemumble
Before you install
Medium install friction due to compiled wheel distribution; actively maintained with recent releases. Requires Python 3.12 or later. Pre-built wheels available for common platforms.
License in practice
Licensed under BSD (permissive), allowing use in most projects without significant legal constraints.
Quickstart
pip install pydemumble
import pydemumble
demangled = pydemumble.demumble('_ZN3foo3barEv')
Requires Python 3.12 or later
Verify before relying
- Whether demumble's full feature set is exposed through the Python API or if some functionality is unavailable
- Performance characteristics compared to calling demumble directly or other demangling approaches
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 314,514/month — #7,697 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pydemumble-0.1.3-cp312-abi3-macosx_10_14_x86_64.whl; pydemumble-0.1.3-cp312-abi3-macosx_11_0_arm64.whl; pydemumble-0.1.3-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; pydemumble-0.1.3-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; pydemumble-0.1.3-cp312-abi3-musllinux_1_2_aarch64.whl; pydemumble-0.1.3-cp312-abi3-musllinux_1_2_x86_64.whl; pydemumble-0.1.3-cp312-abi3-win_amd64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
rust-demanglerConverts mangled Rust symbol names into their…
permissive · top 15,000 on PyPI
itanium-demanglerParses Itanium C++ ABI mangled symbols into an…
permissive · top 15,000 on PyPI
cxxfiltDemangle C++ symbol names by wrapping the…
permissive · top 5,000 on PyPI
pybind11-globalA header-only C++ library that generates Python…
permissive · top 15,000 on PyPI
mapfile_parserParses compiled binary map files (GNU ld, clang…
unclear · top 15,000 on PyPI
pybind11pybind11 is a header-only C++ library that…
permissive · top 1,000 on PyPI
pyobjc-framework-SymbolsProvides Python bindings for macOS's Symbols…
permissive · top 15,000 on PyPI
minify-htmlMinifies HTML, JavaScript, and CSS in a single…
permissive · top 5,000 on PyPI
clangProvides Python bindings to libclang, allowing…
permissive · top 5,000 on PyPI
binsizeAnalyzes symbol sizes in compiled binaries by…
permissive · top 15,000 on PyPI