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
Development focus:

trunk series 

Browse the code

Programming Languages:
Python, C, C++
Version control system:

RDF metadata

View full history Series and milestones

PyBindGen 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.