A CLI-based todo task tracker with versioning and attachments
Project description
Todo Tracker
A powerful git-styled CLI-based todo task tracker with versioning, attachments, and Kanban visualization.
Core package badges:
Quality and tooling:
Project/community:
Docs:
Features
- Task Management: Create, update, and manage tasks with descriptions, deadlines, and statuses.
- Task Storage: Tasks are stored locally in a git-like repository.
- Versioning: Every change to a task is versioned. You can view the full history of a task and revert to previous states (conceptually).
- Attachments: Attach files to tasks. Files are stored efficiently using content-addressable storage (deduplication).
- Aliases: Tasks are assigned human-readable aliases (e.g.,
Misty-Rat) for easier reference than UUIDs. - Kanban Board: Visualize your tasks in a terminal-based Kanban board.
- Archiving: Archive completed or stale tasks to keep your active list clean.
- GPT Integration: Use in combination with GPT Agents to track progress and generate project summaries.
- JSON Dump: Export your data to JSON for backup or analysis.
Installation
Ensure you have Python 3.8+ installed.
-
Clone the repository:
git clone https://github.com/gwr3n/todo-tracker.git cd todo-tracker
-
Install the package:
pip install .
-
Or install from PyPI:
pip install todo-tracker
Usage
The main command is todo.
Basic Operations
-
Add a task:
todo add "Buy groceries" --deadline 2023-12-31
-
List tasks:
todo list todo list --all # Include archived tasks
-
Show task details:
todo show <task_id_or_alias>
-
Update a task:
todo update <id> --status "in-progress" --desc "Buy organic groceries"
Attachments
-
Attach a file:
todo attach <id> ./path/to/file.txt
-
Extract an attachment:
todo extract <id> file.txt --output ./downloaded_file.txt
Organization & Visualization
-
Kanban View:
todo kanban pending in-progress done
-
Archive/Unarchive:
todo archive <id> todo unarchive <id>
-
Delete:
todo delete <id>
Advanced
-
View History:
todo history <id>
-
Duplicate Task:
todo duplicate <id>
-
Dump Data:
todo dump --output backup.json todo dump --history --all --output full_backup.json
Data Storage
Data is stored in a .todo_store directory in the current working directory. This directory contains:
objects/: Content-addressable storage for task versions and attachment blobs.refs/: References to the current version of each task.orchestrator.lock: Lock file to ensure data integrity during concurrent access.
Development
To run tests:
pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file todo_tracker-0.1.1.tar.gz.
File metadata
- Download URL: todo_tracker-0.1.1.tar.gz
- Upload date:
- Size: 30.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
743489ff5962163a06d005f6427103302578073430cf1f8b6a2feb70aac5ebcb
|
|
| MD5 |
c345c5559d7214d30843e1ad7ffa19d7
|
|
| BLAKE2b-256 |
bb4e9c4cecc42d572e98171415f22664b6797cbfd37d38ba1ca0639e66776143
|
File details
Details for the file todo_tracker-0.1.1-py3-none-any.whl.
File metadata
- Download URL: todo_tracker-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5d89ea9472d3e33d117f2094660b91ae4ebd3daf2fbf83b6df4383025aca8e6
|
|
| MD5 |
acbcddd65fe9269f3b83cb9427275e17
|
|
| BLAKE2b-256 |
01db1714b33ab03c21c979e2ce031d1f62c05d8742cb62bdfbac0e24104bcfac
|