Nanowbind

Latest version: v2.1.0

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

Scan your dependencies

Page 4 of 6

1.1.0

-----------------------------

* Added :cpp:func:`size <ndarray::size>`, :cpp:func:`shape_ptr
<ndarray::shape_ptr>`, :cpp:func:`stride_ptr <ndarray::stride_ptr>` members
to to the :cpp:class:`nb::ndarray\<..\> <ndarray>` class. (PR `161
<https://github.com/wjakob/nanobind/pull/161>`__).
* Allow macros in :c:macro:`NB_MODULE(..) <NB_MODULE>` name parameter. (PR
`168 <https://github.com/wjakob/nanobind/pull/168>`__).
* The :cpp:class:`nb::ndarray\<..\> <ndarray>` interface is more tolerant when
converting Python (PyTorch/NumPy/..) arrays with a size-0 dimension that have
mismatched strides. (PR `162
<https://github.com/wjakob/nanobind/pull/162>`__).
* Removed the ``<anonymous>`` label from docstrings of anonymous functions,
which caused issues in MyPy. (PR `172
<https://github.com/wjakob/nanobind/pull/172>`__).
* Fixed an issue in the propagation of return value policies that broke
user-provided/custom policies in properties (PR `170
<https://github.com/wjakob/nanobind/pull/170>`__).
* The Eigen interface now converts 1x1 matrices to 1x1 NumPy arrays instead of
scalars. (commit `445781
<https://github.com/wjakob/nanobind/commit/445781fc2cf2fa326cc22e8fd483e8e4a7bf6cf5>`__).
* The ``nanobind`` package now has a simple command line interface. (commit
`d5ccc8
<https://github.com/wjakob/nanobind/commit/d5ccc8844b29ca6cd5188ffd8d16e034bcee9f73>`__).

1.0.0

------------------------------

* Nanobind now has a logo. (commit `b65d31
<https://github.com/wjakob/nanobind/commit/b65d3b134d8b9f8d153b51d87751d09a12e4235b>`__).
* Fixed a subtle issue involving function/method properties and the IPython
command line interface. (PR `151
<https://github.com/wjakob/nanobind/pull/151>`__).
* Added a boolean type to the :cpp:class:`nb::ndarray\<..\> <ndarray>`
interface. (PR `150 <https://github.com/wjakob/nanobind/pull/150>`__).
* Minor fixes and improvements.

0.3.1

-----------------------------

* Added a type caster for ``std::filesystem::path``. (PR `138
<https://github.com/wjakob/nanobind/pull/138>`__ and commit `0b05cd
<https://github.com/wjakob/nanobind/commit/0b05cde8bd8685ab42328660da03cc4ee66e3ba2>`__).
* Fixed technical issues involving implicit conversions (commits `022935
<https://github.com/wjakob/nanobind/commit/022935cbb92dfb1d02f90546bf6b34013f90e9e5>`__
and `5aefe3
<https://github.com/wjakob/nanobind/commit/5aefe36e3e07b5b98a6be7c0f3ce28a236fe2330>`__)
and construction of type hierarchies with custom garbage collection hooks
(commit `022935
<https://github.com/wjakob/nanobind/commit/7b3e893e1c14d95f7b3fc838657e6f9ce520d609>`__).
* Re-enabled the 'chained fixups' linker optimization for recent macOS
deployment targets. (commit `2f29ec
<https://github.com/wjakob/nanobind/commit/2f29ec7d5fbebd5f55fb52da297c8d197279f659>`__).

0.3.0

-----------------------------

* Botched release, replaced by 0.3.1 on the same day.

0.2.0

-----------------------------
* Nanobind now features documentation on `readthedocs
<https://nanobind.readthedocs.io>`__.
* The documentation process revealed a number of inconsistencies in the
:cpp:func:`class_\<T\>::def* <class_::def>` naming scheme. nanobind will from
now on use the following shortened and more logical interface:

.. list-table::
:widths: 40 60
:header-rows: 1

* - Type
- method
* - Methods & constructors
- :cpp:func:`.def() <class_::def>`
* - Fields
- :cpp:func:`.def_ro() <class_::def_ro>`,
:cpp:func:`.def_rw() <class_::def_rw>`
* - Properties
- :cpp:func:`.def_prop_ro() <class_::def_prop_ro>`,
:cpp:func:`.def_prop_rw() <class_::def_prop_rw>`
* - Static methods
- :cpp:func:`.def_static() <class_::def_static>`
* - Static fields
- :cpp:func:`.def_ro_static() <class_::def_ro_static>`,
:cpp:func:`.def_rw_static() <class_::def_rw_static>`
* - Static properties
- :cpp:func:`.def_prop_ro_static() <class_::def_prop_ro_static>`,
:cpp:func:`.def_prop_rw_static() <class_::def_prop_rw_static>`

