taskwarrior: Types and aeson instances for taskwarrior tasks

[ agpl, data, library, taskwarrior ] [ Propose Tags ]

Types and aeson instances for the https://taskwarrior.org task import/export feature

[Skip to Readme]
Versions [faq],,,,
Change log CHANGELOG.md
Dependencies aeson (>= && <1.5), base (>=4.11 && <4.14), bytestring (>= && <0.11), process (>= && <1.7), random (==1.1.*), text (>= && <1.3), time (>= && <1.11), unordered-containers (>= && <0.3), uuid (>=1.3.13 && <1.4) [details]
License AGPL-3.0-or-later
Author Malte Brandy <malte.brandy@maralorn.de>
Maintainer Malte Brandy <malte.brandy@maralorn.de>
Revised Revision 1 made by maralorn at Sun Mar 29 19:33:51 UTC 2020
Category Taskwarrior, Data
Home page https://github.com/maralorn/haskell-taskwarrior
Bug tracker https://github.com/maralorn/haskell-taskwarrior/issues
Uploaded by maralorn at Wed Feb 26 19:09:02 UTC 2020
Distributions NixOS:
Downloads 652 total (210 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-02-26 [all 1 reports]


[Index] [Quick Jump]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for taskwarrior-

[back to package description]


Hackage Build Status Hackage Deps


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 or suggestions and of course code contributions are highly welcome.