CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-luigi

Python workflow management framework for building complex pipelines of batch jobs with dependency resolution and task scheduling.

72

1.30x
Overview
Eval results
Files

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

Install with Tessl CLI

npx tessl i tessl/pypi-luigi

tile.json