| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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
- 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
| Back | FazBrowse Home | New Git URL |