Skip to main content

Taskwarrior <-> * bi-directional synchronization tool

Project description

taskwarrior-syncall

master devel
pre-commit PyPI version Downloads Code style: black

Description

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:

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.

Installation instructions

Requirements:

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 edge

    git 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 ...
    

Mechanics / Automatic synchronization

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"

Self Promotion

If you find this tool useful, please star it on Github

TODO List

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskwarrior_syncall-1.2.0a0.tar.gz (26.1 kB view hashes)

Uploaded Source

Built Distribution

taskwarrior_syncall-1.2.0a0-py3-none-any.whl (28.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page