[C++-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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20081208/ec018c9e/attachment-0001.htm>
More information about the Cplusplus-sig
mailing list