Defined in uproot.model on line 171.


Converts a Python (encoded) classname, such as Model_Some_3a3a_Thing into a C++ (decoded) classname, such as Some::Thing.

C++ classnames can include namespace delimiters (::) and template arguments (< and >), which have to be translated into [A-Za-z_][A-Za-z0-9_]* for Python. Non-conforming characters and also underscores are translated to their hexadecimal equivalents and surrounded by underscores. Additionally, Python models of C++ classes are prepended with Model_ (or Unknown_ if a streamer isn’t found).