Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Bindee

Software ·
DOI:https://doi.org/10.11578/dc.20200207.2· OSTI ID:code-34247 · Code ID:34247
 [1]
  1. Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)

Bindee is a clang tool that outputs a simple pybind11 template given a C++ file for efficient generation of C++-Python bindings. Bindee is intended to be a helper tool for minimizing initial user effort and safeguarding against common runtime errors. Bindee relies on two open-source software to produce bindings. Clang's LibTooling enables bindee to traverse a C++ file's AST to pick out bindable variables and functions, or "bindees." PyBind11 is templated, header-only library for generating C++-Python bindings for variables and functions. Operating purely in C++, bindee does not require learning any new API for accomplishing its task. Additionally, picking the correct pybind11 API for a given bindable element is handled without interaction from the user. Any user input is denoted by '@TEXT@' string substitution. Bindee is capable of generating modular bindings for public class methods, public class variables, enumerations, and free functions and variables. Bindings for templates are also supported. For those familiar with pybind11, bindee does not handle trampolines, C++ extensions through lambdas, or custom type casters.

Short Name / Acronym:
bindee
Site Accession Number:
1007867
Software Type:
Scientific
License(s):
MIT License
Research Organization:
Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA)

Primary Award/Contract Number:
AC52-07NA27344
DOE Contract Number:
AC52-07NA27344
Code ID:
34247
OSTI ID:
code-34247
Country of Origin:
United States

Similar Records

NetlOlca
Dataset · Mon Jan 20 23:00:00 EST 2025 · OSTI ID:2503973

Metaheuristic Optimization Tool
Technical Report · Sat Feb 29 23:00:00 EST 2020 · OSTI ID:1608209

HALA: Handy Accelerated Linear Algebra
Software · Wed Nov 20 19:00:00 EST 2019 · OSTI ID:code-57394

Related Subjects