$npx skillfedfor your agent

cxxfilt

Python interface to c++filt / abi::__cxa_demangle

With conditionsPyPI Build ToolsReleased Aug 2021887.0K downloads / moBSDPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — cxxfilt-0.3.0-py2.py3-none-any.whl
v0.3.0 · released 2021-08-21

Yes, if you work with C++ interop or native debugging on Unix systems. The package is stable, has no dependencies, and solves a specific problem well. However, maintenance is aging (last update 2021); if you need active support or compatibility guarantees beyond Python 3.9, verify first. Not usable on Windows.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires libc and libc++/libstdc++ to be available on the system; will not work on Windows.
  • Python 3.6 or greater.
  • Low install friction with no runtime dependencies.

License · maintenance · safety

BSD (permissive) — BSD license is permissive; you can use this package in most commercial and open-source projects without significant legal constraints.

last release 2021-08-21 (1819 days) · last repo commit 2025-12-24 · 39 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 887,005 downloads/mo, #4,809 on PyPI

Verify before relying

pip install cxxfilt

import cxxfilt
print(cxxfilt.demangle('_ZNSt22condition_variable_anyD2Ev'))
# Output: std::condition_variable_any::~condition_variable_any()
  • Whether the package works reliably with Python versions beyond those listed in classifiers (3.6 through 3.9)
  • Whether custom Demangler objects can reliably locate C/C++ libraries on all supported Unix systems
Same gist for agents: .md · .json

What it is and what it does

cxxfilt is a thin Python wrapper around the C++ standard library's abi::__cxa_demangle function, which converts mangled C++ symbol names into human-readable form. When you compile C++ code, the compiler mangles function and class names to encode type information; this package reverses that process so you can read stack traces, debug output, or binary introspection results.

The package provides a simple demangle() function for string input and demangleb() for bytes, plus a Demangler class for custom library selection. It handles both external symbols (the default) and internal symbols when requested, and raises InvalidName for invalid input. Since it depends only on system C/C++ libraries already present on Unix systems, installation is straightforward with no Python dependencies.

Use it for

  • Decode C++ symbol names in stack traces or crash dumps for debugging compiled extensions or native libraries.
  • Parse output from tools like nm or objdump that list mangled C++ symbols in binaries.
  • Inspect and log readable names when introspecting C++ libraries loaded via ctypes or cffi.
  • Build tooling that processes C++ build artifacts and needs human-readable symbol information.
  • Demangle internal C++ symbols when analyzing template instantiations or nested class definitions.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work with C++ interop or native debugging on Unix systems.

The package is stable, has no dependencies, and solves a specific problem well. However, maintenance is aging (last update 2021); if you need active support or compatibility guarantees beyond Python 3.9, verify first. Not usable on Windows.

Install

cxxfilt on PyPI

Before you install

Low install friction with no runtime dependencies. Last release was in 2021 and the repository is not archived, but the package has not been updated in several years; maintenance is aging.

Requires libc and libc++/libstdc++ to be available on the system; will not work on Windows. Python 3.6 or greater.

License in practice

BSD license is permissive; you can use this package in most commercial and open-source projects without significant legal constraints.

Quickstart

pip install cxxfilt

import cxxfilt
print(cxxfilt.demangle('_ZNSt22condition_variable_anyD2Ev'))
# Output: std::condition_variable_any::~condition_variable_any()

Verify before relying

  • Whether the package works reliably with Python versions beyond those listed in classifiers (3.6 through 3.9)
  • Whether custom Demangler objects can reliably locate C/C++ libraries on all supported Unix systems

Package facts

LicenseBSD permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAging 1,819 days since the last release
Last repo commit
First released
Downloads887,005 / month, #4,809 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Build Tools

Evidence: cxxfilt-0.3.0-py2.py3-none-any.whl

Tags

Capabilities
c++ symbol demanglingdemangle mangled namesc++filt python wrapperabi cxa demangledecode c++ symbolsname mangling resolutionc++ name demangler
Topics
c++-interopdebuggingsymbol-resolution
PyPI keywords
c++c++filtnamemangling

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “demangle mangled names”

  • cxxfiltDemangle C++ symbol names by wrapping the abi::__cxa_demangle…
  • rust-demanglerConverts mangled Rust symbol names into their human-readable form,…
  • pydemumbleProvides Python bindings to demumble, a tool for demangling C++,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Build Tools packages

packaging Worth it
PyPI · Build Tools · released Aug 2026

Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.

Apache-2.0 OR BSD-2-Clausepure Python · 3.9+
2.2Bdownloads / mo
tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
pip Worth it
PyPI · Build Tools · released Aug 2026

pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.

MITpure Python · 3.10+
617.5Mdownloads / mo
hatchling Worth it
PyPI · Python Modules · released Aug 2026

Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.

MITpure Python · 3.10+
484.2Mdownloads / mo
grpcio-tools Worth it
PyPI · Build Tools · released Jul 2026

Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.

Apache-2.0compiled wheel · 3.10+
278.2Mdownloads / mo
pre-commit Worth it
PyPI · Build Tools · released Aug 2026

pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.

Install it if your team needs consistent, automated validation at commit time.

permissive licensepure Python · 3.10+
179.9Mdownloads / mo

See also itanium-demangler · rust-demangler · pydemumble · abi3info · pyobjc-framework-Symbols · currency-symbols · binsize · dlinfo · lcov-cobertura