This project (and a few others including https://github.com/danini/magsac) might benefit from using https://github.com/wjakob/nanobind rather than pybind11. I've implemented it in https://github.com/danini/magsac/tree/feat/use-nanobind and it not only is it easier to write the bindings (no need to create a buffer interface to access size and shape), it also allows you to create wheels that use [Python's Stable ABI](https://docs.python.org/3/c-api/stable.html#stable-abi). This means you generate one wheel for 3.12+, reducing build times and allowing us to ship forward compatible wheels (and avoid yearly PRs like https://github.com/danini/magsac/pull/40).
Activity