All Projects → StatisKit → AutoWIG

StatisKit / AutoWIG

Licence: Apache-2.0 license
Automatic Wrapper and Interface Generator

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to AutoWIG

kithon
Python to any languages transpiler
Stars: ✭ 33 (-69.16%)
Mutual labels:  transpiler
sidef
A modern object-oriented programming language implemented in Perl.
Stars: ✭ 109 (+1.87%)
Mutual labels:  transpiler
bashscript
TypeScript to bash transpiler. Because.
Stars: ✭ 37 (-65.42%)
Mutual labels:  transpiler
foolang
A toy programming language.
Stars: ✭ 33 (-69.16%)
Mutual labels:  transpiler
sparse
Sparse matrix formats for linear algebra supporting scientific and machine learning applications
Stars: ✭ 136 (+27.1%)
Mutual labels:  scientific-computing
thread-pool
BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library
Stars: ✭ 1,043 (+874.77%)
Mutual labels:  scientific-computing
cotowali
A statically typed scripting language that transpile into POSIX sh
Stars: ✭ 551 (+414.95%)
Mutual labels:  transpiler
steep
⤴️ Steep Workflow Management System – Run scientific workflows in the Cloud
Stars: ✭ 30 (-71.96%)
Mutual labels:  scientific-computing
getfem
Mirror of GetFEM repository
Stars: ✭ 23 (-78.5%)
Mutual labels:  scientific-computing
adorad
Fast, Expressive, & High-Performance Programming Language for those who dare
Stars: ✭ 54 (-49.53%)
Mutual labels:  scientific-computing
Craxe
Haxe to nim transpiler
Stars: ✭ 39 (-63.55%)
Mutual labels:  transpiler
Julia-data-science
Data science and numerical computing with Julia
Stars: ✭ 54 (-49.53%)
Mutual labels:  scientific-computing
OpFlow
EDSL for PDE solver composing
Stars: ✭ 46 (-57.01%)
Mutual labels:  scientific-computing
sunrise
NumPy, SciPy, MRI and Music | Presented at ISMRM 2021 Sunrise Educational Session
Stars: ✭ 20 (-81.31%)
Mutual labels:  scientific-computing
purenix
Nix backend for PureScript. Transpile PureScript code to Nix.
Stars: ✭ 227 (+112.15%)
Mutual labels:  transpiler
Py2Jl.jl
Python to Julia transpiler.
Stars: ✭ 67 (-37.38%)
Mutual labels:  transpiler
SciLean
Scientific computing in Lean 4
Stars: ✭ 86 (-19.63%)
Mutual labels:  scientific-computing
phpify
Compiles PHP modules for the browser with Uniter.
Stars: ✭ 18 (-83.18%)
Mutual labels:  transpiler
prmon
Standalone monitor for process resource consumption
Stars: ✭ 37 (-65.42%)
Mutual labels:  scientific-computing
bandicoot-code
Bandicoot: GPU accelerator add-on for the Armadillo C++ linear algebra library
Stars: ✭ 21 (-80.37%)
Mutual labels:  scientific-computing

AutoWIG: Automatic Wrapper and Interface Generator

High-level programming languages, such as Python and R, are popular among scientists. They are concise, readable, lead to rapid development cycles, but suffer from performance drawback compared to compiled language. However, these languages allow to interface C, C++ and Fortran code. In this way, most of the scientific packages incorporate compiled scientific libraries to both speed up the code and reuse legacy libraries. While several semi-automatic solutions and tools exist to wrap these compiled libraries, the process of wrapping a large library is cumbersome and time consuming. AutoWIG is a Python library that wraps automatically compiled libraries into high-level languages. Our approach consists in parsing C++ code using the LLVM/Clang technologies and generating the wrappers using the Mako templating engine. Our approach is automatic, extensible, and applies to very complex C++ libraries, composed of thousands of classes or incorporating modern meta-programming constructs.

Citation

If you use AutoWIG in a scientific publication, we would appreciate citations:

Fernique P, Pradal C. (2018) AutoWIG: automatic generation of python bindings for C++ libraries. PeerJ Computer Science 4:e149 https://doi.org/10.7717/peerj-cs.149

Examples

Examples written in the article are available a dedicated repository

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].