{"id":27878,"library":"itanium-demangler","title":"itanium-demangler","description":"A pure Python library for demangling Itanium C++ ABI symbol names (used by GCC, Clang, and others). Version 1.1 is current; it is stable and rarely updated.","status":"active","version":"1.1","language":"python","source_language":"en","source_url":"https://github.com/whitequark/python-itanium_demangler","tags":["demangler","itanium","c++","abi","parser"],"install":[{"cmd":"pip install itanium-demangler","lang":"bash","label":"Default install"}],"dependencies":[],"imports":[{"wrong":"from itanium_demangler import demangle_symbol","symbol":"parse","correct":"from itanium_demangler import parse"},{"symbol":"Node","correct":"from itanium_demangler import Node"},{"symbol":"name","correct":"from itanium_demangler import name"}],"quickstart":{"code":"from itanium_demangler import demangle_symbol\n\nmangled = '_Z3fooi'\nresult = demangle_symbol(mangled)\nprint(result)  # 'foo(int)'","lang":"python","description":"Demangle a single Itanium C++ symbol."},"warnings":[{"fix":"Check that the symbol follows the Itanium ABI pattern (starts with _Z). Use different demanglers for other platforms.","message":"The library only handles Itanium ABI mangling (GCC/Clang). It will not demangle MSVC or Rust symbols; it returns None for unrecognized inputs.","severity":"gotcha","affected_versions":"all"},{"fix":"Always check the result: if result is None, handle the error gracefully.","message":"The function returns None if demangling fails, not an exception. Do not assume success without checking the return value.","severity":"gotcha","affected_versions":"all"},{"fix":"No immediate action needed; but for active development consider if alternatives (e.g., libcxx Demangle) are needed.","message":"Version 1.1 is older; the library is in maintenance mode with few updates. There are no known deprecations, but new features should not be expected.","severity":"deprecated","affected_versions":"1.0, 1.1"}],"env_vars":null,"search_vec":"'1.1':22 'abi':12,34 'c':11,33 'clang':18 'current':24 'demangl':3,9,31 'gcc':17 'itanium':2,10,32 'itanium-demangl':1 'librari':7 'name':14 'other':20 'parser':35 'pure':5 'python':6 'rare':29 'stabl':27 'symbol':13 'updat':30 'use':15 'version':21","created_at":"2026-05-09T05:52:33.194149+00:00","updated_at":"2026-05-09T05:52:33.194149+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/whitequark/python-itanium_demangler","docs":null,"changelog":null,"pypi":"https://pypi.org/project/itanium-demangler/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}