一覧へ戻る
pydoit/doit(新しいタブで開きます)
主要言語: Python
CLI task management & automation tool
- star 数
- 2,096
- watcher 数
- 45
- fork 数
- 202
- issue 数
- 112
- 最終更新
- 2026/09/21
主要言語: Python
CLI task management & automation tool
Define tasks in Python. Run only what changed.
doit is a task management & automation tool like make, but in pure Python.
It tracks file dependencies, caches results, and skips tasks that are already
up-to-date. No DSL, no YAML - just Python functions.
Create a dodo.py:
def task_hello(): """create a greeting file""" return { 'actions': ['echo "Hello from doit" > hello.txt'], 'targets': ['hello.txt'], 'clean': True, } def task_shout(): """convert greeting to uppercase""" return { 'actions': ['tr a-z A-Z < hello.txt > shout.txt'], 'file_dep': ['hello.txt'], 'targets': ['shout.txt'], 'clean': True, }
Run it:
$ pip install doit $ doit . hello . shout $ doit # nothing to do - already up-to-date -- hello -- shout $ doit clean # remove generated files $ doit # runs again . hello . shout
yield multiple tasks from a single functioncalc_dep for dynamic dependency graphs
- Website & docs - https://pydoit.org
- Project management on github - https://github.com/pydoit/doit
- Discussion group - https://groups.google.com/forum/#!forum/python-doit
- X/twitter - https://x.com/pydoit
The MIT License Copyright (c) 2008-2026 Eduardo Naufel Schettino
see LICENSE file
Financial contributions on Open Collective