doot.control.tracker._base
Abstract Specs: A[n] Concrete Specs: C[n] Task: T[n]
Expansion: ∀x ∈ C[n].depends_on => A[x] -> C[x] Head: C[1].depends_on[A[n].$head$] => A[n] -> C[n], A[n].head -> C[n].head, connect
Type Aliases
Classes
A public base implementation of most of a tracker |
Module Contents
- doot.control.tracker._base.Abstract: TypeAlias = T
- class doot.control.tracker._base.Tracker_abs(**kwargs: Any)[source]
A public base implementation of most of a tracker Has three components: _registry : db for specs and tasks _network : the links between specs in the registry _queue : the logic for determining what task to run next
- Parameters:
kwargs (Any)
- _factory: doot.workflow._interface.TaskFactory_p
- _subfactory: doot.workflow._interface.SubTaskFactory_p
- _registry: doot.control.tracker._interface.Registry_p
- _root_node
- property specs: dict[doot.workflow._interface.TaskName_p, doot.control.tracker._interface.SpecMeta_d][source]
- property artifacts: dict[doot.workflow._interface.Artifact_i, doot.control.tracker._interface.ArtifactMeta_d][source]
- property network: collections.abc.Mapping[source]
- Return type:
- register(
- *specs: doot.workflow._interface.TaskSpec_i | doot.workflow._interface.Artifact_i | doot.workflow._interface.DelayedSpec,
- Parameters:
specs (doot.workflow._interface.TaskSpec_i | doot.workflow._interface.Artifact_i | doot.workflow._interface.DelayedSpec)
- Return type:
None
- queue(
- name: str | doot.workflow._interface.TaskName_p | doot.workflow._interface.TaskSpec_i | doot.workflow._interface.Artifact_i | doot.workflow._interface.DelayedSpec,
- *,
- from_user: int | bool = False,
- status: jgdv.Maybe[doot.workflow._interface.TaskStatus_e] = None,
- **kwargs: Any,
- Parameters:
name (str | doot.workflow._interface.TaskName_p | doot.workflow._interface.TaskSpec_i | doot.workflow._interface.Artifact_i | doot.workflow._interface.DelayedSpec)
status (jgdv.Maybe[doot.workflow._interface.TaskStatus_e])
kwargs (Any)
- Return type:
jgdv.Maybe[Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i]]
- build(
- *,
- sources: jgdv.Maybe[Literal[True] | list[Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i]] = None,
- Parameters:
sources (jgdv.Maybe[Literal[True] | list[Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i]])
- Return type:
None
- report(
- target: doot.workflow._interface.TaskName_p,
- Parameters:
target (doot.workflow._interface.TaskName_p)
- Return type:
- _instantiate(
- target: doot.workflow._interface.TaskName_p | doot.workflow._interface.RelationSpec_i,
- *args: Any,
- task: bool = False,
- **kwargs: Any,
- Parameters:
target (doot.workflow._interface.TaskName_p | doot.workflow._interface.RelationSpec_i)
args (Any)
task (bool)
kwargs (Any)
- Return type:
jgdv.Maybe[doot.workflow._interface.TaskName_p]
- _connect(
- left: Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i,
- right: jgdv.Maybe[Literal[False] | Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i] = None,
- **kwargs: Any,
- Parameters:
left (Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i)
right (jgdv.Maybe[Literal[False] | Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i])
kwargs (Any)
- Return type:
None
- _upgrade_delayed_to_actual( ) doot.workflow._interface.TaskSpec_i[source]
can’t be in taskfactory, as it requires the registered specs
- Parameters:
- Return type:
- _reify_partial_spec( ) doot.workflow._interface.TaskSpec_i[source]
converts spec(name=group::task.a.b..$partial$, sources[*_, base], data) into spec(name=group::a.b, data) using base can’t be in the taskfactory, as it requires registered specs
- Parameters:
- Return type:
- _generate_implicit_tasks( ) list[doot.workflow._interface.TaskSpec_i][source]
Generate implicit subtasks for a concrete spec
- Parameters:
- Return type: