A straightforward command-line interface (CLI) tool for efficiently tracking and managing your tasks. Built with Python, this lightweight task manager allows you to add, update, delete, and list tasks, while keeping track of their status: todo, in-progress, or done.
- ✨ Add, update, and delete tasks
- 📋 List all tasks or filter by status
- 🔄 Track task status (todo, in-progress, done)
- 📅 Automatic timestamp tracking
- 💾 Persistent storage using JSON
- 🔍 Search functionality
- ⚡ Fast and lightweight
- Clone the repository:
git clone https://github.com/yourusername/task-tracker-cli.git
cd task-tracker-cli- Install dependencies:
pip install -e .task-manager add "Complete project documentation"# List all tasks
task-manager list
# List tasks by status
task-manager list todo
task-manager list in-progress
task-manager list done# Update task description (replace 1 with your task ID)
task-manager update 1 "Updated task description"
# Mark task as in-progress
task-manager mark-in-progress 1
# Mark task as done
task-manager mark-done 1task-manager delete 1task-manager/
├── src/
│ ├── __init__.py
│ ├── task_manager.py # Core functionality
│ └── task_tracker.py # CLI interface
├── tests/
│ ├── __init__.py
│ └── test_task_manager.py
├── data/
│ └── tasks.json
├── README.md
├── requirements.txt
└── setup.py
- Python 3.6+
- argparse - For CLI argument parsing
- json - For data persistence
- datetime - For timestamp tracking
- unittest - For testing
Tasks are stored in a JSON file with the following structure:
{
"id": 1,
"description": "Task description",
"status": "todo",
"createdAt": "2024-11-19T10:00:00",
"updatedAt": "2024-11-19T10:00:00"
}pytest tests/- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Due dates for tasks
- Priority levels
- Task categories/tags
- Export tasks to different formats (CSV, HTML)
- Database integration
- Task completion statistics
Distributed under the MIT License. See LICENSE for more information.
- Inspired by various task management tools
- Built as a learning project to demonstrate Python CLI development