About this project¶
Binder is tool a for automatic generation of Python bindings for C++11 projects using Pybind11 and Clang LibTooling libraries.
Core features¶
Automatically determent which types/functions could be bound and generate bindings for the following C++ code:
- functions
- enums
- C++ classes and struct’s, including:
- read/write access to public data members, including static data members
- class member functions including static functions
- class inner enums
- class operators
- automatically determent which template classes should be instantiated and generate bindings for it
- generate single shared library which on Python-import act as collection of Python modules representing hierarchy of C++ namespaces
- generated bindings for both Python-2.6+ and Python-3+
Goodies¶
Bindings generation is guided thought config file which allows to configure:
- bindings for which namespace/type/function bindings should be generated
- default return policy for functions returning pointer, lvalue and rvalue references
- additional includes which should be added to generated code
- includes which should be ignored in generated codes
- specify custom bindings functions for type/template
- specify add-on bindings functions which will be called after automatic bindings was generated