Adds visual progressbars to tasks and lists with subtasks
- uses unicode symbols for cross-platform support
- adds progressbars lists, sub-lists and individual tasks
- You'll need a Todoist premium account
- You'll probably need a basic understanding of Python as this is my first Python project which is probably not bug-free
- As of today is tested on Windows 10, 64Bit only
- For optimal use this programm should run periodical on a server/computer to continuously update your tasks
- This programm updates the "top" task of your task-lists and adds a progress bar to the existing text
Errors could lead to broken task-descriptions or manual rework
sudo apt-get install python3-pip
sudo pip3 install -r requirements.txt
git clone [email protected]:6uhrmittag/todoist-progress.git
cd todoist-progress/todoist-progress/
echo -e "[config]\napikey=YOURAPIKEY-WITHOUTH-ANY-QUOTES\nlabel_progress=trackprogress" >> config.ini
- add a label named
trackprogress
to each list/task you want to track (only to the "top" task in the list)
cd todoist-progress/todoist-progress/
python3 todoist_progress.py
This program updates existing tasks without creating new once. It used the official sync-api and shouldn't cause any trouble while syncing. To continuously update your tasks run this programm periodical on a server/computer
run programm every 20Min via crontab (see crontab.guru for setting time)
sudo find / -name todoist_progress.py
- copy path without "todoist_progress.py" (e.g.
/home/USERNAME/todoisttest/todoist-progress/todoist-progress/
) crontab -e
- add:
*/20 * * * * cd "INSERT-COPIED-PATH" && /usr/bin/python3 todoist_progress.py
The bar is implemented by adding unicode charaters to the existing text.
e.g. ⬛⬛⬜⬜⬜ 33 %
The characters are configurable in the config.py
file
progress_bar_0='⬜⬜⬜⬜⬜ '
progress_bar_20='⬛⬜⬜⬜⬜ '
progress_bar_40='⬛⬛⬜⬜⬜ '
progress_bar_60='⬛⬛⬛⬜⬜ '
progress_bar_80='⬛⬛⬛⬛⬜ '
progress_bar_100='⬛⬛⬛⬛⬛ '
To change the bar to e.g. empty/full bullets, just overwrite the characters with other charaters ⚫⚫⚫⚪⚪
.
The bar added to every task. To seperate the task-text from the progressbar a rare unicode charater is used.
To change the seperator just change the line progress_seperator="‣"
in the config.py
file. Just replace the existing charater with your choice. Remember to rename the seperator manually in todoist before running the programm again!
The bar added to every task with the label trackprogress
.
The label-name can be changed in the config.ini
file:
label_progress=trackprogress
To change the labelname after the "=".
Remember to rename the label in todoist when renaming labels!
unfortunately the windows version is not as flexible as the "raw" python version and currently just tested under Win10, 64bit*
- add a label named
trackprogress
to each list/task you want to track (only to the "top" task in the list) - download
todoist_progress.exe
from releases page - add a config.ini to the same directory as the
todoist_progress.exe
(with notepad) - add the following to the
config.ini
:
[config]
apikey=YOURAPIKEY-WITHOUTH-ANY-QUOTES
label_progress=trackprogress
- open a cmd (WIN+R -> cmd) and
cd
into the directory (e.g.cd C:\Users\username\Downloads\todoist-progress
) - type
todoist_progress.exe
- like this:
- Done (check https://todoist.com )
The script checks for updates by checking the releases page and leaves a message in the console.
To update:
- Download release from releases page and owerwrite files or "git pull origin" when you cloned this repository
- check releasenotes for change in config-file
- check that the script uses the correct label
- install PyInstaller
- cmd in directory
- run
pyinstaller --path "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" --clean --onefile todoist_progress.py
- Doist/todoist-python - The official Todoist Python API library
- PyInstaller - PyInstaller is a program that freezes (packages) Python programs
Please leave a issue in the issue tracker
I use Github for versioning.
- Marvin Heimbrodt - Initial work - slashlog.de