NodeProtocol Objects
BranchError Objects
Graph Objects
get_state
set_state
state- The new state to set for the graph.
update_state
values- The new values to update the graph state with.
reset_state
add_node
node- The node to add to the graph.
Exception- If a node with the same name already exists in the graph.
add_edge
source- The source node or its name.destination- The destination node or its name.
add_branch
destination
once source has run, without becoming a fork of the main path.
Regular edges out of a node with two or more successors fork the main
path and expect a join. A branch edge instead runs destination and
whatever regular edges follow it as an isolated pipeline: it needs no
join and no end node, it stops at the first node with no successors
(or one whose output has success: False), and an exception inside it
is recorded in branch_errors rather than raised. Branches may
themselves have branches.
Arguments:
source- The node whose completion starts the branch.destination- The first node of the branch pipeline.condition- Optional callable(output, state) -> bool(may be async) evaluated with the source node’s output; the branch is skipped when it returns a falsy value.wait- When True (default) the main path waits for the branch to finish before moving on. When False the branch runs as a detached task;source0 still waits for all detached branches before returning.
add_router
choice output of the router node.
Arguments:
sources- The list of source nodes for the router.router- The router node.destinations- The list of destination nodes for the router.
compile
- exactly one start node present (or Graph.start_node set)
- at least one end node present
- all edges reference known nodes
- all nodes reachable from the start (optional) no cycles when strict=True Returns self on success; raises GraphCompileError otherwise.
wait_for_branches
_execute_branch themselves.
execute_many
inputs(Iterable[dict]): An iterable of input dicts to feed into the graph.concurrency(int): Maximum number of graph executions to run at once.state(Optional[Any]): Optional shared state to pass to each execution. If you want isolated state per execution, pass None and the graph’s normal semantics will apply.
list[Any]: The list of results in the same order as inputs.
get_callback
Callback: A new instance of the callback class.
set_callback
get_callback method and used
as the default callback when no callback is passed to the execute method.
Arguments:
callback_class(type[Callback]): The callback class to use as the default callback.
add_parallel
source- The source node for the parallel branches.destinations- The list of destination nodes for the parallel branches.
add_join
sources- The list of source nodes for the join.destination- The destination node for the join.
visualize
save_path.
BranchEdge Objects
source to the first node of an isolated pipeline.
See Graph.add_branch.
