GithubHelp home page GithubHelp logo

joanbm / full-offline-backup-for-todoist Goto Github PK

View Code? Open in Web Editor NEW
34.0 3.0 9.0 211 KB

Small, dependency-less Python script to make a backup of all Todoist tasks and attachments that is accessible offline

License: GNU General Public License v3.0

Python 98.45% Shell 1.55%

full-offline-backup-for-todoist's Introduction

full-offline-backup-for-todoist

Build Status

Coverage Status

Quick description

It is a utility that allows you to download a complete backup of your Todoist tasks, including all attachments, to your local computer, so you remain in control of all your data.

What is the main aim of this tool?

With Todoist Premium, you can attach files or photos to tasks as comments, which can be very convenient for everyday use, e.g. you can attach a photo of a bill to a task about paying it.

Furthermore, Todoist has a backup functionality, which allows exporting the task data to a local computer in the form of a ZIP file, e.g. for offline usage or in the event of an incident with Todoist's servers.

Unfortunately, the two don't mix: The backup functionality doesn't back up any of the attachments assigned to tasks. Instead, only a URL to download the attachment is included in the backup, which isn't useful or ideal for most scenarios.

This tool aims to allow you to make a complete backup, including all attachments, so you can easily keep all your task data secure on your own computer.

Full feature list

  • Can download the backups from Todoist's servers through the Todoist API.

  • Can download all attachments of the tasks associated with your Todoist backup.

  • Can be easily automated to download your backups periodically.

Status

Stable, but not tested under every possible scenario under the sun.

Requirements

  • Python 3 (tested with Python 3.8+). No additional dependencies needed.

Usage examples

Download the repository and open a terminal at the root folder.

To create a backup from Todoist's servers, without including attachments (you will be asked for your Todoist API Token through the command line):

python3 -m full_offline_backup_for_todoist download

To create a backup from Todoist's servers, including attachments, and with tracing/progress info:

python3 -m full_offline_backup_for_todoist --verbose download --with-attachments

Print full help:

python3 -m full_offline_backup_for_todoist -h

How to get my Todoist API token?

The easiest way to get one is to open the web version of Todoist, go to the Settings section, then to the Integrations sections, and you will see an API token there in the "Token API" section.

How can I automate the backup process?

To automate the backup process, you can use any automation tool you want (e.g. cron, Jenkins) that can run the utility. In order to pass the credentials non-interactively, you can set the TODOIST_TOKEN environment variable before running it from your automation tool.

Disclaimer

This is NOT an official application. This application is not created by, affiliated with, or supported by Doist.

full-offline-backup-for-todoist's People

Contributors

filippog avatar joanbm avatar luismoeller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

full-offline-backup-for-todoist's Issues

Docker support

Hi,

Did you consider providing containerized version of the utility, so that it can be executed in isolated environments? If this is something you're open to, I can put together a PR with Dockerfile and entrypoint.

401 - during the file attachment download

Hi,

when i will call the script with:
main.py --verbose download --with-attachments --token xxxx

I getting a zip file and also csv files for my todoist projects. But when the script want to download Attachments i getting an 401 Unauthorized.

Is this a bug?

image

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.