Ferramenta de automação de build para projetos Python, com tarefas baseadas em dependências e um sistema de plugins para definir ciclos de build.
pydoit/doit
Um executor de tarefas e ferramenta de build em Python que define tarefas como funções Python comuns e pula o trabalho que já está atualizado.
- Estrelas
- 2,098
- Forks
- 204
- Issues abertas
- 112
- Último commit
- há 2 meses
O que é?
doit é uma ferramenta de gerenciamento e automação de tarefas semelhante ao make, mas as tarefas são escritas como funções e dicionários comuns do Python, em vez de usar uma DSL ou YAML específico. As tarefas são declaradas em um arquivo dodo.py, e o doit as executa na ordem das dependências.
A ferramenta acompanha dependências de arquivos e alvos, armazena resultados em cache e pula tarefas cujas entradas não mudaram desde a última execução. Uma única função pode gerar subtarefas; as dependências podem ser calculadas dinamicamente com calc_dep; e as tarefas podem ser executadas em paralelo usando multiprocessing ou threading.
A ferramenta pode ser estendida por uma arquitetura de plugins que abrange comandos, reporters, backends e carregadores de tarefas, permitindo que o código Python das tarefas use qualquer biblioteca.
Recursos principais
- 01Builds incrementais que executam novamente apenas as tarefas cujas dependências mudaram
- 02Tarefas definidas como funções e dicionários comuns do Python
- 03Execução de um grafo de tarefas na ordem das dependências
- 04Execução paralela com multiprocessing ou threading
- 05Geração de subtarefas e dependências dinâmicas com calc_dep
- 06Sistema de plugins para comandos, reporters, backends e carregadores
Casos de uso
- Automatizar etapas de build em projetos que precisam de rebuilds incrementais com base em arquivos
- Orquestrar pipelines de processamento de dados escritos em Python
- Substituir scripts de shell improvisados por tarefas Python versionadas e com dependências gerenciadas
Início rápido
- 1
Instale o doit pelo PyPI
pip install doit - 2
Crie um arquivo dodo.py com funções de tarefa (consulte o Quick Example no README)
- 3
Execute doit no diretório que contém dodo.py
doit
Em coleções
Tópicos
Perguntas frequentes
- O que é doit?
- Um executor de tarefas e ferramenta de build em Python que define tarefas como funções Python comuns e pula o trabalho que já está atualizado. doit é uma ferramenta de gerenciamento e automação de tarefas semelhante ao make, mas as tarefas são escritas como funções e dicionários comuns do Python, em vez de usar uma DSL ou YAML específico. As tarefas são declaradas em um arquivo dodo.py, e o doit as executa na ordem das dependências.
- doit é gratuito? Qual é a licença?
- doit é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- doit ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de doit foi em 21 de set. de 2026.
- Para que posso usar doit?
- Automatizar etapas de build em projetos que precisam de rebuilds incrementais com base em arquivos Orquestrar pipelines de processamento de dados escritos em Python Substituir scripts de shell improvisados por tarefas Python versionadas e com dependências gerenciadas
- Como instalar doit?
- Instale o doit pelo PyPI: pip install doit Crie um arquivo dodo.py com funções de tarefa (consulte o Quick Example no README) Execute doit no diretório que contém dodo.py: doit
- Onde consigo doit?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pydoit/doit
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
SCons é uma ferramenta de build baseada em Python que identifica o que precisa ser recompilado e executa os comandos necessários.
Um executor de tarefas rápido e multiplataforma, escrito em Go, inspirado no Make e configurado por meio de um arquivo Taskfile em YAML.
Ferramenta baseada em Python para montar e implantar aplicações criadas com distribuições Python e outros sistemas.
Ferramenta de linha de comando que cria shells de desenvolvimento isolados e reproduzíveis, com pacotes específicos do projeto do registro Nix, sem containers.
Biblioteca C de arquivo único para escrever scripts de build em C, tendo um compilador C como única dependência de build.