flow
Flow decorator for defining durable executions.
A flow is the outer orchestration boundary in Kitaru. It marks the top-level function whose execution becomes durable, replayable, and observable.
attributeImageSetting= ImageInputattributelogger= logging.getLogger(__name__)funcflow(func=None, *, stack=None, image=None, cache=None, retries=None) -> _FlowDefinition | Callable[[Callable[..., Any]], _FlowDefinition]Mark a function as a durable flow.
Can be used as a bare decorator or with arguments:
@flow
def my_flow(...):
...
@flow(stack="prod", retries=2)
def my_other_flow(...):
...paramfuncCallable[..., Any] | None= NoneOptional function for bare decorator use.
paramstackstr | None= NoneDefault execution stack.
paramimageImageSetting | None= NoneDefault image settings.
paramcachebool | None= NoneOptional cache override (when omitted, lower-precedence config
sources apply and eventually default to True).
paramretriesint | None= NoneOptional retry override (when omitted, lower-precedence config
sources apply and eventually default to 0).
Returns
_FlowDefinition | Callable[[Callable[..., Any]], _FlowDefinition]The wrapped flow object or a decorator that returns it.