Related issue:
To improve maintainability of cuCIM Python packages and ensure API/ABI stability, the RAPIDS team would like to adopt the Python limited API.
Pybind11 does not support the limited API, so nanobind is recommended (and may also provide better performance).
One potential challenge is that cuCIM currently uses std::enable_shared_from_this<T> (see https://github.com/search?q=repo%3Arapidsai%2Fcucim%20enable_shared_from_this&type=code), which could complicate the transition to nanobind.
Request: migrate the C++ bindings to nanobind, following the nanobind guidance on shared pointers and holders:
https://nanobind.readthedocs.io/en/latest/porting.html#shared-pointers-and-holders
cc: @gforsyth