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