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
UMR AGAP - Amélioration génétique et adaptation des plantes méditerranéennes et tropicales, INRA - Institut National de la Recherche Agronomique, CRISAM - Inria Sophia Antipolis - Méditerranée
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 : Sunday, July 21, 2019 - 4:12:42 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, pp.e149. ⟨10.7717/peerj-cs.149⟩. ⟨hal-01756458⟩

Share

Metrics

Record views

517

Files downloads

982