Files
docs/hexa/mcp/modules/hexa.generate_yaml.json
Vishesh 'ironeagle' Bangotra a32eeaf2b4 feat: serve docs flat at /<repo>/ with no redirects
- collect.py copies each repo's built site contents directly to a
  top-level <repo>/ dir (was libs|apis|wiki/<repo>/site nesting)
- nginx uses `index index.html lib/index.html api/index.html` so
  /dagpipe/ -> lib/index.html, /auth-server/ -> api/index.html are
  served internally with no redirects
- _index regenerates links against the flat layout
  (/dagpipe/lib/, /auth-server/api/, /mongo-ops/, /blog/...)
- config.yml static entries point at vendored blog/ + media-manager/
- Dockerfile copies per-repo dirs flat into the nginx html root
- removed stale libs/, apis/, wiki/, tutorials/ category trees
2026-09-11 21:32:30 +05:30

160 lines
7.2 KiB
JSON

{
"module": "hexa.generate_yaml",
"content": {
"path": "hexa.generate_yaml",
"docstring": "Generate YAML spec (nested mapping form) from a hexa PortNode tree.",
"objects": {
"annotations": {
"name": "annotations",
"kind": "alias",
"path": "hexa.generate_yaml.annotations",
"signature": "<bound method Alias.signature of Alias('annotations', '__future__.annotations')>",
"docstring": null
},
"io": {
"name": "io",
"kind": "alias",
"path": "hexa.generate_yaml.io",
"signature": "<bound method Alias.signature of Alias('io', 'io')>",
"docstring": null
},
"Path": {
"name": "Path",
"kind": "alias",
"path": "hexa.generate_yaml.Path",
"signature": "<bound method Alias.signature of Alias('Path', 'pathlib.Path')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "hexa.generate_yaml.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"yaml": {
"name": "yaml",
"kind": "alias",
"path": "hexa.generate_yaml.yaml",
"signature": "<bound method Alias.signature of Alias('yaml', 'yaml')>",
"docstring": null
},
"MethodSpec": {
"name": "MethodSpec",
"kind": "class",
"path": "hexa.generate_yaml.MethodSpec",
"signature": "<bound method Alias.signature of Alias('MethodSpec', 'hexa.model.MethodSpec')>",
"docstring": "Specification of a single abstract method.",
"members": {
"name": {
"name": "name",
"kind": "attribute",
"path": "hexa.generate_yaml.MethodSpec.name",
"signature": "<bound method Alias.signature of Alias('name', 'hexa.model.MethodSpec.name')>",
"docstring": null
},
"args": {
"name": "args",
"kind": "attribute",
"path": "hexa.generate_yaml.MethodSpec.args",
"signature": "<bound method Alias.signature of Alias('args', 'hexa.model.MethodSpec.args')>",
"docstring": null
},
"kwargs": {
"name": "kwargs",
"kind": "attribute",
"path": "hexa.generate_yaml.MethodSpec.kwargs",
"signature": "<bound method Alias.signature of Alias('kwargs', 'hexa.model.MethodSpec.kwargs')>",
"docstring": null
}
}
},
"NestedConfig": {
"name": "NestedConfig",
"kind": "attribute",
"path": "hexa.generate_yaml.NestedConfig",
"signature": "<bound method Alias.signature of Alias('NestedConfig', 'hexa.model.NestedConfig')>",
"docstring": null
},
"PortNode": {
"name": "PortNode",
"kind": "class",
"path": "hexa.generate_yaml.PortNode",
"signature": "<bound method Alias.signature of Alias('PortNode', 'hexa.model.PortNode')>",
"docstring": "A node in the hexa port tree.\n\nParameters\n----------\nname : str\n Slot name, e.g. ``\"parser\"``, ``\"amount_balance\"``.\nkind : str\n One of ``\"leaf\"``, ``\"port\"``, or ``\"parent\"``.\n - ``\"leaf\"``: no children (e.g. ``NumberPort``)\n - ``\"port\"``: has children (e.g. ``TransactionParserPort``)\n - ``\"parent\"``: the root of the tree (e.g. ``ExtractionPipeline``)\nport_cls : str\n ABC class name that gives this port its shape, e.g.\n ``\"TransactionParserPort\"``. Every port has a concrete typed shape.\nattributes : dict[str, ConfigValue]\n Annotated attributes: ``name -> type_expr`` for scalars, or a nested\n ``dict`` of sub-attributes (a struct) for grouped/structured values.\nchildren : list[PortNode]\n Nested port slots.\nmethods : dict[str, MethodSpec]\n Abstract methods keyed by method name.",
"members": {
"name": {
"name": "name",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.name",
"signature": "<bound method Alias.signature of Alias('name', 'hexa.model.PortNode.name')>",
"docstring": null
},
"port_cls": {
"name": "port_cls",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.port_cls",
"signature": "<bound method Alias.signature of Alias('port_cls', 'hexa.model.PortNode.port_cls')>",
"docstring": null
},
"kind": {
"name": "kind",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.kind",
"signature": "<bound method Alias.signature of Alias('kind', 'hexa.model.PortNode.kind')>",
"docstring": null
},
"attributes": {
"name": "attributes",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.attributes",
"signature": "<bound method Alias.signature of Alias('attributes', 'hexa.model.PortNode.attributes')>",
"docstring": null
},
"children": {
"name": "children",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.children",
"signature": "<bound method Alias.signature of Alias('children', 'hexa.model.PortNode.children')>",
"docstring": null
},
"methods": {
"name": "methods",
"kind": "attribute",
"path": "hexa.generate_yaml.PortNode.methods",
"signature": "<bound method Alias.signature of Alias('methods', 'hexa.model.PortNode.methods')>",
"docstring": null
},
"find": {
"name": "find",
"kind": "function",
"path": "hexa.generate_yaml.PortNode.find",
"signature": "<bound method Alias.signature of Alias('find', 'hexa.model.PortNode.find')>",
"docstring": "Find a direct child by slot name."
},
"walk": {
"name": "walk",
"kind": "function",
"path": "hexa.generate_yaml.PortNode.walk",
"signature": "<bound method Alias.signature of Alias('walk', 'hexa.model.PortNode.walk')>",
"docstring": "Return all nodes in depth-first order (self first)."
},
"diff": {
"name": "diff",
"kind": "function",
"path": "hexa.generate_yaml.PortNode.diff",
"signature": "<bound method Alias.signature of Alias('diff', 'hexa.model.PortNode.diff')>",
"docstring": "Return a list of human-readable difference strings.\n\nAn empty list means the trees are equal."
}
}
},
"generate_yaml": {
"name": "generate_yaml",
"kind": "function",
"path": "hexa.generate_yaml.generate_yaml",
"signature": "<bound method Function.signature of Function('generate_yaml', 14, 38)>",
"docstring": "Generate YAML source from a :class:`PortNode` tree.\n\nParameters\n----------\nnode : PortNode\n The root of the tree.\nout_path : str | Path | None\n Optional file path to write the generated source to.\n\nReturns\n-------\nstr\n The generated YAML source."
}
}
}
}