40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
# 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:
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## 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.
|
|
3. Run the script with the `export` argument:
|
|
```bash
|
|
python export_todoist.py export
|
|
```
|
|
This will create `Todoist-Actual-Backup-YYYY-MM-DD.json` and `Todoist-Actual-Backup-YYYY-MM-DD.html` in the current directory.
|
|
4. To see usage instructions, run the script with no arguments or any argument other than `export`.
|
|
|
|
## Requirements
|
|
- Python 3.8+
|
|
- [todoist-api-python](https://doist.github.io/todoist-api-python/)
|
|
- [Jinja2](https://palletsprojects.com/p/jinja/)
|
|
|
|
## License
|
|
MIT
|