From fddb9d7fb495284c8d0dfa9f310afa2dfbcd2611 Mon Sep 17 00:00:00 2001 From: David Rotermund <54365609+davrot@users.noreply.github.com> Date: Wed, 3 Jan 2024 15:17:38 +0100 Subject: [PATCH] Create README.md Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com> --- PyBind11/stubs/README.md | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 PyBind11/stubs/README.md diff --git a/PyBind11/stubs/README.md b/PyBind11/stubs/README.md new file mode 100644 index 0000000..70dadfd --- /dev/null +++ b/PyBind11/stubs/README.md @@ -0,0 +1,45 @@ +# PyBind11 Stub-Generation +{:.no_toc} + + + +## Top + +Questions to [David Rotermund](mailto:davrot@uni-bremen.de) + +## ModuleStubsGenerator + +If you editor / syntax highlighting complains then you might need module stubs. This is the way how I automatically generate my pybind11-stubs + +(Based on [https://github.com/robotpy/robotpy-build/issues/1#issuecomment-663871072](https://github.com/robotpy/robotpy-build/issues/1#issuecomment-663871072) ) + +```shell +pip install pybind11-stubgen +``` + +```python +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) +```