[capi-sig] ANN: PyBindGen 0.10 released

Gustavo Carneiro gjcarneiro at gmail.com
Mon Dec 8 17:49:00 CET 2008


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 easily extended with Python plugins. The generated code is
almost as clean as what a human programmer would write.

It can be downloaded from:

        http://code.google.com/p/pybindgen/

Bug reports should be filed here:

        https://bugs.launchpad.net/pybindgen


=== pybindgen 0.10 ===

    - New null_ok, default_value options for pointer-to-class parameters;

    - Thread safety fixes;

    - Map C++ operator() into Python's tp_call (__call__);

    - Initial support for std containers (except mapping containers);

    - Generate __copy__ methods for classes with copy constructor;

    - Add 'wrapper registry' optional feature (off by default): allows
      C++ instances returned by pointer to be consistently wrapped
      always by the same Python wrapper, so that the 'is' operator can
      be used for identity testing;

    - New C type expression parser, is_const not longer needed for
      parameter types, just put const in the type string as
      appropriate;

    - Sort the declarations returned by (py)gccxml.  If generating
      python script files from gccxml scanning, now the output file
      becomes more stable and less prone to move declarations up and
      down with different people scanning and the output file is under
      version control;

    - Map binary comparison operators (< <= == >= >) from C++ to Python;

    - Map some binary numeric operators (+ - * /) from C++ to Python;

    - Allow installation of pybindgen even if no C/C++ compiler is detected;

    - Fix compatibility with older Python versions (tested with 2.3, 2.4,
and 2.5)

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the capi-sig mailing list