.. note:: IMPORTANT NOTICE: The project is currently on hold due to changes in third-party APIs.
I'll try to bring Taskbutler up to date in late 2023.
Taskbutler enriches your Todoist tasks by adding progress bars, Office365 Files and Dropbox Paper papers directly to your tasks.
.. image:: https://travis-ci.org/6uhrmittag/taskbutler.svg?branch=master :target: https://travis-ci.org/6uhrmittag/taskbutler :alt: Travis
.. image:: https://www.codefactor.io/repository/github/6uhrmittag/taskbutler/badge/master :target: https://www.codefactor.io/repository/github/6uhrmittag/taskbutler/overview/master :alt: CodeFactor
.. image:: https://api.codeclimate.com/v1/badges/02c45c0604ad57ffc504/maintainability :target: https://codeclimate.com/github/6uhrmittag/taskbutler/maintainability :alt: Maintainability
.. image:: https://pyup.io/repos/github/6uhrmittag/taskbutler/shield.svg :target: https://pyup.io/repos/github/6uhrmittag/taskbutler/ :alt: Updates
.. image:: https://readthedocs.org/projects/taskbutler/badge/?version=latest :target: https://taskbutler.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
add progress bars to task-lists in Todoist (unicode, cross-plattform)
.. image:: /_static/win-web-demo-list.png
add and link a Word/Office365 template to tasks (with help of your Dropbox)
.. image:: /_static/feature-office.gif
add and link Dropbox Paper papers to tasks
.. image:: /_static/feature-paper.gif
calculate total sums of grocery lists or financial planning
.. image:: /_static/feature_grocery.gif
Taskbutler is not associated or connected with Todoist, Dropbox, Github or Microsoft.
Todoist <https://todoist.com>
_ premium accountEven though I never experienced any data loss, it's nice to know
that \ Todoist provides a daily backup of your data. <https://support.todoist.com/hc/en-us/articles/115001799989>
_
To install the latest taskbutler in your home directory, run this commands in your terminal:
.. code-block:: console
pip install taskbutler --user
# To start taskbutler without full path:
echo 'PATH="$PATH:$HOME/.local/bin/"' >> ~/.bash_profile
The configuration is stored in your home directory: /home/$YourUsername/.taskbutler/config/config.ini
Each feature can be disabled by leaving the corresponding labelname in the config.ini emtpy. Each feature is configured in the config.ini. Open, edit and save the file to configure Taskbutler.
If you used Taskbutler before and want to change a setting: Remember to stop Taskbutler before changing any setting and always update your existing Todoist tasks manually according to your changes before starting Taskbutler again.
Taskbutler is not aware of your changes and will mix and mess up your tasks. Changes can easily be tested by using a different labelname.
Setup Todoist access ^^^^^^^^^^^^^^^^^^^^
taskbutler needs access to your Todoist account. This is done via an API key, you'll need to create. This key is like a password - don't share it!
.. code:: ini
[todoist] apikey = PUT_TOKEN_HERE
Setup Progress bars ^^^^^^^^^^^^^^^^^^^
Edit the config section in config.ini:
.. code:: ini
[todoist] apikey = label_progress = progressbar progress_seperator=‣ progress_bar_0=⬜⬜⬜⬜⬜ progress_bar_20=⬛⬜⬜⬜⬜ progress_bar_40=⬛⬛⬜⬜⬜ progress_bar_60=⬛⬛⬛⬜⬜ progress_bar_80=⬛⬛⬛⬛⬜ progress_bar_100=⬛⬛⬛⬛⬛
Change progressbar symbols """"""""""""""""""""""""""
The bar is implemented by adding unicode charaters
_ to the existing
text. e.g. ⬛⬛⬜⬜⬜ 33 %
.. code:: ini
[todoist] progress_bar_0=⬜⬜⬜⬜⬜ progress_bar_20=⬛⬜⬜⬜⬜ progress_bar_40=⬛⬛⬜⬜⬜ progress_bar_60=⬛⬛⬛⬜⬜ progress_bar_80=⬛⬛⬛⬛⬜ progress_bar_100=⬛⬛⬛⬛⬛
.. _unicode charaters: http://jrgraphix.net/r/Unicode/2600-26FF
To change the bar to bullets, just overwrite the characters with other characters ''⚫⚫⚫⚪⚪''.
Change progressbar seperator """""""""""""""""""""""""""" To separate the task-text from the progressbar, a rare unicode character is used. Just replace the seperator in the ''config.ini'' file.
.. code:: ini
[todoist] progress_seperator=‣
Remember to rename the separator manually in Todoist before running Taskbutler again!
Edit progressbar label """"""""""""""""""""""
The bar added to every task with the label ''progressbar''. The label-name can be changed in the ''config.ini'' file:
.. code:: ini
label_progress=progressbar
Remember to rename the label in Todoist when renaming labels!
Setup Dropbox features ^^^^^^^^^^^^^^^^^^^^^^
To use any Dropbox feature you need to create a Dropbox API token. You need to create an Dropbox app for that. Don't worry, you only need to setup it once and it is only accessible for you.
Get a API key for your Dropbox(by creating a Dropbox app):
https://www.dropbox.com/developers/apps/create <https://www.dropbox.com/developers/apps/create>
_Setup Office365 Sync ^^^^^^^^^^^^^^^^^^^^
You need:
Pre-tasks """""""""
your Dropbox <https://www.dropbox.com/h>
_. All files will be saved here<https://www.dropbox.com/account/connected_apps>
__Edit the config section in config.ini:
.. code:: ini
[dropbox] apikey =
[dropboxoffice] labelname = letter templatefile = ./templates/ folder=todoist dropbox_prepart_files = https://www.dropbox.com/ow/msft/edit/home/
Setup Dropbox Paper ^^^^^^^^^^^^^^^^^^^
Pre-tasks ^^^^^^^^^
Dropbox Paper <https://paper.dropbox.com/folders>
_. All papers will be
saved hereEdit the config section in config.ini:
.. code:: ini
[dropbox] apikey =
[dropboxpaper] todoistfolderid = url = https://paper.dropbox.com/doc/ labelname = paper foldername = todoist sharing = false
Setup Grocery list/Cost calulator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Edit the config section in config.ini:
.. code:: ini
[todoist] label_grocery = grocery grocery_seperator = 💰 grocery_currency = €
Start Taskbutler ^^^^^^^^^^^^^^^^
Make sure you added the Python default path to your PATH via: echo 'PATH="$PATH:$HOME/.local/bin/"' >> ~/.bash_profile
.. code:: console
# taskbutler now starts by simply typing:
taskbutler
Continuous progress-update ^^^^^^^^^^^^^^^^^^^^^^^^^^
To continuously update your tasks run Taskbutler periodical on a internet connected server or your computer
Ubuntu Server """""""""""""
To run taskbutler every 20Min via crontab (see crontab.guru <https://crontab.guru/>
_ for setting
time):
crontab -e
*/20 * * * * $HOME/.local/bin/taskbutler
#
at the end!(crontab needs this to work.)Taskbutler will log to: /home/$YourUsername/.taskbutler/log/todoist.log
Computer(Win/Mac/Linux) """""""""""""""""""""""
Taskbutler doesn't need to run on a server. It is also possible to run Taskbutler on your running computer. Just start Taskbutler manually or add it to your scheduled tasks.
Taskbutler checks for updates by checking the 'releases page'_ and leaves a message in the console.
To update:
releases page <https://github.com/6uhrmittag/taskbutler/releases>
_ and check for compatibility.pip install taskbutler --user --upgrade --upgrade-strategy eager
to updateTaskbutler logs to /home/$YourUsername/.taskbutler/logs
The filename can be changed in the config.ini. You can also set the logging level. Default is INFO
, DEBUG
outputs logs of details.
.. code:: ini
[log]
loglevel= INFO
logfile = todoist.log
To activate dev-mode add to ini file:
.. code:: ini
[config] devmode = true
Devmode doesn't submit changes to Todoist, Dropbox or Github. Set the logging level to DEBUG to get all messages.
.. code:: ini
[log] loglevel=DEBUG logfile = ./todoist.log
Doist/todoist-python <https://github.com/Doist/todoist-python>
_ - The official Todoist Python API librarydropbox/dropbox-sdk-python <https://github.com/dropbox/dropbox-sdk-python>
_ - The official Python SDK for Dropbox API v2PyGithub python sdk <https://github.com/PyGithub/PyGithub>
_ - Unofficial Python SDK for Github APICookiecutter template for a Python package <https://github.com/audreyr/cookiecutter-pypackage>
_Contributing
Please open a issue in the 'Github issue tracker <https://github.com/6uhrmittag/taskbutler/issues>
_.
Marvin Heimbrodt - github.com/6uhrmittag <https://github.com/6uhrmittag/>
| twitter.com/6uhrmittag <https://twitter.com/6uhrmittag>
.. image:: https://www.ko-fi.com/img/githubbutton_sm.svg :target: https://ko-fi.com/K3K01P66S :alt: Donate Coffein via Ko-fi