Hierarchy (Internal)¶
The child project hierarchy system now lives in the internal functualize._discovery/hierarchy.py module.
Overview¶
The hierarchy system allows a parent functualize application to compose child projects, aggregating their jobs into a unified CLI. This is useful for monorepos or multi-team organizations where each team maintains independent job directories.
Public API¶
Child project composition is configured through the JobSources dataclass:
from functualize.app import FunctualizeApp, JobSources
app = FunctualizeApp(
name="parent-app",
job_sources=JobSources(
directories=["jobs"],
children={
"child-a": "../child-project-a",
"child-b": "../child-project-b",
},
),
)
children maps a namespace to a child project directory; the child's jobs
are composed under that namespace (child-a.deploy, child-b.deploy, ...).
Internal Location¶
_discovery/hierarchy.py— Child project definitions (ChildProjectdataclass)_discovery/transforms.py— Composition logic (NamespaceTransformfor child job prefixing)
Internal API
The hierarchy implementation is in functualize._discovery. Configure via JobSources from functualize.app.
See the Hierarchy & Validation guide for detailed usage.