* almost updated scallop * scallop working * fixed scallop * sharpened scallop * removed some smoothing APIs * fixed some tests * tests passing * updated bindings examples * fix formatting * fix more formatting
Python Bindings
Autogenerated Doc-Strings
Doc-strings for the python API wrapper are generated by gen_docs.py The script is run automatically during the build to keep python doc strings fully up-to-date with c++ sources.
It scrapes documentation comments and c++ function signatures from the manifold c++ sources, in order to generate a c++ header file exposing the comments as string variables named by function names. This allows python bindings to re-use the c++ comments directly.
Some snake-casing of params is applied for python use case.
When modifying the Manifold C++ sources, you may need to update gen_docs.py. For example, top-level free functions are white-listed, so if you add a new one, you will need to add it in gen_docs.py.
Similarly, the list of source files to parse is also white listed, so if you define functions in new files that need python wrappers, you will also need to up gen_docs.py.
To verify that python docs are correct after changes, you can run the following commends from the manifold repo root:
pip install .
python -c 'import manifold3d; help(manifold3d)'
Alternatively you could generate stubs with nanobind python module
pip install -m nanobind
python -m nanobind.stubgen -m manifold3d -o manifold3d.pyi -i=. -p=bindings/python/stub_pattern.txt
It will emit some warnings and write a file manifold3d.pyi
which will show all the function signatures and docstrings.