$npx skillfedfor your agent

luigi

Workflow mgmgt + task scheduling + dependency resolution.

Worth itPyPI MonitoringReleased May 20261.3M downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — luigi-3.8.1-py3-none-any.whl
v3.8.1 · released 2026-05-07 · Python <3.14,>=3.10 · 5 runtime deps: python-daemon, python-dateutil, tenacity, tornado, typing-extensions

Yes. Luigi is a mature, actively maintained framework with no known vulnerabilities, permissive licensing, and low installation friction. It's well-suited if you're building multi-stage batch pipelines or orchestrating interdependent long-running jobs. The web UI and dependency visualization are valuable for monitoring complex workflows. Install it if you need workflow orchestration; skip it if your tasks are simple, one-off scripts.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Installation is straightforward with low friction.
  • The package is actively maintained with a recent release and has been in production use since 2012, with an active repository showing ongoing development.

License · maintenance · safety

permissive license (permissive) — Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions—you may use, modify, and distribute the software freely provided you include license notices.

last release 2026-05-07 (99 days) · last repo commit 2026-07-18 · 18,763 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,273,178 downloads/mo, #4,128 on PyPI

Verify before relying

pip install luigi

import luigi

class MyTask(luigi.Task):
    def output(self):
        return luigi.LocalTarget('output.txt')
    def run(self):
        with self.output().open('w') as f:
            f.write('done')

if __name__ == '__main__':
    luigi.build([MyTask()], local_scheduler=True)
  • Whether the web-based visualizer requires additional dependencies or configuration beyond the base install
  • Performance characteristics and scalability limits for very large dependency graphs (thousands of tasks)
Same gist for agents: .md · .json

What it is and what it does

Luigi is a Python workflow framework that lets you define complex pipelines as directed acyclic graphs (DAGs) of interdependent tasks. Instead of writing shell scripts or cron jobs to manage batch processes, you define tasks in Python code and specify their dependencies; Luigi automatically resolves the execution order, handles retries on failure, and ensures atomic file operations so partial results don't corrupt your data.

The framework comes with built-in support for common patterns like Hadoop jobs, Hive queries, Spark jobs, and database operations, plus a web-based dashboard for monitoring and visualizing running pipelines. It's designed for long-running batch work—the kind that takes hours or days to complete—and has been used in production at scale by organizations like Spotify, Stripe, and Foursquare to manage thousands of daily tasks.

Use it for

  • Orchestrate multi-stage data pipelines combining Hadoop jobs, database dumps, and Python scripts with automatic retry and failure handling
  • Build ETL workflows that extract data from multiple sources, transform it through dependent stages, and load results into data warehouses
  • Manage machine learning training pipelines where feature engineering, model training, and evaluation stages must run in strict dependency order
  • Schedule and monitor recurring batch jobs (reports, analytics, data aggregations) with visibility into which tasks succeeded, failed, or are pending
  • Chain together heterogeneous tasks—some local Python code, some remote Spark jobs, some database operations—into a single unified workflow

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Luigi is a mature, actively maintained framework with no known vulnerabilities, permissive licensing, and low installation friction. It's well-suited if you're building multi-stage batch pipelines or orchestrating interdependent long-running jobs. The web UI and dependency visualization are valuable for monitoring complex workflows. Install it if you need workflow orchestration; skip it if your tasks are simple, one-off scripts.

Install

luigi on PyPI

Before you install

Installation is straightforward with low friction. The package is actively maintained with a recent release and has been in production use since 2012, with an active repository showing ongoing development.

License in practice

Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions—you may use, modify, and distribute the software freely provided you include license notices.

Quickstart

pip install luigi

import luigi

class MyTask(luigi.Task):
    def output(self):
        return luigi.LocalTarget('output.txt')
    def run(self):
        with self.output().open('w') as f:
            f.write('done')

if __name__ == '__main__':
    luigi.build([MyTask()], local_scheduler=True)

Verify before relying

  • Whether the web-based visualizer requires additional dependencies or configuration beyond the base install
  • Performance characteristics and scalability limits for very large dependency graphs (thousands of tasks)

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release <3.14,>=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
5 packages
python-daemonpython-dateutiltenacitytornadotyping-extensions
MaintenanceActively maintained 99 days since the last release
Last repo commit
First released
Downloads1,273,178 / month, #4,128 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Web EnvironmentIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: System :: Monitoring

Evidence: luigi-3.8.1-py3-none-any.whl

Tags

Capabilities
workflow orchestration pythonbatch job schedulingtask dependency managementdata pipeline frameworkdag workflow enginejob scheduling automationpipeline monitoring visualization
Topics
workflow-orchestrationbatch-processingdag-scheduler

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “batch job scheduling”

  • luigiLuigi is a Python workflow orchestration framework that builds and…
  • submititSubmitit wraps Slurm job submission and monitoring, letting you…
  • azure-batchProvides a Python client library to submit, manage, and monitor…

Give your agent the search over MCP, or paste the wish link into any chat.

More Monitoring packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
opentelemetry-semantic-conventions Worth it
PyPI · Monitoring · released Jul 2026

Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.

Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.

Apache-2.0pure Python · 3.10+
542.9Mdownloads / mo
opentelemetry-sdk Worth it
PyPI · Monitoring · released Jul 2026

Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.

Apache-2.0pure Python · 3.10+
521.8Mdownloads / mo
opentelemetry-api With conditions
PyPI · Monitoring · released Jul 2026

Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.

Apache-2.0pure Python · 3.10+
463.8Mdownloads / mo
opentelemetry-exporter-otlp-proto-http Worth it
PyPI · Monitoring · released Jul 2026

Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.

Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.

Apache-2.0pure Python · 3.10+
409.9Mdownloads / mo
opentelemetry-instrumentation Worth it
PyPI · Monitoring · released Jul 2026

Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.

Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.

Apache-2.0pure Python · 3.10+
393.5Mdownloads / mo

See also b2luigi · luigi-monitor · adagio · argo-workflows · snakemake-interface-scheduler-plugins · apache-airflow-core · prefect-dbt · apache-airflow-providers-apache-pig · prefect-gitlab · awsglue-dev