twdeps
twdeps copied to clipboard
Visualizes dependencies between TaskWarrior tasks
TaskWarrior Dependency Visualization
Visualizes dependencies between TaskWarrior tasks.
Example
Given a set of interdependent tasks, they are
- Exported from TaskWarrior as JSON, then
- Piped into
twdeps, and finally - The output is directed to a PNG file.
Result:

For the impatient: The JSON export is also available as party.json. Once you installed twdeps, the command
$ curl https://raw.githubusercontent.com/nerab/twdeps/master/test/fixtures/party.json | twdeps -f png > party.png
will generate party.png in the current directory. If you don't want to download the JSON file, try the local oen that comes with twdeps:
$ twdeps $(dirname $(gem which twdeps))/../test/fixtures/party.json -f png > party.png
Installation
$ gem install twdeps
Usage
-
Create a dependency graph as PNG and pipe it to a file:
task export | twdeps > deps.pngSee Limitations below for why we need the extra task parms
-
Same but specify output format
task export | twdeps --format svg > deps.svg- Create a graph from a previously exported file
task export > tasks.json cat tasks.json | twdeps > deps.png -
Display graph in browser without creating an intermediate file
task export | twdeps --format svg | bcatbcat is required for piping into a browser.
Dependencies
The graph is generated with ruby-graphviz, which in turn requires a local Graphviz installation (e.g. brew install graphviz on a Mac or sudo apt-get install graphviz on Ubuntu Linux).
bundler is also required.
Limitations
TaskWarrior versions before 2.1 need the additional command line options rc.json.array=on and rc.verbose=nothing due to two bugs in the JSON export.

