Repolode
pydoit

pydoit/doit

Python-средство для запуска задач и сборки: задачи задаются обычными функциями, а уже выполненные шаги повторно не запускаются.

Звёзды
2,098
Форки
204
Открытые issues
112
Последний коммит
2 месяца назад

Что это?

doit — инструмент для управления задачами и автоматизации, похожий на make. Задачи в нём описываются обычными функциями и словарями Python, а не с помощью отдельного DSL или YAML. Задачи объявляются в файле dodo.py, а doit выполняет их с учётом зависимостей.

Инструмент отслеживает файловые зависимости и целевые файлы, кэширует результаты и пропускает задачи, входные данные которых не изменились с момента последнего запуска. Одна функция может создавать подзадачи, зависимости можно вычислять динамически с помощью calc_dep, а сами задачи — выполнять параллельно через multiprocessing или threading.

Расширять инструмент можно с помощью системы плагинов для команд, репортёров, бэкендов и загрузчиков задач. Благодаря этому в коде задач можно использовать любые библиотеки Python.

Ключевые возможности

  • 01Инкрементальные сборки: повторно запускаются только задачи, у которых изменились зависимости
  • 02Задачи задаются обычными функциями и словарями Python
  • 03Выполнение графа задач в порядке, заданном зависимостями
  • 04Параллельное выполнение через multiprocessing или threading
  • 05Создание подзадач и динамических зависимостей с помощью calc_dep
  • 06Система плагинов для команд, репортёров, бэкендов и загрузчиков

Сценарии использования

  • Автоматизация этапов сборки проектов, которым нужна инкрементальная пересборка на основе файлов
  • Оркестрация конвейеров обработки данных, написанных на Python
  • Замена разрозненных shell-скриптов Python-задачами с отслеживанием версий и зависимостей

Быстрый старт

  1. 1

    Установите doit из PyPI

    pip install doit
  2. 2

    Создайте файл dodo.py с функциями задач (см. Quick Example в README)

  3. 3

    Запустите doit в каталоге, содержащем dodo.py

    doit

В подборках

Темы

Частые вопросы

Что такое doit?
Python-средство для запуска задач и сборки: задачи задаются обычными функциями, а уже выполненные шаги повторно не запускаются. doit — инструмент для управления задачами и автоматизации, похожий на make. Задачи в нём описываются обычными функциями и словарями Python, а не с помощью отдельного DSL или YAML. Задачи объявляются в файле dodo.py, а doit выполняет их с учётом зависимостей.
doit можно использовать бесплатно? Какая у него лицензия?
doit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
doit всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в doit — 21 сент. 2026 г..
Для чего можно использовать doit?
Автоматизация этапов сборки проектов, которым нужна инкрементальная пересборка на основе файлов Оркестрация конвейеров обработки данных, написанных на Python Замена разрозненных shell-скриптов Python-задачами с отслеживанием версий и зависимостей
Как установить doit?
Установите doit из PyPI: pip install doit Создайте файл dodo.py с функциями задач (см. Quick Example в README) Запустите doit в каталоге, содержащем dodo.py: doit
Где скачать doit?
Исходный код и инструкции по установке — на GitHub: https://github.com/pydoit/doit

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты