Nanobind – Seamless operability between C++17 and Python
GitHub - wjakob/nanobind: nanobind: tiny and efficient C++/Python bindings
nanobind: tiny and efficient C++/Python bindings







    
      
      
      
    

nanobind is a small binding library that exposes C++ types in Python and vice
versa. It is reminiscent of
Boost.Python and
pybind11 and uses near-identical syntax.
In contrast to these existing tools, nanobind is more efficient: bindings
compile in a shorter amount of time, produce smaller binaries, and have better
runtime performance.
More concretely,
benchmarks show up
to ~4× faster compile time, ~5× smaller binaries, and ~10× lower
runtime overheads compared to pybind11. nanobind also outperforms Cython in
important metrics (3-12× binary size reduction, 1.6-4× compilation time
reduction, similar runtime performance).
Documentation
Please see the following links for tutorial and reference documentation in
HTML and
PDF formats.
License and attribution
All material in this repository is licensed under a three-clause BSD
license.
Please use the following BibTeX template to cite nanobind in scientific
discourse:
@misc{nanobind,
   author = {Wenzel Jakob},
   year = {2022},
   note = {https://github.com/wjakob/nanobind},
   title = {nanobind: tiny and efficient C++/Python bindings}
}
The nanobind logo was designed by AndoTwin Studio
(high-resolution download:
light,
dark).
