A console-based task management application
Project description
TaskFolio - Interactive Task Manager
A modern, interactive console-based task management application built with Python and InquirerPy.
Features
- Arrow-key navigation - Navigate menus with arrow keys instead of typing numbers
- Fuzzy search - Type to filter tasks in selection lists
- Visual feedback - Colored output with status icons
- Inline validation - Immediate feedback for invalid input
- Delete confirmation - Prevent accidental deletions
Installation
pip install mesumali-console-task-manager
After installation, run:
mesumali-todo --help
╔══════════════════════════════════════════════════════════════════════════╗
║ ████████╗ █████╗ ███████╗██╗ ██╗███████╗ ██████╗ ██╗ ██╗ ██████╗ ║
║ ╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔═══██╗██║ ██║██╔═══██╗ ║
║ ██║ ███████║███████╗█████╔╝ █████╗ ██║ ██║██║ ██║██║ ██║ ║
║ ██║ ██╔══██║╚════██║██╔═██╗ ██╔══╝ ██║ ██║██║ ██║██║ ██║ ║
║ ██║ ██║ ██║███████║██║ ██╗██║ ╚██████╔╝███████╗██║╚██████╔╝ ║
║ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠══════════════════════════════════════════════════════════════════════════╣
║ TaskFolio v1.0.3 - Your Personal Interactive Task Manager ║
╚══════════════════════════════════════════════════════════════════════════╝
Usage: mesumali-todo [options]
Options:
--help, -h Show this help message
--version, -v Show version number
Features:
- Arrow-key menu navigation
- Fuzzy search for tasks
- Visual status indicators
- Delete confirmation
Run without options to start the interactive task manager.
Quick Start
mesumali-todo
Interactive task manager with arrow-key navigation and fuzzy search.
From Source
git clone <repository-url>
cd Phase_01
uv sync
uv run python -m src.main
Usage
Navigate the menu using arrow keys and press Enter to select:
? What would you like to do?
> [1] Add Task
[2] View All Tasks
[3] Update Task
[4] Delete Task
[5] Change Status
[6] Exit
Keyboard Navigation
| Key | Action |
|---|---|
| ↑/↓ | Move selection |
| Enter | Confirm selection |
| Type | Filter (in fuzzy lists) |
| Ctrl+C | Exit application |
Basic Operations
Add a Task
- Select [1] Add Task
- Enter task title (required, max 200 chars)
- Enter description (optional)
View All Tasks
Select [2] View All Tasks to see your tasks with status icons.
Update a Task
- Select [3] Update Task
- Search/select task from fuzzy list
- Enter new title or description
Delete a Task
- Select [4] Delete Task
- Search/select task from fuzzy list
- Confirm deletion (y/N)
Change Task Status
- Select [5] Change Status
- Search/select task from fuzzy list
- Select new status:
> ○ incomplete ◐ inProcessing ● complete
Status Icons
| Icon | Status | Meaning |
|---|---|---|
| ○ | incomplete | Task not started |
| ◐ | inProcessing | Task in progress |
| ● | complete | Task finished |
Data Storage
Your tasks are stored in db/user_{username}.json. For example:
- User "alice" ->
db/user_alice.json - User "bob" ->
db/user_bob.json
Tasks persist across sessions. Restart the app and log in with the same username to see your saved tasks.
Troubleshooting
Unicode Icons Not Displaying
Symptom: Status icons show as boxes or question marks
Solution: Use a modern terminal:
- Windows: Windows Terminal, VS Code terminal
- macOS: Default Terminal.app, iTerm2
- Linux: GNOME Terminal, Konsole
Colors Not Showing
Symptom: All text is plain/white
Solution: InquirerPy auto-detects color support. If not working:
- Check terminal supports ANSI colors
- Set
TERM=xterm-256colorenvironment variable
Keyboard Navigation Not Working
Symptom: Arrow keys print characters instead of navigating
Solution: Ensure terminal is in canonical mode. Try:
- Restart terminal
- Use
stty saneto reset terminal settings
Data file issues
If db/user_{username}.json is corrupted, delete it and restart. A fresh empty task list will be created.
Running Tests
uv run pytest
Project details
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 mesumali_console_task_manager-1.0.3.tar.gz.
File metadata
- Download URL: mesumali_console_task_manager-1.0.3.tar.gz
- Upload date:
- Size: 654.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b95e3d9ee9900f59e6cc4510ebbd1bc6baec4ea59aa4db86762ac97c90af190a
|
|
| MD5 |
ce518400410b68a4cb5bd66dbedcb54a
|
|
| BLAKE2b-256 |
2dd9a1158837c60250af1cf18f76c86016942b256d485623c4668a553e91170e
|
File details
Details for the file mesumali_console_task_manager-1.0.3-py3-none-any.whl.
File metadata
- Download URL: mesumali_console_task_manager-1.0.3-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f6b502321ee8b10633ade265cdd688e0413a5eeee402e38890c284da0c18441
|
|
| MD5 |
7524fdd9a13ab47a05eb3085eadeb315
|
|
| BLAKE2b-256 |
1361fad2a01c2c6a1d4beba10df8f154f988dc9602d26a3d751b11923ef318fc
|