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

Pierre Fernique 1, 2, 3 Christophe Pradal 3, 4, 1
3 VIRTUAL PLANTS - Modeling plant morphogenesis at different scales, from genes to phenotype
CRISAM - Inria Sophia Antipolis - Méditerranée , INRA - Institut National de la Recherche Agronomique, UMR AGAP - Amélioration génétique et adaptation des plantes méditerranéennes et tropicales
4 ZENITH - Scientific Data Management
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier, CRISAM - Inria Sophia Antipolis - Méditerranée
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.
Document type :
Journal articles
Complete list of metadatas

Cited literature [34 references]  Display  Hide  Download

https://hal.inria.fr/hal-01756458
Contributor : Christophe Pradal <>
Submitted on : Saturday, April 28, 2018 - 11:26:24 AM
Last modification on : Friday, May 10, 2019 - 2:42:33 PM

File

peerj-cs-149.pdf
Files produced by the author(s)

Licence


Distributed under a Creative Commons Attribution 4.0 International License

Identifiers

Citation

Pierre Fernique, Christophe Pradal. AutoWIG: automatic generation of python bindings for C++ libraries. PeerJ Computer Science, PeerJ, 2018, 4, ⟨10.7717/peerj-cs.149⟩. ⟨hal-01756458⟩

Share

Metrics

Record views

440

Files downloads

612