AutoWIG: automatic generation of python bindings for C++ libraries

Pierre Fernique,Christophe Pradal
DOI: https://doi.org/10.7717/peerj-cs.149
2018-04-02
PeerJ Computer Science
Abstract:Most of Python and R scientific packages incorporate compiled scientific libraries to speed up the code and reuse legacy libraries. While several semi-automatic solutions exist to wrap these compiled libraries, the process of wrapping a large library is cumbersome and time consuming. In this paper, we introduce AutoWIG, a Python package that wraps automatically compiled libraries into high-level languages using LLVM/Clang technologies and the Mako templating engine. Our approach is automatic, extensible, and applies to complex C++ libraries, composed of thousands of classes or incorporating modern meta-programming constructs.
computer science, information systems, artificial intelligence, theory & methods
What problem does this paper attempt to address?