sync

class SynchronousRunner(tube: Tube, store: EventStore = <factory>, max_iter_loops: int = 100, _callbacks: list[Callable[[Event | MetaEvent], None]] = <factory>, _logger: Logger = None, _runner_id: str | None = None)[source]

Simple, synchronous tube runner.

Just run the nodes in topological order and return from return nodes.

init() None[source]

Start processing data with the tube graph.

deinit() None[source]

Stop all nodes processing

property running: bool

Whether the tube is currently running

process(**kwargs: Any) None | dict[str, Any] | Any[source]

Iterate through nodes in topological order, synchronously calling their process method and passing events as they are emitted.

Process-scoped input s can be passed as kwargs.

enable_node(node_id: str) None[source]
disable_node(node_id: str) None[source]
collect_return(epoch: int | None = None) None | dict[str, Any] | Any[source]

The return node holds values from a single epoch, get and transform them