--- id: cxxfilt version: "0.3.0" license: BSD license_treatment: permissive maintenance: aging --- # cxxfilt — Python interface to c++filt / abi::__cxa_demangle License: permissive · Maintenance: aging · Downloads: 887.0K/mo ## 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 above — verify before relying. Demangle C++ symbol names by wrapping the abi::__cxa_demangle interface, converting mangled names like _ZNSt22condition_variable_anyD2Ev into readable C++ signatures. 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 pip install cxxfilt uv add cxxfilt poetry add cxxfilt ## Installing cxxfilt 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. 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() Requires libc and libc++/libstdc++ to be available on the system; will not work on Windows. Python 3.6 or greater. 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 - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 887.0K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags c++ symbol demangling, demangle mangled names, c++filt python wrapper, abi cxa demangle, decode c++ symbols, name mangling resolution, c++ name demangler, c++-interop, debugging, symbol-resolution [View on SkillFed](https://skillfed.io/packages/cxxfilt) · [View on PyPI](https://pypi.org/project/cxxfilt/)