You are welcome to doit¶
tasks => {doit + shell + python} => done¶
Declare your task(s) in dodo.py:
def task_compress():
"""Compress input file(s)"""
return {
"actions": [
"7z a %(targets)s %(dependencies)s",
],
"file_dep": ["lauer.dat", "hardy.dat", "elephant.txt"],
"targets": ["bigarchive.7z"],
"clean": True
}
Install doit and go:
$ pip install doit
$ doit list # see list of tasks with one-line helpstring
compress Compress input file(s)
$ doit # run all default tasks
. compress
$ doit # skip doing tasks with results being already uptodate
-- compress
$ doit clean # clean created files
compress - removing file 'bigarchive.7z'
Table of Contents
- Use Cases
- Simplify cumbersome command line calls
- Automate typical project related actions
- Share unified way of doing things
- Optimize processing time by skipping tasks already done
- Manage complex set of depending tasks
- Speed up by parallel task execution
- Extend your project by doit features
- Create cross-platform tool for processing your stuff
- Quick Start
- Tutorials
- Concepts
- Reference Manual
- Terms and definitions
- Task execution life-cycle
- Configuration options
- dodo.py file
- action definitions
- actions calculating values
- getargs: read values calculated by other tasks
- action usage scenarios
- doit invocation
- doit command line interface
- Task declaration parameters
- Task names
- Task selection
- Task dependencies
- Task up to date status
- Complex dependency options
- reporter: reporting progress and result
- DB-Backend
- doit customization
- Tools embedded in doit
- How-to