CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/pypi-luigi

tessl install tessl/pypi-luigi@2.8.0

Python 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%

rubric.jsonevals/scenario-3/

{
  "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
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/luigi@2.8.x
tile.json