Hmm, not sure what the right approach is here.
There seems to be a lot of very Swig specific stuff in this package (e.g typemaps for numpy types and Swig macros for operators and function return types, as well as some workarounds for Swig problems).
Some of it looks like we might need a pybind11 equivalent for, but we probably don't need everything and we won't quite know what we need until we encounter it.
I see three options.
1. Remove all Swig specific stuff and add things back in (either here or elsewhere) as needed when wrapping further packages.
2. Create as much as possible equivalent functionality now, at the risk of not actually needing it (or needing a different version of it) later.
3. Postpone work on this ticket until we know what we need.
Either way some of the tests also need to be removed (since it makes no sense to test the Swig specific things). So it will be hard to check if the conversion is complete.