doit comes from the idea of bringing the power of build-tools to execute any kind of task. It will keep track of dependencies between “tasks” and execute them only when necessary. It was designed to be easy to use and “get out of your way”.
In doit, unlike most (all?) build-tools, a task doesn’t need to define a target file to use the execute only if not up-to-date feature. This make doit specially suitable for running test suites.
doit like most build tools is used to execute tasks defined in a configuration file. Configuration files are python modules. The tasks can be python functions or an external shell script/command. doit automatically keeps track of declared dependencies executing only tasks that needs to be update (based on which dependencies have changed).
If you are still wondering why someone would want to use this tool, check this blog post.
Using easy_install:
$ easy_install doit
Download the source and:
$ pytohn setup.py install
Get latest development version:
$ bzr branch lp:doit