A simple and beginner-friendly command-line To-Do List application built in Python. This enhanced version includes features developed by our team as part of an open-source course project.
- Add Tasks — Create a new task and optionally assign a priority level (High, Medium, Low)
- Remove Tasks — Delete any task by selecting its index
- Mark Tasks as Completed — Update the completion status of any task
- View All Tasks — Displays index, task name, completion status, and priority level
- Persistent Storage (New) — Tasks automatically load on program start and save to a JSON file on exit
- Priority System (New) — Each task includes a priority label: High / Medium / Low
- Python 3.6 or higher
- No external dependencies required (uses standard library only)
-
Clone the repository:
git clone https://github.com/imkaushal10/Simple-Python-To-Do-List.git
-
Navigate to the project directory:
cd Simple-Python-To-Do-List -
Run the
todo.pyscript:python todo.py
When you run python todo.py, a menu will appear with the following options:
- Add Task — Enter task name and priority (High/Medium/Low)
- Remove Task — View current tasks and remove by index
- Mark Task as Completed — View tasks and mark by index
- View Tasks — Display all tasks with index, priority, and status
- Exit — Saves tasks to
tasks.jsonand quits
--- To-Do List Menu ---
1. Add Task
2. Remove Task
3. Mark Task as Completed
4. View Tasks
5. Exit
Enter your choice: 1
Enter the task: Buy groceries
Enter priority (High/Medium/Low): High
Task 'Buy groceries' with priority 'High' added!
.
├── todo.py # Main application
├── tasks.json # Auto-generated on exit (ignored in repo)
├── README.md # This file
└── .gitignore # Prevents tasks.json from being tracked
- Kaushal — Implemented JSON save/load persistence, added the priority feature, updated README and documentation, performed manual testing
- Wasey — Performed manual testing, improved output formatting, assisted with documentation
- Search functionality for tasks
- Create a simple GUI (Tkinter) or web front-end (Flask/Django)
This project follows the license of the original repository. See the repository root for license details.
This project was created as part of an open-source software development course to demonstrate collaborative development practices.