master |
|
devel |
|
taskwarrior-syncall
is your one-stop software to synchronize a variety of
services with taskwarrior - in a bi-directional manner. Each synchronization
comes with one executable which handles the synchronization between that
particular service and taskwarrior.
At the moment the list of services supported is a bit limited but keeps growing by the day:
- [readme-gcal] Taskwarrior ⬄ Google Calendar Synchronization, via
tw_gcal_sync
- [readme-notion] Taskwarrior ⬄ Notion Synchronization, via
tw_notion_sync
- [ONGOING] [readme-clickup] Taskwarrior ⬄ ClickUp Synchronization, via
tw_clickup_sync
Overall, each of the above should support bi-directional synchronization between Taskwarrior and the service of your preference. This means that on an addition, modification, deletion etc. of an item on one side, a corresponding addition, modification or deletion of a counterpart item will occur on the other side so that the two sides are eventually in sync. This should work bi-directionally, meaning an item created, modified, or deleted from a service should also be created, modified, or deleted respectively in Taskwarrior and vice-versa.
Refer to the corresponding README for the list above for instructions specific to the synchronization with that particular service. Before jumping to that README though, please complete the installation instructions below.
Requirements:
- Taskwarrior - Installation instructions -
Tested with
2.6.1
, should work with>=2.6
. - Python version >=
3.8
Installation Options:
-
Pypi (may not contain latest version):
pip3 install --user --upgrade taskwarrior-syncall
-
Github:
pip3 install --user git+https://github.com/bergercookie/taskwarrior-syncall
-
Download and install
devel
branch locally - bleeding edgegit clone https://github.com/bergercookie/taskwarrior-syncall cd taskwarrior-syncall git checkout devel pip3 install --user --upgrade .
-
Setup using poetry - handy for local development and for isolation of dependencies:
git clone https://github.com/bergercookie/taskwarrior-syncall poetry install # get an interactive shell poetry shell # now the executables of all the services should be in your PATH for the # current shell and you can also edit the source code without further # re-installation ...
To achieve synchronization across taskwarrior and a service at hand, we use a push-pull mechanism which is far easier and less troublesome than an automatic synchronization solution. In case the latter behavior is desired, users may just run the script periodically e.g., using cron:
$ crontab -e
...
# Add the following to sync every 10' - modify the arguments according to your
# preferences and according to the instructions of the corresponding executable
# for example for `tw_gcal_sync`:
#
# See output and potential errors in your system logs (e.g., `/var/log/syslog`)
*/10 * * * * tw_gcal_sync -c "TW Reminders" -t "remindme"
If you find this tool useful, please star it on Github
See ISSUES list for the things that I'm currently either working on or interested in implementing in the near future. In case there's something you are interesting in working on, don't hesitate to either ask for clarifications or just do it and directly make a PR.