A simple but professional command-line Task Manager built with Python, Typer, and pandas. This project was developed as part of my portfolio to apply for an internship.
- Add new tasks with title, description, priority, deadline
- Show all tasks in a table
- Mark tasks as done
- Delete tasks and reassign IDs automatically
- Search tasks by keyword in title/description
- Edit any task field
- Sort tasks by:
- Priority (High → Medium → Low)
- Due date (Earliest first)
- Data persistence in JSON file
- Python 3.9+
- Typer → modern CLI framework
- pandas → data storage & manipulation
- JSON → persistence
task_manager_cli/
│── main.py # CLI commands (Typer)
│── models.py # Task dataclass
│── storage.py # Load/save JSON, normalize IDs
│── utils.py # Constants & validation helpers
│── tasks.json # Example dataset (with 10 tasks)
│── README.md # Project description
│── requirements.txt
pip install -r requirements.txtpython main.py --helpExample:
python main.py add --title "Homework" --description "Math pages 1-20" --priority high --due 2025-03-01
python main.py show-all
python main.py complete 2
python main.py delete 3
python main.py search "math"
python main.py edit 1 title "Updated Homework"
python main.py sort-priority
python main.py sort-dueAlexandr Chevychalov 📧 chevychalovalexandr@gmail.com