Registered 2007-06-10 by Gustavo Carneiro

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;

Project information

Gustavo Carneiro
Gustavo Carneiro

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

Get Involved


Latest version is 0.16
released on 2012-08-20

All downloads


  • code moved over to github on 2015-07-09
    The code was moved to github, as gjcarneiro/pybindgen.
  • PyBindGen 0.17 released on 2014-02-15
    PyBindGen 0.17 released. Get it at or...
  • PyBindGen 0.16 on 2012-08-20
    PyBindGen 0.16 was released, featuring some new APIs and a bunch of bug fixes.
  • PyBindGen 0.14.1 released on 2010-04-22
    PyBindGen 0.14.1 released, containing a few bug fixes, most notably related t...
  • PyBindGen 0.14 released on 2010-02-07
    PyBindGen 0.14 released, featuring multiple-inheritance support. Enjoy.