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.
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-ngfromtaskw_ngimportTaskWarriorw=TaskWarrior()
tasks=w.load_tasks()
tasks.keys()
# ['completed', 'pending']type(tasks['pending'])
# <type 'list'>type(tasks['pending'][0])
# <type 'dict'>fromtaskw_ngimportTaskWarriorw=TaskWarrior()
w.task_add("Eat food")
w.task_add("Take a nap", priority="H", project="life", due="1359090000")fromtaskw_ngimportTaskWarriorw=TaskWarrior()
w.get_task(id=5)fromtaskw_ngimportTaskWarriorw=TaskWarrior()
id, task=w.get_task(id=14)
task['project'] ='Updated project name'w.task_update(task)fromtaskw_ngimportTaskWarriorw=TaskWarrior()
w.task_delete(id=3)fromtaskw_ngimportTaskWarriorw=TaskWarrior()
w.task_done(id=46)You can point taskw-ng at different Taskwarrior databases.
fromtaskw_ngimportTaskWarriorw=TaskWarrior(config_filename="~/some_project/.taskrc")
w.task_add("Use taskw_ng.")fromtaskw_ngimportTaskWarriorw=TaskWarrior()
config=w.load_config()
config['data']['location']
# '/home/threebean/.task'config['_forcecolor']
# 'yes'fromtaskw_ngimportTaskWarriorw=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')# }# )