- Python 3.11 or higher
- No additional external dependencies required
- Clone the repository:
git clone <repository-url>
cd task-manager- No additional installation steps required as the project uses Python standard library.
The CLI provides various commands to manage tasks:
- Create a new task:
python cli.py create "Task Title" --description "Task description" --priority 2 --due "2024-01-31" --tags "tag1,tag2"- List tasks:
# List all tasks
python cli.py list
# List by status (todo, in_progress, review, done)
python cli.py list --status todo
# List by priority (1=LOW, 2=MEDIUM, 3=HIGH, 4=URGENT)
python cli.py list --priority 3
# List overdue tasks
python cli.py list --overdue- Update tasks:
# Update task status
python cli.py update-status <task_id> <new_status>
# Update task priority
python cli.py update-priority <task_id> <new_priority>
# Update due date
python cli.py update-due-date <task_id> "2024-02-15"- Manage tags:
# Add a tag
python cli.py add-tag <task_id> "new-tag"
# Remove a tag
python cli.py remove-tag <task_id> "tag-to-remove"- View task details and statistics:
# Show task details
python cli.py show <task_id>
# Show task statistics
python cli.py statsRun the unit tests using Python's unittest framework:
# Run tests with basic output
python -m unittest discover tests
# Run tests with verbose output
python -m unittest discover -v tests