autodoist/README.md

95 lines
3.4 KiB
Markdown
Raw Normal View History

Autodoist
2014-03-09 23:55:47 -04:00
==========
This program adds two major functionalities to Todoist to help automate your workflow:
1) Assign automatic `@next_action` labels for a more GTD-like workflow
2020-05-09 14:20:01 -04:00
2) Enable re-use of subtasks in lists with a recurring date
2020-05-13 16:35:07 -04:00
If this tool helped you out, I would really appreciate your support by providing me with some coffee!
<a href=https://ko-fi.com/hoffelhas>
<img src="https://uploads-ssl.webflow.com/5c14e387dab576fe667689cf/5cbed8a4ae2b88347c06c923_BuyMeACoffee_blue-p-500.png" width="150">
</a>
2014-11-15 14:58:01 -05:00
Requirements
============
2020-03-30 05:37:10 -04:00
* Python 3.8
* ```todoist-python``` package.
2014-11-15 14:58:01 -05:00
Automatic next action labels
2014-11-15 14:58:01 -05:00
=====================
2020-05-09 16:48:50 -04:00
The program looks for pre-defined tags in the name of every project and parentless tasks in your Todoist account to automatically add and remove `@next_action` labels.
2020-05-09 16:48:50 -04:00
Projects and parentless tasks can be tagged independently from each other to create the required functionality. If this tag is not defined, it will not activate this functionality. The result will be a clear, current and comprehensive list of next actions without the need for further thought.
2020-03-30 05:37:10 -04:00
2020-05-09 16:48:50 -04:00
Make sure the label exists in your Todoist before running the program. Todoist Premium is required in order to use labels and to make this functionality possible.
Sequential list processing
2014-11-15 14:58:01 -05:00
--------------------------
2020-05-12 17:29:56 -04:00
If a project or parentless task ends with `--`, the sub-tasks will be treated as a priority queue and the most important will be labeled `@next_action`. Importance is determined by order in the list.
![Serial task](https://i.imgur.com/SUkhPiE.gif)
Parallel list processing
2014-11-15 14:58:01 -05:00
------------------------
If a project or parentless task name ends with `//`, the sub-tasks will be treated as parallel `@next_action`s.
A waterfall processing is applied, where the lowest possible sub-tasks are labelled.
2020-03-30 05:37:10 -04:00
![Parallel task](https://i.imgur.com/NPTLQ8B.gif)
2020-03-30 05:37:10 -04:00
Parentless tasks
------------------------
Any parentless task can be be given a type by appending `//` or `--` to the name of the task. This works if there is no project type, and will override a previously defined project type.
2014-11-15 14:38:44 -05:00
[See example 1 with a parallel project](https://i.imgur.com/d9Qfq0v.gif)
[See example 2 with a serial project](https://i.imgur.com/JfaAOzZ.gif)
Recurring lists
====================
2020-05-09 16:50:50 -04:00
The program looks for all parentless tasks with a recurring date. If they contain sub-tasks, they will be restored in the same order when the parentless task is checked. Todoist Premium is not required for this functionality.
2020-05-09 14:26:56 -04:00
![See example](https://i.imgur.com/WKKd14o.gif)
Executing Autodoist
2014-11-15 14:38:44 -05:00
====================
You can run Autodoist from any system that supports Python.
2014-11-15 14:38:44 -05:00
Running Autodoist
2014-11-15 14:38:44 -05:00
------------------
Autodoist will read your environment to retrieve your Todoist API key, so to run on Windows/Linux/Mac OSX you can use the following commandline:
2014-11-15 14:38:44 -05:00
python autodoist.py -a <API Key>
2020-05-09 14:20:01 -04:00
If you want to enable recurring re-use mode, run with the `-r` argument:
2020-03-30 05:37:10 -04:00
python autodoist.py -a <API Key> -r
2020-03-30 05:37:10 -04:00
Additional arguments
------------------
Several arguments can be provided, for example to change the default label:
python autodoist.py -l <label>
2020-03-30 05:37:10 -04:00
Or to change the suffix tags:
python autodoist.py --parallel_suffix <tag>
python autodoist.py --serial_suffix <tag>
In addition, if you experience issues with syncing you can change the api syncing time (default 10 seconds):
2020-03-30 05:37:10 -04:00
2020-05-09 12:15:46 -04:00
python autodoist.py --delay <time in seconds>
For all arguments check help:
python autodoist.py --help