Python workflow management framework for building complex pipelines of batch jobs with dependency resolution and task scheduling.
72
{
"context": "Evaluates how the implementation leverages Luigi's target abstractions and atomic I/O helpers to implement the ProcessAndBackupTask. Checks emphasize atomic writes, format-aware reads/writes (including gzip), and returning Target objects instead of raw paths.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Target inputs",
"description": "Input handling uses a Luigi Target (e.g., LocalTarget) with an appropriate format so .gz inputs are read transparently via target.open rather than manual gzip handling.",
"max_score": 20
},
{
"name": "Atomic processed write",
"description": "Processed output is written through Luigi's atomic write helpers (LocalTarget.open or atomic_file) so the final file only materializes after successful completion.",
"max_score": 25
},
{
"name": "Failure cleanup",
"description": "When fail_midway triggers an exception, reliance on Luigi's atomic write wrapper removes any partial processed/backup files, leaving no half-written artifacts.",
"max_score": 15
},
{
"name": "Gzip backup target",
"description": "Backup output uses a Luigi Target configured with a gzip format (e.g., LocalTarget(..., format=luigi.format.Gzip)) and writes through target.open to produce a compressed copy of the processed content.",
"max_score": 20
},
{
"name": "Output mapping targets",
"description": "output() returns Luigi Target objects keyed as processed and backup, not raw paths, enabling scheduler completeness checks on both targets.",
"max_score": 20
}
]
}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