Skip to content

Commit

Permalink
infra: create api rst for specific pkg (#18144)
Browse files Browse the repository at this point in the history
Example: create rst for libs/core only
```bash
poetry run python docs/api_reference/create_api_rst.py core
```
  • Loading branch information
baskaryan committed Feb 26, 2024
1 parent cd3ab37 commit 96bff0e
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions docs/api_reference/create_api_rst.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import importlib
import inspect
import os
import sys
import typing
from enum import Enum
from pathlib import Path
Expand Down Expand Up @@ -344,28 +345,29 @@ def _doc_first_line(package_name: str) -> str:
return f".. {package_name.replace('-', '_')}_api_reference:\n\n"


def main() -> None:
def main(dirs: Optional[list] = None) -> None:
"""Generate the api_reference.rst file for each package."""
print("Starting to build API reference files.")
for dir in os.listdir(ROOT_DIR / "libs"):
if not dirs:
dirs = [
dir_
for dir_ in os.listdir(ROOT_DIR / "libs")
if dir_ not in ("cli", "partners")
]
dirs += os.listdir(ROOT_DIR / "libs" / "partners")
for dir_ in dirs:
# Skip any hidden directories
# Some of these could be present by mistake in the code base
# e.g., .pytest_cache from running tests from the wrong location.
if dir.startswith("."):
print("Skipping dir:", dir)
continue

if dir in ("cli", "partners"):
if dir_.startswith("."):
print("Skipping dir:", dir_)
continue
else:
print("Building package:", dir)
_build_rst_file(package_name=dir)
partner_packages = os.listdir(ROOT_DIR / "libs" / "partners")
print("Building partner packages:", partner_packages)
for dir in partner_packages:
_build_rst_file(package_name=dir)
print("Building package:", dir_)
_build_rst_file(package_name=dir_)
print("API reference files built.")


if __name__ == "__main__":
main()
dirs = sys.argv[1:] or None
main(dirs=dirs)

0 comments on commit 96bff0e

Please sign in to comment.