Taskaty is a lightweight Command Line Interface (CLI) task management application written in Python. It allows you to seamlessly add, view, mark as completed, remove, or reset your tasks directly from your terminal.
- Comprehensive Task Creation: Add tasks with title, description, start date, and end date.
- Smart Listing: View only pending tasks or display all tasks (including completed ones).
- Status Tracking: Mark specific tasks as done using their ID.
- Flexible Removal: Delete a specific task by ID or clear the entire list.
- Reliable Storage: Uses a simple text-based CSV format (
TaskFile.txt) as a persistent database. - User-Friendly CLI: Powered by Python's
argparsefor a smooth command-line experience.
- Python 3.6 or higher.
tabulatelibrary (Automatically installed viasetup.pyor manually viapip install tabulate).
From the root directory containing setup.py, run:
pip install -e .
The -e flag allows you to edit the code and see changes immediately.
pip install taskaty
Once installed, the command taskaty will be available globally in your terminal.
The application uses subcommands to handle different tasks:
| Command | Description | Example |
|---|---|---|
add |
Add a new task | taskaty add "Title" -d "Description" |
list |
View pending tasks | taskaty list |
list -a |
View all tasks (including done) | taskaty list -a |
check |
Mark a task as done using its ID | taskaty check -t 2 |
remove |
Remove a task using its ID | taskaty remove -t 3 |
reset |
Clear all tasks from the file | taskaty reset |
# Add a new task with a deadline
taskaty add "Buy Groceries" -d "Vegetables and Fruits" -e 2026-03-20
# List pending tasks
taskaty list
# Mark task #1 as completed
taskaty check -t 1
# Remove task #2
taskaty remove -t 2
# Reset (Wipe) all tasks
taskaty reset
Note: If no start date is specified during
add, the current date will be used automatically.
All tasks are stored in TaskFile.txt within the execution directory. This file can be manually edited or moved if needed. It follows a standard CSV structure:
title,description,start_date,end_date,done
- Each task entry is parsed as a comma-separated line.
- Ensure your
venvis active or requirements are installed before running. - The UI uses
tabulateto render data in clean, readable grids.
Mohammed (MR_X) Check more of my work at: github.com/MR-Xo
Thank you for using Taskaty!