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, using a queryset
-API similar to that of Django's ORM.
+.. image:: https://coveralls.io/repos/robgolding63/tasklib/badge.png?branch=develop
+ :target: https://coveralls.io/r/robgolding63/tasklib?branch=develop
-Supports Python 2.6, 2.7, 3.2 and 3.3 with taskwarrior 2.2.0. Older versions of
-taskwarrior are untested and probably won't work.
+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
------------
-* taskwarrior_ v2.2.0
+* taskwarrior_ v2.1.x or above.
Installation
------------
Usage
-----
-.. source-code:
+tasklib has a similar API to that of Django's ORM::
>>> from tasklib.task import TaskWarrior
>>> type(tasks[0])
<class 'tasklib.task.Task'>
>>> task[0].done()
+ >>> tasks = tw.tasks.pending()
+ >>> tasks
+ ['Learn German']
+ >>> tasks[0]['tags'] = ['languages']
+ >>> tasks[0].save()
-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::
-
- $ 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/