Pybindgen

Latest version: v0.22.1

Safety actively analyzes 630130 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

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 contructor;

- 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)

0.9

- Fix GCC 4.2 compilation warnings;
- Works with some GCCXML 0.9/cvs snapshots (tested with 2008-04-20),
in addition to stable 0.7;
- Support for overloaded virtual methods;
- Add 'ignore' annotation support, allowing to ignore functions
and methods;
- Generally work hard to make sure the generated code at least
always compiles, even if we have to disable generation of
certain wrappers;
- Add support for protected methods and constructors;
- Preliminary support for templated classes/methods/functions;
- Add more type conversions, such as uint64_t and uint16_t;
- Support implicit conversions also for pass-by-reference parameters;
- Add supported for nested (i.e. defined inside a class) enums and classes;
- Add support for adding manually written custom method or function wrappers;
- Split the gccxmlparser.ModuleParser.parse() method into several
smaller methods, to allow greater customization and flexibility;
- Add support for customising C++ class instance creation code;
- Much improved support for wrapping pure C code;
- Support std::ostream << myobject mapped as str(myobject) (Mathieu Lacage)
- Support default values in parameters;
- More intuitive API (thanks Mathieu Lacage for feedback)
- Support generation of a Python pybindgen script from scanned API;
- Support splitting of generated python script and/or C/C++ module into several files;
- Lots of small bug fixes, and other features I probably forgot;
- New tutorial (thanks Mathieu Lacage), and API docs.

0.8

- Support C++ instance attributes through getter/setter methods
- Support functions as methods of C++ classes
- Support the PyObject* type
- Support unsigned int, C strings (char*) (from Mark Lee)
- Add basic support for enum types
- New experimental automatic module generator based on C/C++
header file scanner and annotations in comments, using pygccxml
- Some bug fixes

0.7

- Automatic C++ pointer-to-class return type narrowing
- Optionally allow subclassing in Python of certain C++ classes
- Add support for overriding C++ virtual methods in Python
- Add support for C++ namespaces
- Add support for C++ implicit conversions
- Add support for a "custodian and ward" memory management model
- Assorted bug fixes

0.6

- Supports function/method/constructor overloading
- Supports automatic type narrowing on C++ class pointer return values

0.5

- Support C++ class instance/static attribute setters (only
getters supported before).

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.