/nanobind

nanobind — Seamless operability between C++17 and Python

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

nanobind — Seamless operability between C++17 and Python

Documentation Continuous Integration

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

nanobind's readthedocs page provides tutorials and detailed reference documentation.