Files
docs/mcp/hexa/modules/hexa.container.json

23 lines
1.6 KiB
JSON

{
"module": "hexa.container",
"content": {
"path": "hexa.container",
"docstring": "# Summary\n\nContainer to build a wired hexa pipeline from annotations.\n\n``build`` recursively instantiates the port tree implied by a root class's\nannotations, injecting provided runtime instances and config values by name.\n\n---\n# Notes\n\n- Runtime instances and config values are applied by name across the whole tree.",
"objects": {
"T": {
"name": "T",
"kind": "attribute",
"path": "hexa.container.T",
"signature": null,
"docstring": null
},
"build": {
"name": "build",
"kind": "function",
"path": "hexa.container.build",
"signature": "build(cls: type[T], *, instances: dict[str, Any] | None = None, config: dict[str, Any] | None = None) -> T",
"docstring": "Recursively instantiate the port tree from annotations.\n\nArgs:\n cls (type[T]):\n The root class to build (e.g. ``AxisExtractionPipeline``).\n\n instances (dict[str, Any] | None):\n ``{slot_name: object}`` injected verbatim into every node whose\n annotations contain that name (runtime values — repos, handlers,\n clients — that must not be re-constructed). Applied to the whole\n tree by name.\n\n config (dict[str, Any] | None):\n ``{field_name: value}`` propagated by name to every node's\n annotated config fields (non-port attributes), replacing the\n default ``None``.\n\nReturns:\n T:\n A fully wired instance of ``cls`` and all its nested ports."
}
}
}
}