Simple task manager via terminal
Project description
📝 Tasklist Simple
Tasklist Simple is a command-line application developed in Python as part of the final project for the CSD110 – Introduction to Programming course at Sault College. The tool allows users to manage tasks directly from the terminal in a simple and efficient way.
Project Overview
The program was designed to reinforce key programming concepts such as:
- Function-based code organization
- File handling for persistent data storage
- Command-line argument parsing using
argparse - Error handling with
try/exceptblocks - Interactive user input via a menu system
All tasks are stored in a plain text file (tasks.txt), making the tool lightweight and easy to use.
How to Run the Program
This project uses Poetry for dependency management and execution. To run the program:
- Install dependencies and run the tool:
poetry install poetry run tasklist
Available Commands
| Command | Description |
|---|---|
--add "Task name" |
Adds a new task |
--complete "Task name" |
Marks a task as completed |
--remove "Task name" |
Removes a task |
--show |
Displays all tasks |
--clear |
Deletes all tasks |
--version |
Shows the program version |
--menu |
Opens an interactive menu for task management |
Example Usage
poetry run tasklist --add "Finish final report"
poetry run tasklist --show
poetry run tasklist --menu
Error Handling
The program includes basic validation to ensure a smooth user experience:
- Prevents duplicate tasks
- Handles invalid inputs gracefully
- Uses
try/exceptto avoid crashes during file operations
Reflections
Throughout the development of Tasklist Simple, I was able to apply several programming concepts learned during the course, such as function design, file handling, and error management. One of the most valuable aspects of this project was learning how to structure a command-line tool that feels intuitive and reliable. I also explored how to use Poetry for dependency management and script execution, which helped me understand how professional Python projects are organized. The process of debugging and refining the tool taught me the importance of clear error messages and user-friendly feedback. To support the development and improve the structure of both the code and the report, I used Microsoft Copilot. The AI helped me brainstorm ideas, clarify the role of each function, and refine the README file to make it more natural and informative. This conversation was part of my learning process and contributed to the final result.
Challenge and Resolution
One challenge I encountered during development was preventing duplicate tasks from being added to the list. Initially, the program would accept any input and save it directly to the file, which led to repeated entries. To solve this, I added a validation step in the add_task() function that checks whether the task already exists before saving it. If a duplicate is detected, the program displays a warning message and skips the addition. This not only improved the user experience but also made the tool more robust and reliable.
Author
Barbara Hanna Silva dos Santos
Student ID: 24041304
Sault College – CSD110 – Introduction to Programming
Professor: Eric Knutson
Date: August 12, 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tasklist_simple-0.1.0.tar.gz.
File metadata
- Download URL: tasklist_simple-0.1.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.8.0-1030-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04f0fa07b83b7850094c613c781fe89cbcf25fb46e3f086ffa88fd1fe229e8bc
|
|
| MD5 |
84632926823e9181b04dc4fed3ffaafe
|
|
| BLAKE2b-256 |
899c2be9e96414897fd6501561a63cecffc587f1b7c277c8995da16a47957028
|
File details
Details for the file tasklist_simple-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tasklist_simple-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.8.0-1030-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1501ba7269a9a3ca25db5ba5666b1937828d1072cc055cf3185a5147ed655b5
|
|
| MD5 |
2de5aff7fa0859108d1b7646a91c0b24
|
|
| BLAKE2b-256 |
e29487e7691b7a765ca4c98eddfb98cca2a845bc5afa9acfc04146eee2efaa59
|