Download build_api_docs.py from ekwan16/MagNET: direct link, hf CLI and curl.
- Browser
- Download file 1.78 kB
-
https://huggingface.co/ekwan16/MagNET/resolve/fe222d1894afb2d954fe8d2e67e70731a006c8d2/build_api_docs.py
- Command line
-
hf download hf://ekwan16/MagNET@fe222d1894afb2d954fe8d2e67e70731a006c8d2/build_api_docs.py
-
curl -L -o build_api_docs.py https://huggingface.co/ekwan16/MagNET/resolve/fe222d1894afb2d954fe8d2e67e70731a006c8d2/build_api_docs.py
1.78 kB
| """Render the MagNET API docs into api_docs/ with pdoc. | |
| python build_api_docs.py | |
| Documents the magnet package's public modules and every analysis module under analysis/code, | |
| skipping test files. The analysis modules import their siblings and the dataset readers by bare | |
| name, so their directories are added to sys.path first. | |
| """ | |
| import glob | |
| import os | |
| import sys | |
| import pdoc | |
| HERE = os.path.dirname(os.path.abspath(__file__)) | |
| def _import_dirs(): | |
| """Directories the analysis modules import from: their own folder, shared/, and each | |
| data/<dataset>/ folder that holds a reader module.""" | |
| dirs = [os.path.join(HERE, "analysis", "code"), | |
| os.path.join(HERE, "analysis", "code", "shared")] | |
| dirs += sorted(os.path.dirname(p) for p in glob.glob(os.path.join(HERE, "data", "*", "*_reader.py"))) | |
| return dirs | |
| def _modules(): | |
| """The .py files to document: the six public magnet modules, then the analysis modules.""" | |
| mods = [os.path.join(HERE, "magnet", name + ".py") | |
| for name in ("__init__", "api", "inference", "model", "run_magnet", "scaling")] | |
| analysis = glob.glob(os.path.join(HERE, "analysis", "code", "*.py")) | |
| analysis += glob.glob(os.path.join(HERE, "analysis", "code", "shared", "*.py")) | |
| for path in sorted(analysis): | |
| name = os.path.basename(path) | |
| if name.startswith("test_"): | |
| continue | |
| mods.append(path) | |
| return mods | |
| def main(): | |
| for d in _import_dirs(): | |
| sys.path.insert(0, d) | |
| pdoc.render.configure(template_directory=os.path.join(HERE, "pdoc_templates")) | |
| pdoc.pdoc(*_modules(), output_directory=os.path.join(HERE, "api_docs")) | |
| print("api docs written to", os.path.join(HERE, "api_docs", "index.html")) | |
| if __name__ == "__main__": | |
| main() | |