Git Product home page Git Product logo

todoist-taskwarrior's Introduction

Important

THIS HAS NOT BEEN TESTED VERY MUCH! USE ON YOUR OWN RISK - Yes, it could potentially delete tasks so make backups.

This is a fork of webmeisterei. All credits for good things should go there and to matt-snider who initially made the tool.

If it breaks or throws errors you can safely assume that it's because of my code - not theirs.

I THINK this fork will allow you to map labels in todoist with tags in taskwarrior with the --map-tag argument. Also MAYBE updates done in taskwarrior are corrected synced to Todoist. However i have only done small tests and it might break at any time.

As of now, it should only be used for small projects or have one dedicated Todoist <-> Taskwarrior project.

My current use case is to sync a single project with simple tasks from Taskwarrior to Todoist, so I can view and complete them in Todoist's Wear Os app.

At some point I might try to make it more stable. You're free to create issues or make pull requests, but i most likely won't be that active.

Known bugs

  • Due dates only works for tasks synced from Todoist to Taskwarrior. It will remove due dates from tasks created or modified in taskwarrior
  • When syncing at task modified in Taskwarrior or adding one, it will sometimes crash when trying to update todoist_sync. This can duplicate tasks as the task will correctly be added in Todoist.
  • You can sync Taskwarrior tasks without a project, but a project will then be added.

Misc

The rest of the README is directly forked "as is".

todoist-taskwarrior

A tool for syncing Todoist tasks with Taskwarrior.

Installation

git clone https://git.webmeisterei.com/webmeisterei/todoist-taskwarrior.git
cd todoist-taskwarrior/
  • To install in Virtualenv:
virtualenv -p /usr/bin/python3 venv
venv/bin/pip install -r requirements.txt
venv/bin/python setup.py install
  • To install global:
sudo pip3 install -r requirements.txt
sudo python3 setup.py install

Configure

First optain a Todoist API key from the Todoist Integrations Settings.

Now you can configure titwsync with (replace ./venv/bin/titwsync with titwsync if you use todoist_taskwarrior without a virtualenv):

./venv/bin/titwsync configure --map-project Inbox= --map-project Company=work --map-project Company.SubProject=work.subproject --map-tag books=reading <TODOIST_API_KEY>

titwsync configure writes the configuration to ~/.titwsyncrc.yaml, with the key: taskwarrior.project_sync.PROJECT_NAME you can enable or disable the sync of a whole project!

Usage

Running the tool requires that your Todoist API key is available from the environment under the name TODOIST_API_KEY. The key can be found or created in the ).

The main task is sync which will sync all tasks. Since Todoist's internal ID is saved with the task, subsequent runs will detect and skip duplicates:

Replace ./venv/bin/titwsync with titwsync if you use todoist_taskwarrior without a virtualenv.

./venv/bin/titwsync sync

Development

Testing

python -m pytest tests

License

Licensed under the MIT license.

Authors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.