{ "module": "hexa.cli", "content": { "path": "hexa.cli", "docstring": "Command-line interface for hexa utilities.", "objects": { "argparse": { "name": "argparse", "kind": "alias", "path": "hexa.cli.argparse", "signature": "", "docstring": null }, "sys": { "name": "sys", "kind": "alias", "path": "hexa.cli.sys", "signature": "", "docstring": null }, "Path": { "name": "Path", "kind": "alias", "path": "hexa.cli.Path", "signature": "", "docstring": null }, "pprint": { "name": "pprint", "kind": "alias", "path": "hexa.cli.pprint", "signature": "", "docstring": null }, "check_matches": { "name": "check_matches", "kind": "function", "path": "hexa.cli.check_matches", "signature": "", "docstring": "Verify two representations agree.\n\nParameters\n----------\npath_a : str | Path\n Path to a .yaml or .py file.\npath_b : str | Path\n Path to a .yaml or .py file.\n\nReturns\n-------\nbool | list[str]\n True if they match exactly, otherwise a list of difference strings." }, "generate_abc": { "name": "generate_abc", "kind": "function", "path": "hexa.cli.generate_abc", "signature": "", "docstring": "Generate ABC Python source from a :class:`PortNode` tree.\n\nParameters\n----------\nnode : PortNode\n The root of the parsed YAML (or generated) tree.\nout_path : str | Path | None\n Optional file path to write the generated source to.\n\nReturns\n-------\nstr\n The generated Python source code." }, "generate_yaml": { "name": "generate_yaml", "kind": "function", "path": "hexa.cli.generate_yaml", "signature": "", "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." }, "parse_abc": { "name": "parse_abc", "kind": "function", "path": "hexa.cli.parse_abc", "signature": "", "docstring": "Parse an ABC Python module into a :class:`PortNode` tree.\n\nABC classes become port nodes. A nested-struct attribute is expressed as a\n``@dataclass`` annotation on an ABC port (e.g. ``source: ExtractionSource``\nwhere ``ExtractionSource`` is a ``@dataclass``); the dataclass's fields are\nexpanded into a nested ``attributes`` entry.\n\nParameters\n----------\nmodule_or_path : str | Path | Any\n A file path to a ``.py`` file, a module import string, or a loaded module.\n\nReturns\n-------\nPortNode\n The root node of the tree." }, "parse_yaml": { "name": "parse_yaml", "kind": "function", "path": "hexa.cli.parse_yaml", "signature": "", "docstring": "Parse a hexa YAML spec file into a :class:`PortNode` tree.\n\nParameters\n----------\npath : str | Path\n Path to the ``.yaml`` file.\n\nReturns\n-------\nPortNode\n The root node of the parsed tree.\n\nRaises\n------\nValueError\n On structural errors in the YAML." }, "main": { "name": "main", "kind": "function", "path": "hexa.cli.main", "signature": "", "docstring": null } } } }