Skip to main content

Next generation python bindings for your taskwarrior database

Project description

taskw-ng - Python API for the Taskwarrior DB

This project is a continuation of the taskw python wrapper.

This is a python API for the Taskwarrior command line task manager. It supports interacting with Taskwarirrior version >= 2.5.

Getting taskw-ng

Installing

Using taskw-ng requires that you first install Taskwarrior.

Installing it from http://pypi.org/project/taskw-ng is easy with pip:

pip install taskw-ng

Examples

Looking at tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
tasks = w.load_tasks()
tasks.keys()
# ['completed', 'pending']
type(tasks['pending'])
# <type 'list'>
type(tasks['pending'][0])
# <type 'dict'>

Adding tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
w.task_add("Eat food")
w.task_add("Take a nap", priority="H", project="life", due="1359090000")

Retrieving tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
w.get_task(id=5)

Updating tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
id, task = w.get_task(id=14)
task['project'] = 'Updated project name'
w.task_update(task)

Deleting tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
w.task_delete(id=3)

Completing tasks

from taskw_ng import TaskWarrior
w = TaskWarrior()
w.task_done(id=46)

Being Flexible

You can point taskw-ng at different Taskwarrior databases.

from taskw_ng import TaskWarrior
w = TaskWarrior(config_filename="~/some_project/.taskrc")
w.task_add("Use taskw_ng.")

Looking at the config

from taskw_ng import TaskWarrior
w = TaskWarrior()
config = w.load_config()
config['data']['location']
# '/home/threebean/.task'
config['_forcecolor']
# 'yes'

Using python-appropriate types (dates, UUIDs, etc)

from taskw_ng import TaskWarrior
w = TaskWarrior(marshal=True)
w.get_task(id=10)
# should give the following:
# (10,
#  {
#   'description': 'Hello there!',
#   'entry': datetime.datetime(2014, 3, 14, 14, 18, 40, tzinfo=tzutc())
#   'id': 10,
#   'project': 'Saying Hello',
#   'status': 'pending',
#   'uuid': UUID('4882751a-3966-4439-9675-948b1152895c')
#  }
# )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskw_ng-0.2.7.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

taskw_ng-0.2.7-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file taskw_ng-0.2.7.tar.gz.

File metadata

  • Download URL: taskw_ng-0.2.7.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for taskw_ng-0.2.7.tar.gz
Algorithm Hash digest
SHA256 558942b94b8bcdfa4a4e9c237ca129b37f0f9baeab3608a9b0a70d8f4d499013
MD5 ccd8c448a8a9f32fe144bc174d868bba
BLAKE2b-256 ee7a9b909fa736c64aa21ba9af3616f7f7bb0781692892a429127c763f210422

See more details on using hashes here.

File details

Details for the file taskw_ng-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: taskw_ng-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for taskw_ng-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db956b404b9e992ffe0ad46a7dafea4d591b156fc5dbf009a2a453bfa5a721ea
MD5 4a8b4d50cc895a665f3e9a729d00d88d
BLAKE2b-256 1b709e05ca7af0a95708649bdf5c12821dc41cc49709ff88b4665891b248d929

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page