itanium-demangler
Pure Python parser for mangled itanium symbols
What it is and what it does
Itanium Demangler is a pure Python parser that converts Itanium C++ ABI mangled symbol names into an abstract syntax tree (AST). It takes the cryptic mangled names produced by C++ compilers (like `_ZN5boost6chrono24process_system_cpu_clock3nowEv`) and parses them into a structured representation that lets you extract type information directly without needing to read C++ source code. The package includes a built-in AST stringifier, so it can also act as a drop-in replacement for the `c++filt` command-line tool or be used to format and interpret backtraces.
The package has no runtime dependencies and runs on Python 2 and 3. However, it has been abandoned since 2022 with no active maintenance, so while it remains functional for its core purpose, you should not expect updates for new Python versions, security issues, or edge cases in the Itanium mangling standard.
Use it for:
- Formatting C++ backtraces by demangling symbol names for human-readable output.
- Extracting type information from mangled C++ symbols in debugging or analysis tools.
- Replacing or supplementing c++filt in build pipelines or log processing workflows.
- Parsing Itanium-mangled names in profilers, crash reporters, or reverse-engineering tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses Itanium C++ ABI mangled symbols into an abstract syntax tree, enabling direct type extraction and symbol demangling without interpreting source code.
Yes, if you need to demangle Itanium C++ symbols and can tolerate an unmaintained package. The core functionality is stable and has no dependencies, making it low-risk to install. However, do not rely on it for security updates or compatibility with future Python versions—treat it as a utility for a specific, narrow task rather than a long-term dependency.
Install
itanium-demangler on PyPI
pip
pip install itanium-demangleruv
uv add itanium-demanglerpoetry
poetry add itanium-demanglerInstalling itanium-demangler
Before you install
Installation is straightforward with no runtime dependencies. The package is abandoned as of 2022 with no recent maintenance, so security updates and bug fixes are unlikely.
License in practice
Licensed under BSD (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
from itanium_demangler import parse as demangle
ast = demangle("_ZN5boost6chrono24process_system_cpu_clock3nowEv")
print(ast) # boost::chrono::process_system_cpu_clock::now()
Verify before relying
- Whether Python 2.7 support is still relevant or if the package has been tested on modern Python versions only.
- Whether the AST structure and API are stable or subject to breaking changes in future maintenance.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,455 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 217,194/month — #9,364 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: itanium_demangler-1.1-py3-none-any.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
cxxfiltDemangle C++ symbol names by wrapping the…
permissive · top 5,000 on PyPI
rust-demanglerConverts mangled Rust symbol names into their…
permissive · top 15,000 on PyPI
pydemumbleProvides Python bindings to demumble, a tool…
permissive · top 15,000 on PyPI
abi3infoabi3info exposes CPython's limited API and…
permissive · top 15,000 on PyPI
py-asciimathConverts between ASCIIMath, LaTeX, and MathML…
permissive · top 5,000 on PyPI
mapfile_parserParses compiled binary map files (GNU ld, clang…
unclear · top 15,000 on PyPI
price-parserExtracts price amounts and currency symbols…
permissive · top 5,000 on PyPI
openqasm3Provides a reference abstract syntax tree (AST)…
permissive · top 15,000 on PyPI
ast-decompilerConverts Python abstract syntax trees (ASTs)…
permissive · top 15,000 on PyPI
cxxheaderparserParses C++ header files into Python data…
permissive · top 15,000 on PyPI