https://github.com/nerab/twdeps
Visualizes dependencies between TaskWarrior tasks
https://github.com/nerab/twdeps
dependencies graphviz ruby taskwarrior visualization
Last synced: 23 days ago
JSON representation
Visualizes dependencies between TaskWarrior tasks
- Host: GitHub
- URL: https://github.com/nerab/twdeps
- Owner: nerab
- License: mit
- Created: 2012-06-29T23:46:19.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-03-15T23:29:05.000Z (almost 3 years ago)
- Last Synced: 2023-10-26T15:33:13.826Z (over 2 years ago)
- Topics: dependencies, graphviz, ruby, taskwarrior, visualization
- Language: Ruby
- Homepage:
- Size: 340 KB
- Stars: 31
- Watchers: 4
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# TaskWarrior Dependency Visualization
Visualizes dependencies between TaskWarrior tasks.
[](http://travis-ci.org/nerab/twdeps)
[](http://badge.fury.io/rb/twdeps)
## Example
Given a set of interdependent tasks, they are
1. Exported from TaskWarrior as JSON, then
1. Piped into `twdeps`, and finally
1. The output is directed to a PNG file.
Result:

For the impatient: The JSON export is also available as [party.json](https://raw.github.com/nerab/twdeps/master/test/fixtures/party.json). Once you installed `twdeps`, the command
```bash
$ 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`:
```bash
$ twdeps $(dirname $(gem which twdeps))/../test/fixtures/party.json -f png > party.png
```
## Installation
```bash
$ gem install twdeps
```
## Usage
* Create a dependency graph as PNG and pipe it to a file:
```bash
task export | twdeps > deps.png
```
See [Limitations](Limitations) below for why we need the extra task parms
* Same but specify output format
```bash
task export | twdeps --format svg > deps.svg
```
* Create a graph from a previously exported file
```bash
task export > tasks.json
cat tasks.json | twdeps > deps.png
```
* Display graph in browser without creating an intermediate file
```bash
task export | twdeps --format svg | bcat
```
[bcat](https://rtomayko.github.io/bcat/) is required for piping into a browser.
## Dependencies
The graph is generated with [ruby-graphviz](https://github.com/glejeune/Ruby-Graphviz), which in turn requires a local [Graphviz](http://graphviz.org/) installation (e.g. `brew install graphviz` on a Mac or `sudo apt-get install graphviz` on Ubuntu Linux).
[bundler](http://bundler.io/) 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](http://taskwarrior.org/issues/1017) [bugs](http://taskwarrior.org/issues/1013) in the JSON export.