task: A command line tool for keeping track of tasks you worked on

[ bsd3, network, program ] [ Propose Tags ]

task is a simple command line tool for keeping track of tasks you are working on. Tasks are kept in a simple persistent store. Each task can be tagged with arbitrary key/value pairs and the results can be exported to CSV files filtered on said key/value pairs.

[Skip to Readme]


Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.1
Dependencies aeson, attoparsec, base (>=2 && <=, bytestring, containers, csv-enumerator, directory, filepath, old-locale, random, text, time, unix [details]
License BSD-3-Clause
Author Sean Seefried
Maintainer sean.seefried@gmail.com
Category Network
Source repo head: git clone git://github.com/sseefried/task.git
Uploaded by SeanSeefried at 2012-03-22T12:07:34Z
Distributions NixOS:0.0.1
Executables task
Downloads 914 total (2 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 6 reports]

Readme for task-0.0.1

[back to package description]


task start


task start <description> <key/value...>


-t, --time <time>              start at time
-k, --key-value=<key/value>    Add key/value pair

Each key/value pair is of the form : where and are both JSON strings.

task finish

Finish the current task, if there is one.


task finish


-t, --time <time>      finish at time as long as it is after start time and not in future.

task modify

Modifies a single entry if it wouldn't overlap with another one or finish in the future.


task modify <flags>


--id <id>              Modify the task with id <id>
-s, --start <start>    Modify start time to <start>
-f, --finish <finish>  Modify finish time to <finish>

task delete


task delete <flags>


-- id <id>    Delete the task with id <id>

task query

Allows you to query the database


task query <flags...>


-f, --format        Format
                      %s       start time
                      %f       finish time
                      %c       category
                      %d       description
                      %k<key>  key/value pair for key <key>
                      %K       all key value pairs, comma seperated
--gt <time>         Show all entries greater than <time>. Combines with other flags.
--ge <time>         Like --gt but "greater than or equal to"
--lt <time>         Like --gt but "less than"
--le <time>         Like --gt but "less than or equal to"

task export


task export <path>


--csv    Export as CSV. Incompatible with --json
--json   Export as JSON. Incompatible with --csv


Valid keys

Keys can be any valid identifier other than id, start, finish, category, description. See Identifiers.


Acceptable characters for ids are JSON strings. JSON strings are

  1. any Unicode character except " or the \ control character.
  2. a \ followed by any of:
  • ". Quotation mark.
  • \. Backslash.
  • /. Forward slash.
  • b. Backspace.
  • f. Formfeed.
  • n. Newline.
  • r. Carriage return.
  • t. Horizontal tab
  • u and 4 hexadecimal digits.