Repolode
spotify

spotify/luigi

Pacote Python para criar pipelines complexos de jobs em lote, com resolução de dependências, gerenciamento de workflows, tratamento de falhas e visualizador web.

Estrelas
18,784
Forks
2,474
Issues abertas
192
Último commit
há 8 dias

O que é?

Luigi é um pacote Python para encadear várias tarefas em lote em pipelines. Você define cada tarefa e suas dependências em código Python, e o Luigi resolve o grafo de dependências, executa as tarefas na ordem correta e trata falhas para que workflows longos possam ser retomados sem refazer o trabalho concluído.

Uma tarefa pode ser um job Hadoop ou Hive, um script Pig, um job Spark, um dump de tabela de banco de dados, uma transferência de arquivos com scp ou uma função Python qualquer. O Luigi vem com suporte integrado a Hadoop e HDFS, e suas operações de sistema de arquivos em arquivos locais são atômicas, evitando que uma execução com falha deixe resultados parciais.

O Luigi inclui um servidor web com um visualizador para pesquisar e filtrar tarefas e consultar o grafo de dependências, no qual tarefas concluídas e pendentes são exibidas em cores diferentes. A instalação é feita com pip, e há suporte opcional a configurações baseadas em TOML.

Recursos principais

  • 01Resolve as dependências entre tarefas e as executa na ordem correta.
  • 02Suporte integrado a jobs Hadoop, HDFS, Hive, Pig e Spark.
  • 03Operações atômicas no sistema de arquivos, para que execuções com falha não deixem dados parciais.
  • 04Visualizador web para pesquisar tarefas e consultar o grafo de dependências.
  • 05As tarefas são definidas em Python, permitindo calcular dependências programaticamente.

Casos de uso

  • Orquestrar pipelines de dados diários ou horários compostos por jobs Hadoop, Hive ou Spark.
  • Encadear exportações de banco de dados, transformações e etapas de treinamento de machine learning.
  • Retomar workflows longos de processamento em lote após uma falha, sem executar novamente as tarefas concluídas.

Início rápido

  1. 1

    Instalar Luigi pelo PyPI

    pip install luigi
  2. 2

    Instalar Luigi com suporte à configuração TOML (opcional)

    pip install luigi[toml]

Antes de usar

  • Foi desenvolvido para pipelines em lote, portanto não é adequado para cargas de trabalho em tempo real ou de streaming.
  • As tarefas são definidas em código Python, então equipes sem experiência com Python podem ter mais dificuldade para adotá-lo.

Tópicos

Perguntas frequentes

O que é luigi?
Pacote Python para criar pipelines complexos de jobs em lote, com resolução de dependências, gerenciamento de workflows, tratamento de falhas e visualizador web. Luigi é um pacote Python para encadear várias tarefas em lote em pipelines. Você define cada tarefa e suas dependências em código Python, e o Luigi resolve o grafo de dependências, executa as tarefas na ordem correta e trata falhas para que workflows longos possam ser retomados sem refazer o trabalho concluído.
luigi é gratuito? Qual é a licença?
luigi é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
luigi ainda é mantido?
Manutenção ativa. O último commit de luigi foi em 14 de out. de 2026.
Para que posso usar luigi?
Orquestrar pipelines de dados diários ou horários compostos por jobs Hadoop, Hive ou Spark. Encadear exportações de banco de dados, transformações e etapas de treinamento de machine learning. Retomar workflows longos de processamento em lote após uma falha, sem executar novamente as tarefas concluídas.
Como instalar luigi?
Instalar Luigi pelo PyPI: pip install luigi Instalar Luigi com suporte à configuração TOML (opcional): pip install luigi[toml]
Onde consigo luigi?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/spotify/luigi

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados