Metadata-Version: 2.1
Name: cpp-demangle
Version: 0.1.0
Summary: A package for demangling C++ linker symbols
Home-page: http://github.com/benfred/py-cpp-demangle/
Author: Ben Frederickson
Author-email: ben@benfrederickson.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities

py-cpp-demangle: Demangles C++ linker symbols
============================================================

.. image:: https://travis-ci.org/benfred/py-cpp-demangle.svg?branch=master
    :target: https://travis-ci.org/benfred/py-cpp-demangle
.. image:: https://ci.appveyor.com/api/projects/status/bh3usbvstog4x42x/branch/master?svg=true
    :target: https://ci.appveyor.com/project/benfred/py-cpp-demangle

A package for demangling C++ linker symbol strings

This package provides python bindings for the rust crate
`cpp_demangle <http://github.com/gimli-rs/cpp_demangle>`_ by building
a native Python extension using `PyO3 <https://github.com/pyO3/pyO3>`_.

This is mainly an experiment in creating python extensions in Rust.
`A blog post about this is here.
<https://www.benfrederickson.com/writing-python-extensions-in-rust-using-pyo3/>`_

Usage
-------------------

To install

.. code-block:: python

    pip install cpp-demangle


Building from source requires the nightly version of the rust compiler.

This module exposes a single function that transforms C++ linker symbols to a human readable
representation.

.. code-block:: python

    from cpp_demangle import demangle

    print(demangle('_ZN7mangled3fooEd'))
    # prints 'mangled::foo(double)'

Released under the MIT License


