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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
558942b94b8bcdfa4a4e9c237ca129b37f0f9baeab3608a9b0a70d8f4d499013
|
|
| MD5 |
ccd8c448a8a9f32fe144bc174d868bba
|
|
| BLAKE2b-256 |
ee7a9b909fa736c64aa21ba9af3616f7f7bb0781692892a429127c763f210422
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db956b404b9e992ffe0ad46a7dafea4d591b156fc5dbf009a2a453bfa5a721ea
|
|
| MD5 |
4a8b4d50cc895a665f3e9a729d00d88d
|
|
| BLAKE2b-256 |
1b709e05ca7af0a95708649bdf5c12821dc41cc49709ff88b4665891b248d929
|