Skip to content

gds_software.dependency.elements

Dependency graph element declarations -- frozen Pydantic models for user-facing declarations.

Bases: BaseModel

A module or package in a dependency graph.

Maps to: GDS Policy.

Source code in packages/gds-software/gds_software/dependency/elements.py
class Module(BaseModel, frozen=True):
    """A module or package in a dependency graph.

    Maps to: GDS Policy.
    """

    name: str
    layer: int = 0
    description: str = ""

Bases: BaseModel

A directed dependency between modules.

Maps to: GDS Wiring (forward dependency).

Source code in packages/gds-software/gds_software/dependency/elements.py
class Dep(BaseModel, frozen=True):
    """A directed dependency between modules.

    Maps to: GDS Wiring (forward dependency).
    """

    source: str
    target: str
    description: str = ""

Bases: BaseModel

A named layer for organizing modules.

Layers define ordering constraints — a module at layer N should only depend on modules at layer < N.

Source code in packages/gds-software/gds_software/dependency/elements.py
class Layer(BaseModel, frozen=True):
    """A named layer for organizing modules.

    Layers define ordering constraints — a module at layer N
    should only depend on modules at layer < N.
    """

    name: str
    depth: int = Field(description="Layer depth (0 = foundation)")
    description: str = ""