flowrep.parsers.parser_protocol module

class flowrep.parsers.parser_protocol.BodyWalker(*args, **kwargs)[source]

Bases: Protocol

What control flow parsers need to walk a sub-body.

build_model() WorkflowRecipe[source]
property edges: dict[TargetHandle, SourceHandle]
fork(*, new_symbol_map: SymbolScope, new_scope: ScopeProxy) BodyWalker[source]
info_factory: VersionInfoFactory
property input_edges: dict[TargetHandle, InputSource]
property inputs: list[str]
nodes: dict[Annotated[str, BeforeValidator(func=_validate_label, json_schema_input_type=PydanticUndefined)], Annotated[AtomicRecipe | ForEachRecipe | IfRecipe | TryRecipe | WhileRecipe | WorkflowRecipe, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
property output_edges: dict[OutputTarget, SourceHandle | InputSource]
property outputs: list[str]
scope: ScopeProxy
symbol_map: SymbolScope
visit(stmt: AST) None[source]
walk(statements: list[stmt]) None[source]