X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/f3070dede96ec9ad9467bdadcdbda9248699dbfc..811b104aac436b3603910d9ec8a6f3aa018f1e56:/README.rst diff --git a/README.rst b/README.rst index f92dc0c..731241c 100644 --- a/README.rst +++ b/README.rst @@ -1,15 +1,22 @@ tasklib ======= -.. image:: https://travis-ci.org/robgolding63/tasklib.png +.. image:: https://travis-ci.org/robgolding63/tasklib.png?branch=develop :target: http://travis-ci.org/robgolding63/tasklib -A Python library for interacting with taskwarrior_ databases. +.. image:: https://coveralls.io/repos/robgolding63/tasklib/badge.png?branch=develop + :target: https://coveralls.io/r/robgolding63/tasklib?branch=develop + +tasklib is a Python library for interacting with taskwarrior_ databases, using +a queryset API similar to that of Django's ORM. + +Supports Python 2.6, 2.7, 3.2, 3.3 and 3.4 with taskwarrior 2.1.x and above. +Older versions of taskwarrior are untested and may not work. Requirements ------------ -Before installing ``tasklib``, you'll need to install taskwarrior_. +* taskwarrior_ v2.1.x or above. Installation ------------ @@ -21,9 +28,9 @@ Install via pip:: Usage ----- -.. source-code: +tasklib has a similar API to that of Django's ORM:: - >>> from tasklib.task import TaskWarrior + >>> from tasklib import TaskWarrior >>> tw = TaskWarrior('/home/rob/.task') >>> tasks = tw.tasks.pending() @@ -33,25 +40,14 @@ Usage ['Tidy the house'] >>> type(tasks[0]) - >>> task[0].done() - -Filtering Tasks ---------------- - -Tasks can be filtered using the ``TaskQuerySet`` API which emulates the -Django ORM:: - - >>> tw.tasks.filter(status='pending', tags__contain='work') - ['Upgrade Ubuntu Server'] - -Filter arguments are passed to the ``task`` command (``__`` is replaced by -a period); so the above example is equivalent to the following command:: + >>> tasks[0].done() + >>> tasks = tw.tasks.pending() + >>> tasks + ['Learn German'] + >>> tasks[0]['tags'] = ['languages'] + >>> tasks[0].save() - $ task status:pending tags.contain=work +For more advanced usage, see the documentation_. .. _taskwarrior: http://taskwarrior.org - -Tasks can also be filtered using raw commands, like so:: - - >>> tw.tasks.filter('status:pending +work') - ['Upgrade Ubuntu Server'] +.. _documentation: http://tasklib.readthedocs.org/en/latest/