Compatibility wrappers with deprecation warnings were also added to help port
existing code. They will be removed when nanobind reaches version 1.0.
(commits `cb0dc3
<https://github.com/wjakob/nanobind/commit/cb0dc392b656fd9d0c85c56dc51a9be1de06e176>`__
and `b5ed96
<https://github.com/wjakob/nanobind/commit/b5ed696a7a68c9c9adc4d3aa3c6f4adb5b7defeb>`__)
* The ``nb::tensor<..>`` class has been renamed to :cpp:class:`nb::ndarray\<..\> <ndarray>`,
and it is now located in a different header file (``nanobind/ndarray.h``). A
compatibility wrappers with a deprecation warning was retained in the
original header file. It will be removed when nanobind reaches version 1.0.
(commit `a6ab8b
<https://github.com/wjakob/nanobind/commit/a6ab8b06dd3316ac53fbed143c346c2b73c31b75>`__).
* Dropped the first two arguments of the :c:macro:`NB_OVERRIDE_*()
<NB_OVERRIDE>` macros that turned out to be unnecessary in nanobind. (commit
`22bc21
<https://github.com/wjakob/nanobind/commit/22bc21b97cd2bbe060d7fb42d374bde72d973ada>`__).
* Added casters for dense matrix/array types from the `Eigen library
<https://eigen.tuxfamily.org/index.php?title=Main_Page>`__. (PR `#120
<https://github.com/wjakob/nanobind/pull/120>`__).
* Added casters for sparse matrix/array types from the `Eigen library
<https://eigen.tuxfamily.org/index.php?title=Main_Page>`__. (PR `#126
<https://github.com/wjakob/nanobind/pull/126>`_).
* Implemented `nb::bind_vector\<T\>() <bind_vector>` analogous to similar
functionality in pybind11. (commit `f2df8a
<https://github.com/wjakob/nanobind/commit/f2df8a90fbfb06ee03a79b0dd85fa0e266efeaa9>`__).
* Implemented :cpp:func:`nb::bind_map\<T\>() <bind_map>` analogous to
similar functionality in pybind11. (PR `114
<https://github.com/wjakob/nanobind/pull/114>`__).
* nanobind now :ref:`automatically downcasts <automatic_downcasting>`
polymorphic objects in return values analogous to pybind11. (commit `cab96a
<https://github.com/wjakob/nanobind/commit/cab96a9160e0e1a626bc3e4f9fcddcad31e0f727>`__).
* nanobind now supports :ref:`tag-based polymorphism <tag_based_polymorphism>`.
(commit `6ade94
<https://github.com/wjakob/nanobind/commit/6ade94b8e5a2388d66fc9df6f81603c65108cbcc>`__).
* Updated tuple/list iterator to satisfy the ``std::forward_iterator`` concept.
(PR `117 <https://github.com/wjakob/nanobind/pull/117>`__).
* Fixed issues with non-writeable tensors in NumPy. (commit `25cc3c
<https://github.com/wjakob/nanobind/commit/25cc3ccbd1174e7cfc4eef1d1e7206cc38e854ca>`__).
* Removed use of some C++20 features from the codebase. This now makes it
possible to use nanobind on Visual Studio 2017 and GCC 7.3.1 (used on RHEL 7).
(PR `115 <https://github.com/wjakob/nanobind/pull/115>`__).
* Added the :cpp:class:`nb::typed\<...\> <typed>` wrapper to override the type signature of an
argument in a bound function in the generated docstring. (commit `b3404c4
<https://github.com/wjakob/nanobind/commit/b3404c4f347981bce7f4c7a9bac762656bed8385>`__).
* Added an :cpp:func:`nb::implicit_convertible\<A, B\>() <implicitly_convertible>` function analogous to the one in
pybind11. (commit `aba4af
<https://github.com/wjakob/nanobind/commit/aba4af06992f14e21e5b7b379e7986e939316da4>`__).
* Updated :cpp:func:`nb::make_*_iterator\<..\>() <make_iterator>` so that it returns references of elements, not
copies. (commit `8916f5
<https://github.com/wjakob/nanobind/commit/8916f51ad1a25318b5c9fcb07c153f6b72a43bd2>`__).
* Changed the CMake build system so that the library component
(``libnanobind``) is now compiled statically by default. (commit `8418a4
<https://github.com/wjakob/nanobind/commit/8418a4aa93d19d7b9714b8d9473539b46cbed508>`__).
* Switched shared library linking on macOS back to a two-level namespace.
(commit `fe4965
<https://github.com/wjakob/nanobind/commit/fe4965369435bf7c0925bddf610553d0bb516e27>`__).
* Various minor fixes and improvements.
* ABI version 7.

0.1.0

-------------------------------

* Allow nanobind methods on non-nanobind) classes. (PR `104
<https://github.com/wjakob/nanobind/pull/104>`__).
* Fix dangling `tp_members` pointer in type initialization. (PR `99
<https://github.com/wjakob/nanobind/pull/99>`__).
* Added a runtime setting to suppress leak warnings. (PR `109
<https://github.com/wjakob/nanobind/pull/109>`__).
* Added the ability to hash ``nb::enum_<..>`` instances (PR `106
<https://github.com/wjakob/nanobind/pull/106>`__).
* Fixed the signature of ``nb::enum_<..>::export_values()``. (commit `714d17
<https://github.com/wjakob/nanobind/commit/714d17e71aa405c7633e0bd798a8bdb7b8916fa1>`__).
* Double-check GIL status when performing reference counting operations in
debug mode. (commit `a1b245
<https://github.com/wjakob/nanobind/commit/a1b245fcf210fbfb10d7eb19dc2dc31255d3f561>`__).
* Fixed a reference leak that occurred when module initialization fails.
(commit `adfa9e
<https://github.com/wjakob/nanobind/commit/adfa9e547be5575f025d92abeae2e649a690760a>`__).
* Improved robustness of ``nb::tensor<..>`` caster. (commit `633672
<https://github.com/wjakob/nanobind/commit/633672cd154c0ef13f96fee84c2291562f4ce3d3>`__).
* Upgraded the internally used ``tsl::robin_map<>`` hash table to address a
rare `overflow issue <https://github.com/Tessil/robin-map/issues/52>`__
discovered in this codebase. (commit `3b81b1
<https://github.com/wjakob/nanobind/commit/3b81b18577e243118a659b524d4de9500a320312>`__).
* Various minor fixes and improvements.
* ABI version 6.

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.