tessl install tessl/pypi-luigi@2.8.0Python workflow management framework for building complex pipelines of batch jobs with dependency resolution and task scheduling.
Agent Success
Agent success rate when using this tile
72%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.31x
Baseline
Agent success rate without this tile
55%
{
"context": "Evaluates whether the workflow uses Luigi's configuration-driven features to control logging destinations/prefixes and to send failure notifications when running the two-stage pipeline. Scoring looks only at Luigi integration: config ingestion, logging setup, notification hooks, runner usage, and exit codes sourced from Luigi utilities.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Config loading",
"description": "Uses Luigi's configuration loader (e.g., `luigi.configuration.add_config_path` or `LuigiConfigParser.read`) to ingest the provided config file so scheduler host, log destination, and email recipients come from Luigi config rather than manual parsing.",
"max_score": 20
},
{
"name": "Logging setup",
"description": "Applies logging settings from Luigi config (such as `[core] logging_conf_file`, `log_level`, or `log_format`) via `luigi.interface.setup_interface_logging`/`setup_logging` so task start/end messages flow to the configured file with the configured prefix instead of hand-built log handlers.",
"max_score": 25
},
{
"name": "Failure notification",
"description": "Relies on Luigi's notification utilities (e.g., `[email] receiver`/`format`, `[core] email_prefix`, `luigi.notifications.send_email`, or `luigi.Event.FAILURE` handlers) to emit alerts that include the failing task name and error message when the deliberate failure occurs.",
"max_score": 30
},
{
"name": "Luigi runner",
"description": "Runs the two-stage workflow through Luigi (`luigi.build` or `luigi.run`) using scheduler settings pulled from config (e.g., `[core] scheduler_host`/`scheduler_port`) instead of executing tasks directly or bypassing Luigi scheduling.",
"max_score": 15
},
{
"name": "Exit codes",
"description": "Maps Luigi run results or `luigi.retcodes` to return 0 on a clean run and non-zero on the forced failure, rather than hardcoding statuses unrelated to Luigi's run outcome.",
"max_score": 10
}
]
}