Herramienta de automatización de compilaciones para proyectos Python que usa tareas basadas en dependencias y un sistema de plugins para definir ciclos de vida de compilación.
pydoit/doit
Un ejecutor de tareas y herramienta de compilación para Python que define tareas como funciones Python normales y omite el trabajo que ya está al día.
- Estrellas
- 2,099
- Forks
- 204
- Issues abiertos
- 112
- Último commit
- hace 19 horas
¿Qué es?
doit es una herramienta de gestión y automatización de tareas similar a make, pero las tareas se escriben como funciones y diccionarios normales de Python, en lugar de usar un DSL específico o YAML. Las tareas se declaran en un archivo dodo.py, y doit las ejecuta en orden de dependencias.
La herramienta registra las dependencias entre archivos y los objetivos, guarda los resultados en caché y omite las tareas cuyas entradas no hayan cambiado desde la última ejecución. Una sola función puede generar subtareas, las dependencias se pueden calcular dinámicamente con calc_dep y las tareas se pueden ejecutar en paralelo mediante multiprocessing o threading.
La arquitectura de plugins permite ampliar la herramienta con comandos, reporteros, backends y cargadores de tareas, por lo que el código Python de las tareas puede usar cualquier biblioteca.
Funciones clave
- 01Compilaciones incrementales que vuelven a ejecutar solo las tareas cuyas dependencias hayan cambiado
- 02Tareas definidas como funciones y diccionarios normales de Python
- 03Ejecución de un grafo de tareas según el orden de dependencias
- 04Ejecución en paralelo mediante multiprocessing o threading
- 05Generación de subtareas y dependencias dinámicas con calc_dep
- 06Sistema de plugins para comandos, reporteros, backends y cargadores
Casos de uso
- Automatizar los pasos de compilación de proyectos que necesitan reconstrucciones incrementales basadas en archivos
- Orquestar pipelines de procesamiento de datos escritos en Python
- Reemplazar scripts de shell improvisados por tareas de Python versionadas y con dependencias definidas
Inicio rápido
- 1
Instala doit desde PyPI
pip install doit - 2
Crea un archivo dodo.py con funciones de tarea (consulta el ejemplo rápido en el README)
- 3
Ejecuta doit en el directorio que contiene dodo.py
doit
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es doit?
- Un ejecutor de tareas y herramienta de compilación para Python que define tareas como funciones Python normales y omite el trabajo que ya está al día. doit es una herramienta de gestión y automatización de tareas similar a make, pero las tareas se escriben como funciones y diccionarios normales de Python, en lugar de usar un DSL específico o YAML. Las tareas se declaran en un archivo dodo.py, y doit las ejecuta en orden de dependencias.
- ¿doit es gratuito? ¿Qué licencia tiene?
- doit es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿doit sigue mantenido?
- Mantenimiento activo. El último commit de doit fue el 7 nov 2026.
- ¿Para qué puedo usar doit?
- Automatizar los pasos de compilación de proyectos que necesitan reconstrucciones incrementales basadas en archivos Orquestar pipelines de procesamiento de datos escritos en Python Reemplazar scripts de shell improvisados por tareas de Python versionadas y con dependencias definidas
- ¿Cómo se instala doit?
- Instala doit desde PyPI: pip install doit Crea un archivo dodo.py con funciones de tarea (consulta el ejemplo rápido en el README) Ejecuta doit en el directorio que contiene dodo.py: doit
- ¿Dónde consigo doit?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pydoit/doit
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
SCons es una herramienta de construcción de software basada en Python que determina qué hay que reconstruir y ejecuta los comandos necesarios.
Un ejecutor de tareas rápido y multiplataforma escrito en Go, inspirado en Make y configurado mediante un archivo YAML Taskfile.
Herramienta basada en Python para ensamblar y desplegar de forma reproducible aplicaciones creadas con distribuciones de Python y otros sistemas.
Una plataforma de compilación para monorepos de TypeScript y proyectos multilenguaje que almacena en caché el trabajo sin cambios, ejecuta solo las tareas afectadas y se integra con CI.
Herramienta de línea de comandos que crea entornos de desarrollo aislados y reproducibles con paquetes específicos del proyecto del registro de Nix, sin contenedores.