Squash-merge lib-standardisation: adopt repo standards across packaging, tooling, docs, and CI. - standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint) - add py.typed marker, modernize type hints and Google-style docstrings - nest generated docs under docs/lib and docs/mcp; add hand-written wiki - adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate) - promote generated CHANGELOG.md; bump version to 0.0.7
38 lines
892 B
Python
38 lines
892 B
Python
from pathlib import Path
|
|
|
|
class NavSpec:
|
|
"""
|
|
Parsed representation of `docforge.nav.yml`.
|
|
|
|
This object represents *semantic intent* and is independent
|
|
of filesystem structure or MkDocs specifics.
|
|
"""
|
|
|
|
home: str | None
|
|
groups: dict[str, list[str]]
|
|
|
|
def __init__(
|
|
self,
|
|
home: str | None,
|
|
groups: dict[str, list[str]],
|
|
) -> None: ...
|
|
@classmethod
|
|
def load(cls, path: Path) -> NavSpec:
|
|
"""
|
|
Load and validate a nav specification from YAML.
|
|
|
|
Raises:
|
|
FileNotFoundError: if the file does not exist
|
|
ValueError: if the schema is invalid
|
|
"""
|
|
...
|
|
|
|
def all_patterns(self) -> list[str]:
|
|
"""
|
|
Return all path patterns referenced by the spec
|
|
(including home and group entries).
|
|
"""
|
|
...
|
|
|
|
def load_nav_spec(path: Path) -> NavSpec: ...
|