Todoist Taskwarrior

Links: GitHub
Tag: Python Taskwarrior Todoist CLI

I think Todoist is a fantastic productivity app, but I have recently been trying to transition to as mnay open-source & self-hosted tools as possible. This led me to build a tool to migrate all my tasks from Todoist into Taskwarrior.

Taskwarrior is great! It’s open source, and self-hostable (taskserver/taskd). There’s a CLI, TUI (see vit, tasknc), and an Android app (see Taskwarrior Android, Mirakel).

On Todoist I couldn’t access my completed tasks, comment on tasks, or set tags, as well as many other operations. I understand the need to monetize a product that they’ve worked hard and done a great job on - I only had a free account, and this isn’t a complaint! But, with Taskwarrior I own and have access to all my data and all features of the tool. A downside is that the UX isn’t as good as Todoist.

I wrote CLI a tool to migrate my data in Python 3.x using Click. It uses the todoist-python library to access the Todoist Sync API. To interface with the local Taskwarrior it uses taskw. It can migrate all tasks at once, or iterate through them in an interactive manner prompting the user to modify, skip, etc for each task.

For example:

$ python -m todoist_taskwarrior.cli migrate --interactive
Interactively add tasks

y - add task
n - skip task
d - change description
P - change project
p - change priority
t - change tags
r - change recur
q - quit immediately
? - print help

Task 1 of 315: Work on an open source project

tid: 142424242
name: Work on an open source project
project: Open Source
entry: 2019-01-18T12:00:00+00:00
due: 2019-01-21T17:00:00+00:00
recur: 3 days

Import this task? (y, n, r, t, p, q, ?):