Fun thing about using pybind11 to emulate the functionality of an existing code base, but every single method needs to have its signature at least partly duplicated in six places:
โข The C++ header
โข The C++ implementation file
โข The pybind declaration
โข The *.pyi file
โข The Python class that wraps the extension module to add docstrings and other conveniences
โข The Python class that wraps everything and translates the old API into new API calls