diff options
author | Leon Anavi <leon.anavi@konsulko.com> | 2025-01-29 13:40:39 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-01-29 17:43:05 -0800 |
commit | 9abd95e0e470a4e872429a49f066ac1217a403d8 (patch) | |
tree | da890d266f5d20d06fffc060c77af9c0c8ab2f3a /meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python | |
parent | b23c36d407846227bac2d250827179ea22865922 (diff) | |
download | meta-openembedded-9abd95e0e470a4e872429a49f066ac1217a403d8.tar.gz |
python3-nanobind: Add recipe
Add recipe for nanobind, tiny and efficient C++/Python bindings.
Changelog for version 2.4.0:
- Added a function annotation :cpp:class:`nb::call_policy\<Policy\>()
<call_policy>` which supports custom function wrapping logic,
calling Policy::precall() before the bound function and
Policy::postcall() after. This is a low-level interface intended
for advanced users. The precall and postcall hooks are able to
observe the Python objects forming the function arguments and
return value, and the precall hook can change the arguments.
- :cpp:func:`nb::make_iterator <make_iterator>` now accepts its
iterator arguments by value, rather than by forwarding reference,
in order to eliminate the hazard of storing a dangling C++
iterator reference in the returned Python iterator object.
- The std::variant type_caster now does two passes when converting
from Python. The first pass is done without implicit conversions.
This fixes an issue where std::variant<U, T> might cast a Python
object wrapping a T to a U if there is an implicit conversion
available from T to U.
- Restored support for constructing types with an overloaded
__new__ that takes no arguments, which regressed with the
constructor vector call acceleration that was added in nanobind
2.2.0.
- Bindings for augmented assignment operators (as generated, for
example, by .def(nb::self += nb::self)) now return the same
object in Python in the typical case where the C++ operator
returns a reference to *this. Previously, after a += b, a would
be replaced with a copy.
- Added an overload to :cpp:func:`nb::isinstance <isinstance>`
which tests if a Python object is an instance of a Python class.
This is in addition to the existing overload, which tests if a
Python object is an instance of a bound C++ class.
- Added support for overriding static properties, such as those
defined using def_prop_ro_static, in subclasses. Previously this
would fail with an error.
- Other minor fixes and improvements.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python')
0 files changed, 0 insertions, 0 deletions