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. If you download it, the command
$ twdeps -f png party.json > party.png
will generate party.png
in the current directory.
Installation
$ gem install twdeps
Usage
- Create a dependency graph as PNG and pipe it to a file:
task export | twdeps > deps.png
See 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 | bcat
bcat 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.