171c5df068bf3e7b1ecc2a0420ec5d2318840d49
Todoist Actual Backup
Todoist is a SaaS task manager. Todoist provides backups of current tasks, but does not include completed tasks. Nor does it provide a human-readable backup. This script exports everything to JSON and HTML.
This project provides a command-line tool to export all active and completed tasks from the Todoist API to a JSON file, including attachments and comments, and generates a human-readable HTML backup.
Features
- Exports all active and completed tasks from all projects (active and archived)
- Downloads attachments and references them in the JSON and HTML output
- Nests tasks under their respective projects, including all available fields
- Includes comments for each task
- Outputs both a JSON file for programmatic access and a styled HTML file for viewing in a browser
Setup
- Ensure you have Python 3.8 or newer installed. Check with
python --version
on the command line. - The script uses a
.venv
for dependencies. Run:python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
Usage
- Run
source .venv/bin/activate
if needed to enter the virtual enivronment. - Set your Todoist API key in the
TODOIST_KEY
environment variable. - Run the script with the
export
argument:This will createpython export_todoist.py export
Todoist-Actual-Backup-YYYY-MM-DD.json
andTodoist-Actual-Backup-YYYY-MM-DD.html
in the current directory. - To see usage instructions, run the script with no arguments or any argument other than
export
.
Requirements
- Python 3.8+
- todoist-api-python
- Jinja2
License
MIT
Description
Backs up all available information from Todoist, including tasks, subtasks, comments, attachments and completed tasks.
Languages
Python
68.2%
HTML
31.8%