PyBindGen is an open source command-line software project, a library written entirely in the Python programming language and designed to help developers easily generate C and C++ code that binds a C++ or C library to Python.
In other words, the PyBindGen library will help you generate Python bindings for C++ or C APIs (Application Programming Interfaces) and can be used as an alternative to various other bindings generators, such as Boost::Python, SWIG, Python SIP, and PyGtk.
Features at a glance
Key features include support for in, out and inout parameters, virtual methods in classes, multiple return values, smart pointers, reference counted classes, as well as wrapping of simple C++ classes.
The program has been designed from the ground up to act as an alternative to various bindings generators, including Boost::Python, which tends to output very large Python modules using only of C++ templates, which are difficult to extend and understand.
In addition, it’s a drop-in replacement for Python SIP, which is written in the C++ programming language, PyGTK, which is not that flexible and does not support C++ code wrapping, as well as SWIG, which is also written in C++, generates very ugly code, and it is very difficult to extend.
Under the hood and availability
As mentioned, the PyBindGen library is written entirely in the Python programming language. It is available for download only as a universal source archive, which must be configured and compiled prior to installation, supported on any GNU/Linux operating system where Python is installed. It was successfully tested on both 32-bit and 64-bit hardware platforms.