queenbee.recipe.dag module¶
Queenbee DAG.
A DAG defines a single step in a Recipe. Each DAG is a collection of tasks/steps. Each step indicates what function template should be used and maps inputs and outputs for the specific task.
- class queenbee.recipe.dag.DAG(*, type: ConstrainedStrValue = 'DAG', annotations: Dict[str, Any] = None, inputs: List[Union[DAGGenericInput, DAGStringInput, DAGIntegerInput, DAGNumberInput, DAGBooleanInput, DAGFolderInput, DAGFileInput, DAGPathInput, DAGArrayInput, DAGJSONObjectInput]] = None, outputs: List[Union[DAGGenericOutput, DAGStringOutput, DAGIntegerOutput, DAGNumberOutput, DAGBooleanOutput, DAGFolderOutput, DAGFileOutput, DAGPathOutput, DAGArrayOutput, DAGJSONObjectOutput]] = None, name: str, fail_fast: bool = True, tasks: List[DAGTask])[source]¶
Bases:
IOBase
A Directed Acyclic Graph containing a list of tasks.
- classmethod check_dag_outputs(values)[source]¶
Check DAG outputs refer to existing Task outputs.
It can’t be a normal validator because of the order in which the inputs get assigned in Pydantic when a class is a subclass from another.
- classmethod check_template_name(v, values)[source]¶
Check that a task name does not refer to itself in a template.
- fail_fast: bool¶
- static find_task_return(tasks: List[DAGTask], reference: Union[TaskReference, TaskFileReference, TaskFolderReference, TaskPathReference]) Union[TaskReturn, TaskPathReturn] [source]¶
Find a task output within the DAG from a reference
- Parameters:
:param : TaskPathReference]} – A reference to a DAG Task output
- Raises:
ValueError – The task name cannot be found.
ValueError – The task return reference cannot be found.
- Returns:
Union[TaskReturn, TaskPathReturn] – A task output parameter or artifact
- get_task(name)[source]¶
Get task by name.
- Parameters:
task (name {str} -- The name of a) –
- Raises:
ValueError – The task name does not exist
- Returns:
DAGTask – A DAG Task
- inputs: List[Union[DAGGenericInput, DAGStringInput, DAGIntegerInput, DAGNumberInput, DAGBooleanInput, DAGFolderInput, DAGFileInput, DAGPathInput, DAGArrayInput, DAGJSONObjectInput]]¶
- name: str¶
- outputs: List[Union[DAGGenericOutput, DAGStringOutput, DAGIntegerOutput, DAGNumberOutput, DAGBooleanOutput, DAGFolderOutput, DAGFileOutput, DAGPathOutput, DAGArrayOutput, DAGJSONObjectOutput]]¶
- property templates: Set[str]¶
A list of unique templates referred to in the DAG.
- Returns:
List[str] – A list of task name
- type: ConstrainedStrValue¶