Python workflow management framework for building complex pipelines of batch jobs with dependency resolution and task scheduling.
72
Build an orchestrated pipeline that processes a list of asset identifiers by fetching metadata, running a resource-intensive transcode, and packaging a manifest. The heavy stage must consume a named accelerator resource whose available slots are provided at runtime. Rely on the dependency's resource-aware scheduling to enforce limits; do not gate concurrency with manual semaphores or custom queues.
@generates
from typing import Any, Dict, List, Sequence, TypedDict
class TimelineEntry(TypedDict):
item: str
stage: str
start: float
end: float
class RunReport(TypedDict):
outputs: List[str]
timeline: List[TimelineEntry]
runtime_seconds: float
def run_resource_limited_pipeline(
item_ids: Sequence[str],
resource_limits: Dict[str, int] | None = None,
worker_count: int = 2
) -> RunReport:
"""
Runs the orchestrated pipeline, using the dependency's resource-aware scheduling to bound concurrency of the accelerator-heavy stage.
Timeline entries must cover the resource-bound stage (named "transcode") for each item using monotonic seconds, and each accelerator-bound unit of work should simulate at least ~0.15 seconds of active time so that overlap/serialization can be measured in tests.
"""Workflow orchestration with task resources, dependency resolution, and scheduler-enforced resource limits. @satisfied-by
Install with Tessl CLI
npx tessl i tessl/pypi-luigidocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10