Pybindgen

Latest version: v0.22.1

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

Scan your dependencies

Page 1 of 3

0.16

- Add API to allow importing classes and enumerations from external modules
- Add new destructor_visibility CppClass option
- Add setting to disable usage of the internal GCC abi to check rtti stuff (for Mac OS X GCC)
- pybindgen.settings.deprecated_virtuals default value changed to False
- Bug fixes.

0.15

- Bug fixes

0.14

- Multiple inheritance support

- Virtual methods can now be overridden with Method instead of _Method

- Add annotation support for instance attributes

- Benchmarks (vs Boost.Python, SWIG, and SIP)

- New types supported: int16_t& and std::string* parameter types

- Non-virtual protected methods are now also wrapped

- Wrap enum pointer params

Note: this release marks the beginning of a transition to a minor change
in the API of the generated bindings.

Prior to PyBindGen version 0.14, the code generated to handle C++
virtual methods required Python user code to define a _foo method in
order to implement the virtual method foo. Since 0.14, PyBindGen
changed so that virtual method foo is implemented in Python by
defining a method foo, i.e. no underscore prefix is needed anymore.
Setting pybindgen.settings.deprecated_virtuals to True will force the
old virtual method behaviour. But this is really deprecated; newer
code should set pybindgen.settings.deprecated_virtuals to False.

In PyBindGen 0.14, if the option
pybindgen.settings.deprecated_virtuals is not set, PyBindGen emits a
warning and assumes the value of True in order to preserve backward
compatibility. In PyBindGen 0.15, the default value of this option
will change to False, and in 0.16 the support for deprecated virtuals
will be removed.

This change was made to make the user code interface more intuitive,
and to align it with other Python bindings tools such as SIP,
Boost.Python, and SWIG.

0.13

- Lots of small bug fixes

- Custodian/ward-style memory management works better now

- Add 'reference_existing_object' and 'return_interal_reference'
options for pointer/reference return values

- New Sphinx based documentation

0.12

- Now we can catch C++ exceptions and translate them into Python

- New API to add container iteration powers to wrapped C++ classes

- Unary minus operator support (J. Michael Owen)

- CppMethod: is_pure_virtual=True should imply is_virtual=True

- More polish for numeric operators with non-class right operand

- Virtual methods regressions fixed

- gccxmlparser: don't try to wrap private/protected operators

- MSVC compilation fix

- unsigned long type handlers (J. Michael Owen)

- tp_len/__len__ works now with overloaded methods (J. Michael Owen)

- Add foreign_cpp_namespace option to Function wrappers

- Misc. cleanup and bug fixes

0.11

- Generate code that supports GCC's -fvisibility=hidden

- Add rudimentary support for std::map containers

- Some inplace numeric operators now supported (J. Michael Owen)

- Partial sequence protocol support: __len__, __getitem__,
and __setitem__ (J. Michael Owen)

- Partially support pointer-to-container parameters

- Call traceback.extract_stack() less often (faster on win32)

- No need for GIL locking in attribute setters (thanks Stuart Stock)

- Allow wrapping enum given list of (name, value) pairs

- New foreign_cpp_namespace option, for wrapping classes outside
our module's C++ namespace

- Add a docstring parameter to CppMethod constructor (Robin Gilks)
Also add a docstring parameter for CppClass

- Better support for typedefs

- Implement support for enum reference parameters

- Add support for size_t "by-value" type

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.