From e47443739b209027fadc81a2af124babb578e08d Mon Sep 17 00:00:00 2001 From: Matt Wiseley Date: Sun, 19 Oct 2025 01:20:10 -0400 Subject: [PATCH] Update README --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e16f237..51f6f5c 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ 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 Python script provides a command-line tool to export all available active and completed tasks from the Todoist API to a JSON file, including attachments, subtasks and comments, and generates a human-readable HTML backup. -One who pays Todoist to provide a todo list application might ask, why don't they provide this? This took me maybe 8 hours all in. - ## Features - Exports all active and completed tasks from all projects (active and archived) - Nests tasks under their respective projects, including all available fields @@ -21,17 +19,18 @@ One who pays Todoist to provide a todo list application might ask, why don't the source .venv/bin/activate pip install -r requirements.txt ``` +- Get your API key from [Todoist](https://app.todoist.com/app/settings/integrations/developer) +- Optionally set your Todoist API key in the `TODOIST_KEY` environment variable. If the environment variable is not set, the script will prompt for it. ## Usage 1. Run `source .venv/bin/activate` if needed to enter the virtual enivronment. -2. Set your Todoist API key in the `TODOIST_KEY` environment variable. If the environment variable is not set, the script will prompt for it. +2. To see usage instructions, run the script with no arguments or any argument other than `export`. 3. Run the script with the `export` argument: ```bash python export_todoist.py export ``` This will create `output/Todoist-Actual-Backup-YYYY-MM-DD.json` and `output/Todoist-Actual-Backup-YYYY-MM-DD.html`, and it will update `output/attachments/` with any downloaded files while leaving `Todoist-Completed-History.json` in the project root. Keep `Todoist-Completed-History.json` somewhere safe (e.g., in source control or a backup location); it is the only way the exporter can retain completions older than Todoist's 90-day API retention window. -4. To see usage instructions, run the script with no arguments or any argument other than `export`. ## Requirements - Python 3.8+