A powerful and clean Python CLI To-Do Manager that follows PEP 8, PEP 257, and best engineering practices.
- Add, view, edit, and delete tasks
- Mark tasks as complete/incomplete
- Set priorities
- Due dates
- Categories
- Descriptions
- Color tags
- Type-safe design
- Clean documentation
- By due date
- By priority
- By title
- By category
- Search by title, description, or category
- View only completed / pending tasks
- Total tasks
- Completion rate
- Priority breakdown
- Category breakdown
- CSV
- TXT
@dataclass
class Task:
title: str
completed: bool = False
priority: Priority = Priority.MEDIUM
due_date: Optional[str] = None
category: str = "general"
description: Optional[str] = None
color: Optional[str] = Noneclass Priority(Enum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"git clone https://github.com/husseini2000/To-Do-List.git
cd todo-apppython todo.py✔ No external dependencies ✔ Python standard library only
When you run the app, you'll see:
==============================
TO-DO LIST MENU
==============================
1. Add a new task
2. View tasks
3. Update a task
4. Delete a task
5. Mark complete/incomplete
6. Sort tasks
7. Search tasks
8. View statistics
9. Export tasks
10. Exit
==============================
1. ❌ 🟡 Buy groceries [personal] 📅 2025-11-15
tasks.json # Persistent data
.backups/ # Automatic backups
tasks_export.csv # CSV export
tasks_export.txt # Text export
- JSON-based storage
- Automatic timestamped backups
- Corruption recovery
- Multiple lists
- Subtasks
- Reminders
- Recurring tasks
- Collaboration
- AI prioritization
- Charts and graphics
- Template-based tasks
- Dependencies
Contribution Guidelines
- Follow PEP 8
- Use type hints consistently
- Write clear PEP 257 docstrings
- Add tests when possible
- Update documentation
Al-Husseini Ahmed Abdelaleem
---This project is licensed under the MIT License.