This is a Command Line Interface (CLI) application for tracking tasks, inspired by the project idea from roadmap.sh. As a beginner Python developer (with only 3 weeks of experience, only in python lol), I created this project to practice and improve my Python skills.
- Add new tasks
- Update existing tasks
- Delete tasks
- Mark tasks as todo, in-progress, or done
- List all tasks
- List tasks by status
- Clone this repository
- Navigate to the project directory
- Run
pip install -e .to install the package in editable mode
After installation, you can use the task-cli command followed by various subcommands:
task-cli add "Task description"- Add a new tasktask-cli update <task_id> "Updated description"- Update a tasktask-cli delete <task_id>- Delete a tasktask-cli mark-todo <task_id>- Mark a task as todotask-cli mark-in-progress <task_id>- Mark a task as in-progresstask-cli mark-done <task_id>- Mark a task as donetask-cli list- List all taskstask-cli list <status>- List tasks by status (todo, in-progress, or done)
setup.py: Package configurationtask_cli/: Main package directory__init__.py: Package initializercli.py: Contains the main application logic
As a newcomer to Python, this project has been a great learning experience. I've practiced concepts such as:
- Object-Oriented Programming
- File I/O operations
- JSON data handling
- Command-line argument parsing
- Error handling
I'm always looking to improve my coding skills. If you have any suggestions or feedback, please feel free to open an issue or submit a pull request!