Metadata-Version: 2.4
Name: tasklib
Version: 2.5.1
Summary: Official Taskwarrior library for Python
Home-page: https://github.com/GothenburgBitFactory/tasklib
Download-URL: https://github.com/GothenburgBitFactory/tasklib/downloads
Author: GothenburgBitFactory
Author-email: support@gothenburgbitfactory.org
License: BSD
Classifier: Development Status :: 6 - Mature
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: backports.zoneinfo; python_version < "3.9"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: download-url
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

tasklib
=======

.. image:: https://travis-ci.org/robgolding/tasklib.png?branch=develop
    :target: http://travis-ci.org/robgolding/tasklib

.. image:: https://coveralls.io/repos/robgolding/tasklib/badge.png?branch=develop
    :target: https://coveralls.io/r/robgolding/tasklib?branch=develop

tasklib is a Python library for interacting with taskwarrior_ databases, using
a queryset API similar to that of Django's ORM.

Requirements
------------

* Python 3.5 or above
* taskwarrior_ v2.4.x or above.

Older versions of taskwarrior are untested and may not work.

Installation
------------

Install via pip::

    pip install tasklib

Usage
-----

tasklib has a similar API to that of Django's ORM::

    >>> from tasklib import TaskWarrior

    >>> tw = TaskWarrior('~/.task')
    >>> tasks = tw.tasks.pending()
    >>> tasks
    ['Tidy the house', 'Learn German']
    >>> tasks.filter(tags__contain='chores')
    ['Tidy the house']
    >>> type(tasks[0])
    <class 'tasklib.task.Task'>
    >>> tasks[0].done()
    >>> tasks = tw.tasks.pending()
    >>> tasks
    ['Learn German']
    >>> tasks[0]['tags'] = ['languages']
    >>> tasks[0].save()

For more advanced usage, see the documentation_.

.. _taskwarrior: http://taskwarrior.org
.. _documentation: http://tasklib.readthedocs.org/en/latest/
