PyBindGen is a Python bindings generator; it is geared to generating C/C++ code that binds a C/C++ library for Python.

PyBindGen is a Python module that is geared to generating C/C++ code that binds a C/C++ library for Python. It does so without extensive use of either C++ templates or C pre-processor macros. It has modular handling of C/C++ types, and can be extended with Python plugins. The generated code is almost as clean as what a human programmer would write.

It was designed to be an alternative to some other bindings generators out there, including:
- Boost::Python, which uses C++ templates extensively, which are difficult to understand or extend, and which generates relatively large Python modules;
- SWIG, which makes extensive use of macros, generates very ugly code, and is itself written in C++, therefore difficult to extend;
- Python SIP, which is also written in C++;
- The PyGtk code generator, which doesn't support wrapping C++ code, and is not very flexible;