Python API reference
join | multi_join | merge | split | case | cycle_link | error | whenJoin, Merge, Split, Case, and control streams
Multi-input, branching, cycle, condition, and error-flow operators.
When to use
Use these methods where graph shape, state retention, or control flow is the primary behavior.
Behavior
- Join and MultiJoin combine keyed flows with state/storage options.
- Merge combines sources without a user callback.
- Split creates one branch point; Case and When represent conditional paths.
- CycleLink closes an intentional graph cycle; Error receives failure flow.
Join methods properties
Stateful combination.
PropertyTypeDescription
join(..., function, join_type=None, join_storage=None)StreamTwo-sided join with optional Inner, Left, Right, or Outer behavior.
multi_join(..., function, join_storage=None)StreamCombine more than two keyed inputs.
ttl / renew_ttlint | bool | NoneRetention duration and renewal behavior.
Routing methods properties
Graph branching and recombination.
PropertyTypeDescription
merge(name, *, sources=(), x=0, y=0)StreamCombine multiple sources.
split(name, *, source=None, x=0, y=0)StreamCreate a branch point.
case(name, *, function, source=None, x=0, y=0)StreamSelect a callback-defined branch.
when(name, *, value_type=None, source=None, x=0, y=0)StreamConditional branch target.
Control methods properties
Cycles and failures.
PropertyTypeDescription
cycle_link(name, *, source=None, x=0, y=0)StreamExplicit cycle connector.
error(name, *, value_type=None, function=None, source=None)StreamFailure stream with optional callback.
Python example
merged = orders.merge("Merge Results")
merged << http_result << kafka_result << processing_error
split = orders.split("Split Result")
merged >> split
split >> success
split >> retry