skillfed

itanium-demangler

Pure Python parser for mangled itanium symbols

itanium-demangler v1.1 217.2K downloads/30d#9,364 on PyPI39
Permissive license BSD Abandoned released

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-demangler

uv

uv add itanium-demangler

poetry

poetry add itanium-demangler

Installing 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

Operating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3

Tags

C++ symbol demanglingItanium ABI mangling parsermangled symbol ASTc++filt replacementbacktrace formattingC++ name demanglingsymbol name parsing
c++-toolingdebugging

More Software Development packages