Visualizes dependencies between TaskWarrior tasks
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

TaskWarrior Dependency Visualization

Visualizes dependencies between TaskWarrior tasks.

Build Status Gem Version

Example

Given a set of interdependent tasks, they are

  1. Exported from TaskWarrior as JSON, then
  2. Piped into twdeps, and finally
  3. The output is directed to a PNG file.

Result:

party

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.