Since Cython compiles to C++, it can use C++ templates directly, without the need for creating aliases to the specific instantiations you're gonna use. As far as I understand, you'll still have to write Cython bindings, though:
https://cython.readthedocs.io/en/latest/src/userguide/wrappi...