Go to file
2021-10-10 23:21:38 +02:00
.github/workflows Rename test name 2021-05-17 00:14:27 +02:00
src/Taskwarrior Improve documentation slightly 2021-10-10 23:14:30 +02:00
test Switch to aeson 2.0 and use Map as UDA 2021-10-10 23:14:21 +02:00
.gitignore Ignore .direnv 2020-04-11 19:25:16 +02:00
cabal.project Add cabal.project 2020-04-26 03:51:25 +02:00
CHANGELOG.md Switch to aeson 2.0 and use Map as UDA 2021-10-10 23:14:21 +02:00
fourmolu.yaml Switch to fourmolu formatting 2021-10-10 22:54:38 +02:00
LICENSE Initial commit 2019-11-02 00:33:31 +01:00
README.md Update README.md 2021-10-10 23:21:38 +02:00
taskwarrior.cabal Switch to aeson 2.0 and use Map as UDA 2021-10-10 23:14:21 +02:00
test.nix Switch to nix based github action 2021-05-17 00:04:12 +02:00


Hackage Deps CI Packaging status


Taskwarrior is a feature rich command-line task management tool.

This Haskell library contains

  • a data type to represent a taskwarrior task
  • Aeson instances to deserialize and serialize a task according to the taskwarrior import/export specifications
  • IO actions to load and manipulate tasks by calling the task command. (Since this is the encouraged way to library design by the taskwarrior developers.)


Install taskwarrior from hackage. Have a look at Taskwarrior.IO.getTasks to get started.

This example prints the description of (at the most) 5 pending tasks.

import Taskwarrior.IO (getTasks)
import Taskwarrior.Task as Task

main :: IO ()
main = do
  tasks <- getTasks ["+PENDING", "limit:5"]
  print $ Task.description <$> tasks


Any form of issue reports, general feedback, feature requests or suggestions and of course code contributions are highly welcome.

Also I'd be curious to know what you use this library for.

This project uses fourmolu as code formatter.

Help & Contact

You can always open an issue on GitHub. Contacting @maralorn:maralorn.de on matrix is also an option. But of course that wont be public and therefore not help anyone else.