Skip to content

dylantjb/asana2calendar

Repository files navigation

Asana2Calendar

This is a Python-based application that allows you to sync events between tasks in an Asana project and events in a CalDAV calendar. The application uses SQLite as its database system with CalDAV and Asana libraries to access their respective APIs.

Prerequisites

  • Have a project with custom field title, 'Location' and type 'Text'.
  • Create your asana client ID by following the instructions here.

Installation

  1. Install the package with pip:
pip install asana2calendar
  1. Create your configuration using [config.example.ini] or with:
asana2calendar --create-config [CONFIG_PATH]
  1. Create your database with:
asana2calendar --create-db [DB_PATH]
  1. Run the package:
asana2calendar [-c [CONFIG_PATH]] [-d [DB_PATH]]

TODO

  • Use OAuth instead of PAT
  • Automatic conflict resolution based on the modified_date field.
  • Recurring events
  • User can choose to dry run sync changes
  • Daemon to listen for changes
  • Support for Google and Outlook calendars
  • Allow to sync as caldav tasks and appointments

License

This project is licensed under the GPLv3 License. See LICENSE.txt for more information.

Releases

No releases published