MCPcopy Create free account
hub / github.com/NVIDIA/NeMo-Relay / _write_module

Function _write_module

scripts/docs/generate_python_library_reference.py:350–396  ·  view source on GitHub ↗
(output_dir: Path, module: ModuleDoc, position: int, modules: list[ModuleDoc])

Source from the content-addressed store, hash-verified

348
349
350def _write_module(output_dir: Path, module: ModuleDoc, position: int, modules: list[ModuleDoc]) -> None:
351 lines = [
352 frontmatter(module.title, module.summary, position, sidebar_title=_leaf_title(module)),
353 f"Generated from `{display_path(module.source)}`.\n\n",
354 f"Module `{module.name}`.\n\n",
355 ]
356 if module.summary:
357 lines.append(f"{module.summary}\n\n")
358
359 if module.classes:
360 lines.append("## Classes\n\n")
361 for class_doc in module.classes:
362 bases = f"({', '.join(class_doc.bases)})" if class_doc.bases else ""
363 lines.append(f"### `{class_doc.name}{bases}`\n\n")
364 if class_doc.summary:
365 lines.append(f"{class_doc.summary}\n\n")
366 if class_doc.methods:
367 lines.append("#### Methods\n\n")
368 for method in class_doc.methods:
369 lines.append(f"##### `{method.name}`\n\n")
370 lines.append(f"```python\n{method.signature}\n```\n\n")
371 if method.summary:
372 lines.append(f"{method.summary}\n\n")
373
374 if module.functions:
375 lines.append("## Functions\n\n")
376 for function in module.functions:
377 lines.append(f"### `{function.name}`\n\n")
378 lines.append(f"```python\n{function.signature}\n```\n\n")
379 if function.summary:
380 lines.append(f"{function.summary}\n\n")
381
382 if module.aliases:
383 lines.append("## Type Aliases And Constants\n\n")
384 for alias in module.aliases:
385 lines.append(f"- `{alias}`\n")
386 lines.append("\n")
387
388 if module.reexports:
389 lines.append("## Re-exports\n\n")
390 for name in module.reexports:
391 lines.append(f"- `{name}`\n")
392 lines.append("\n")
393
394 output_path = _module_output_path(output_dir, module, modules)
395 output_path.parent.mkdir(parents=True, exist_ok=True)
396 output_path.write_text("".join(lines), encoding="utf-8")
397
398
399def generate(package_root: Path, output_dir: Path) -> int:

Callers 1

generateFunction · 0.70

Calls 5

frontmatterFunction · 0.90
display_pathFunction · 0.90
_leaf_titleFunction · 0.85
_module_output_pathFunction · 0.85
joinMethod · 0.80

Tested by

no test coverage detected