nanobind
is a tool and a library for implementing native C/C++ extensions for python.
You can implement such extensions in many ways, but nanobind
makes life a bit more
easier, especially if you write C++ and use CMake to build your native code.
nanobind
recommends using the scikit-build-core
as the build backend; it handles the
heavy lifting of building stuff through CMake during python package build process. It even
supports using Ninja. And as a cherry on top, it is able to download CMake and Ninja
from pypi
if they are not available locally.