| Name | Type | Description |
|---|---|---|
graph_iter* | Iterator[Any] | None | Pull-based iterator over the graph's stream,
or |
mux* | StreamMux | The StreamMux owning projections and the main log. |
values_transformer* | ValuesTransformer | The built-in values transformer
providing |
wire_pump | bool | Default: True |
| Name | Type |
|---|---|
| graph_iter | Iterator[Any] | None |
| mux | StreamMux |
| values_transformer | ValuesTransformer |
| wire_pump | bool |
Sync run stream with caller-driven pumping.
The caller's iteration on any projection (values, messages,
raw events, or output) drives the graph forward. No background
thread is used — the caller's for loop is the pump.
Projections are single-consumer — iterating run.values twice
raises. Use projection.tee(n) if you genuinely need fan-out.
All transformer projections live in extensions. Native transformer
projections (those with _native = True) are also set as direct
attributes on this instance (e.g. run.values, run.messages).
When True (default), bind _pump_next as the
mux's pump callable. Subclasses that inherit a parent
pump via StreamMux._make_child should pass False to
preserve the parent binding.