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 ~2-3× faster compile time, ~3× smaller binaries, and up to ~8× lower runtime overheads compared to pybind11.
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).