CaptureBuilder#
- class tierkreis.builder.CaptureBuilder(inputs: list[str] | None = None, outputs: list[str] | None = None, name: str = '', debug: bool | None = None)[source]#
Bases:
GraphBuilder
Graph builder for closures which capture inputs from outer scopes.
Methods
Add a node to the graph and connect incoming wires, which are specified via keyword arguments.
Capture input from an outer scope, wiring it through the input node.
Get a port from the input node by name.
Set the outputs of the graph by specifying incoming wires as keyword arguments.
Type check a graph against a provided signature and return a new graph with type annotations.
Attributes
captured
graph
inputs
outputs
inner_scopes
debug_info
- add_node_to_graph(_tk_node: TierkreisNode, /, **incoming_wires: NodePort | NodeRef | PortFunc) NodeRef #
Add a node to the graph and connect incoming wires, which are specified via keyword arguments.
- capture(incoming: NodePort | NodeRef | PortFunc, allow_existing: bool = False) NodePort | NodeRef | PortFunc [source]#
Capture input from an outer scope, wiring it through the input node.
- set_graph_outputs(**incoming_wires: NodePort | NodeRef | PortFunc) None #
Set the outputs of the graph by specifying incoming wires as keyword arguments.
- type_check(sig: Signature) TierkreisGraph #
Type check a graph against a provided signature and return a new graph with type annotations. Throws an exception if typecheck optional dependencies not installed).