tasks¶
tasks ¶
Attributes¶
__all__ module-attribute ¶
Classes¶
Task ¶
Task(name: str | None = None, description: str | None = None, timeout: float | None = None, retry: int = 0, skip_on_error: bool = False)
Bases: ABC, Generic[InputT, OutputT]
Abstract task with typed input and output (sync version).
Source code in inferflow/workflow/tasks.py
Attributes¶
metadata instance-attribute ¶
metadata = TaskMetadata(name=name or __name__, description=description or __doc__, timeout=timeout, retry=retry, skip_on_error=skip_on_error)
Functions¶
execute abstractmethod ¶
PipelineTask dataclass ¶
TaskChain ¶
ParallelTasks ¶
Bases: Generic[InputT]
Execute multiple tasks in parallel with same input (sync version).
Note: In sync version, tasks are executed sequentially. Use asyncio version for true parallelism.
Source code in inferflow/workflow/tasks.py
TypedWorkflow dataclass ¶
TypedWorkflow(input_builder: Callable[[Any], ContextT], tasks: list[Task[ContextT, ContextT]], output_builder: Callable[[ContextT], Any] | None = None)
Bases: WorkflowExecutor[ContextT]
Typed workflow with explicit context transformation (sync version).
Attributes¶
input_builder instance-attribute ¶
input_builder: Callable[[Any], ContextT]
Build initial context from input.
output_builder class-attribute instance-attribute ¶
output_builder: Callable[[ContextT], Any] | None = None
Extract output from final context.
Functions¶
run ¶
Execute workflow (sync).