Restful API for taskwarrior built with flask and tasklib.
- python3
- pipenv
- taskwarrior
- flask
- flask-restful
- flask-cors
- marshmallow
- tasklib
- pyjwt
Run pipenv install
to install all python dependencies.
Then pipenv run add_user
and follow the instruction to configure a user.
Test the server in development mode with pipenv run serve
.
See https://flask.palletsprojects.com/en/2.0.x/deploying/index.html for information on deploying flask apps.
pipenv run tests
runs the test suite.
taskAnnotation {
"description": string,
# read-only
"entry": date
}
task {
"description": string,
"due": date,
"priority": string,
"project": string,
"recur": string,
"scheduled": date,
"start": date,
"tags": list(strings)
"until": date,
# read-only
"annotations": list[taskAnnotation],
"depends": list[task],
"end": date,
"entry": date,
"id": int,
"imask": int,
"mask": string,
"modified": date,
"parent": task,
"status": string,
"urgency": float,
"uuid": string
}
With correct username and password as basic authentication headers.
JWT required for all other requests.
{
"token": JWT
}
x-access-tokens
must be set to JWT for all other endpionts.
Get list of all tasks.
{
"tasks": [
LIST OF ALL TASKS
]
}
Add a new task. Body:
{
# required
"description": "DESCRIPTION",
# optional
"due": date,
"project": "PROJECT",
"tags": ["TAG_1", "TAG_2"]
"hide": date,
"scheduled": date,
"start": date
}