A awesome To-do List made with python in your terminal
Project description
Task List App with Typer, Rich and Python
Introduction
This document describes a task list application developed with Typer and documented in Markdown. Typer is a Python library that makes it easy to create interactive command line interfaces, while Markdown is a lightweight markup language for text formatting.
Pre-requisite
To use this application, you need to have the following software installed on your computer:
-
Python 3.8 or higher
-
Typer: A Python library for creating interactive command line interfaces. You can install Typer with the command
pip install typer
Installation Steps
-
Clone this repository to your computer: git clone https://github.com/your_username/task_app.git
-
Navigate to the application directory: cd Task_app
-
Install the application dependencies with the command : pip install -r requirements.txt
-
You can create a Python virtual environment to isolate the application dependencies from the rest of your system. To do this, use the command (I'm using Linux)
python -m venv venv
and activate the environment with: source venv/bin/activate 5. Run an app function with the command python todo.py run [FEATURE]
Application Features
The application offers the following functionalities:
- Add tasks: Add new tasks to the list with name and category.
- Remove tasks: Delete tasks from the list by position.
- Update tasks: Modify the name or category of a task.
- Show all tasks: Display all tasks in a formatted table.
- Mark tasks as done: Mark tasks as completed with a visual indicator.
Feature options
Install completion for the current shell (bash, fish, zsh and etc...)
$ --install-completion
Show completion for the current shell, to copy it or customize the installation.
$ --show-completion
Show information that can help you and then exit this option
$ --help
Example of using CLI commands
1. Command Add
Add a new task to the list.
Arguments:
task
: Name of the task.
category
: Category of the task.
Example:
For use with Typer/typer CLI
$ typer todo.py add "Task 1" "category 1"
For use with Python
$ python todo.py add "Task 1" "category 1"
2. Command Remove
Delete a task from the list by position.
Arguments:
position
: Position (ID) of the task in the list (starting at 1).
Example:
For use with Typer/typer CLI
$ typer todo.py remove 1
For use with Python
$ python todo.py remove 1
3. Command Update
Modify the task or category of a task.
Arguments:
position
: Position of the task in the list (starting at 1).
task
: New name of the task (optional).
category
: New category of the task (optional).
Example:
For use with Typer/typer CLI
$ typer todo.py update 1 "Buy bread, milk and fruits" House
For use with Python
$ python todo.py update 1 "Buy bread, milk and fruits" House
4. Command Show
Display all tasks in a formatted table.
Example:
| ID | Task | Category | Completed |
| 1 | Study_sql | Database | Done ✅ |
| 2 | Study_bash | DevOps | Pendent ❌ |
5. Command task-done
Mark a task as completed.
Arguments:
position
: Position of the task in the list (starting at 1).
Example:
For use with Typer/typer CLI
$ typer todo.py task_done 1
For use with Python
$ python todo.py task_done 1
License
This project is licensed under the MIT License. This permissive license allows you to freely use, modify, and distribute the code for any purpose, commercial or non-commercial. A copy of the MIT License can be found in the LICENSE
file within this repository.
Acknowledgements
I appreciate the contributions of these open-source projects that made this application possible (.i.g Typer, Rich, Python's community). Beacuse encourage you to contribute to this project and help me improve it!
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
Hashes for pytask_list-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5df0ee0aac3418ee151acd5d6f5360f2f805a70eeecf2de5f932793febedcd0e |
|
MD5 | b307c30c5940e2964c732887a5e3396d |
|
BLAKE2b-256 | 16ba06c7522ff9f919770d4a08610de1e79dd44c53fbbee09883e5f8b9063643 |