diff --git a/C++/tools/pybind11_auto_pyi.py b/C++/tools/pybind11_auto_pyi.py new file mode 100644 index 0000000..f316485 --- /dev/null +++ b/C++/tools/pybind11_auto_pyi.py @@ -0,0 +1,27 @@ +# Derived from code by Aaron.Ma +# which was posted here: +# https://blog.csdn.net/sinat_40922660/article/details/123850832 + +# %% +# pip install pybind11-stubgen +from pybind11_stubgen import ModuleStubsGenerator # type: ignore +import glob + + +def process(module_name: str) -> None: + module = ModuleStubsGenerator(module_name) + module.parse() + module.write_setup_py = False + + with open(module_name + ".pyi", "w") as fp: + fp.write("#\n# AUTOMATICALLY GENERATED FILE, DO NOT EDIT!\n#\n\n") + fp.write("\n".join(module.to_lines())) + + +Files = glob.glob("*.so") + +for fid in Files: + Idx: int = fid.find(".") + module_name: str = fid[:Idx] + print("Processing: " + module_name) + process(module_name)