Python workflow management framework for building complex pipelines of batch jobs with dependency resolution and task scheduling.
72
{
"context": "Evaluates whether the workflow leverages Luigi's task graph features to build, connect, and execute the numeric pipeline specified in the problem, including correct orchestration, targets, and incremental behavior. Scoring emphasizes explicit use of Luigi primitives rather than generic Python logic.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Task classes",
"description": "Defines each stage as a subclass of luigi.Task (or ExternalTask where appropriate) with parameters for inputs/paths and implements run/output to encapsulate work instead of ad-hoc functions.",
"max_score": 25
},
{
"name": "Dependency wiring",
"description": "Uses requires() to express the seed -> clean -> metrics -> report graph so Luigi resolves upstream tasks automatically rather than manual invocation.",
"max_score": 20
},
{
"name": "Target outputs",
"description": "output() returns luigi.LocalTarget (or equivalent Target) objects rooted in work_dir for seed, clean, metrics, and report artifacts, enabling Luigi to track completion.",
"max_score": 20
},
{
"name": "Scheduler invocation",
"description": "run_workflow calls luigi.build/luigi.run with the terminal task(s), enabling Luigi's scheduler/worker to execute the graph and returning only after completion.",
"max_score": 15
},
{
"name": "Incremental completion",
"description": "Relies on Luigi's complete() or Target existence semantics to skip already-finished tasks on a rerun so modification times remain unchanged when outputs are present.",
"max_score": 10
},
{
"name": "Upstream inputs",
"description": "Downstream tasks read upstream results via input() (or equivalent Target reading) instead of passing raw data directly, showing correct dependency materialization.",
"max_score": 10
}
]
}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