Kitaru

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
= ImageInput
attributelogger
= 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
= None

Optional function for bare decorator use.

paramstackstr | None
= None

Default execution stack.

paramimageImageSetting | None
= None

Default image settings.

paramcachebool | None
= None

Optional cache override (when omitted, lower-precedence config sources apply and eventually default to True).

paramretriesint | None
= None

Optional 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.