# AutoWIG: Automatic Generation of Python Bindings for C++ Libraries

**Authors:** Pierre Fernique, Christophe Pradal

arXiv: 1705.11000 · 2017-06-01

## TL;DR

AutoWIG is a Python package that automates the creation of bindings for complex C++ libraries, simplifying the process of wrapping large, modern codebases into high-level languages.

## Contribution

It introduces an automatic, extensible method using LLVM/Clang and templating to generate bindings for complex C++ libraries, surpassing semi-automatic solutions.

## Key findings

- Automates binding generation for large C++ libraries
- Handles modern C++ features and meta-programming constructs
- Reduces manual effort and time in wrapping libraries

## 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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1705.11000/full.md

## Figures

10 figures with captions in the complete paper: https://tomesphere.com/paper/1705.11000/full.md

## References

34 references — full list in the complete paper: https://tomesphere.com/paper/1705.11000/full.md

---
Source: https://tomesphere.com/paper/1705.11000