Commit Graph

1 Commits

Author SHA1 Message Date
Leon Anavi
d34206160f
python3-nanobind: Upgrade 2.7.0 -> 2.8.0
Upgrade to release 2.8.0:

- Added :cpp:class:`nb::fallback <fallback>` wrapper type, which is
  a :cpp:class:`nb::handle <handle>` that always requires implicit
  conversion during casting. This is convenient when adding
  catch-all overloads that must handle arbitrary Python objects,
  without interfering with implicit conversion of arguments in
  other overloads.
- The nanobind::literals namespace now includes _s to create a
  Python string from source code literals.
- Added :cpp:func:`nb::dict::empty() <dict::empty>`,
  :cpp:func:`nb::list::empty() <list::empty>`,
  :cpp:func:`nb::set::empty() <set::empty>`,
  and :cpp:func:`nb::tuple::empty() <tuple::empty>` convenience
  methods.
- Added a :cpp:func:`nb::dict::get() <dict::get>` function to
  perform dictionary lookups with a fallback value in case of
  failures.
- Nanobind now uses multi-phase (as opposed to single-phase)
  initialization API when registering modules. However,
  multi-interpreter extensions remain unsupported.
- Added :cpp:class:`nb::frozenset` that wraps the Python frozenset
  type.
- Miscellaneous fixes and improvements.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-21 10:10:46 -07:00