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
From PyPI (Recommended)
pip install mesumali-console-task-manager
From Source
-
Clone the repository:
git clone <repository-url> cd Phase_01
-
Install dependencies with UV:
uv sync
Running the Application
If installed via pip:
mesumali-todo
If installed from source:
uv run python -m src.main
First Run
-
When prompted, enter your username (alphanumeric):
Welcome to TaskFolio! ? Enter your username: alice -
The main menu will appear with arrow-key navigation:
╔════════════════════════════════════╗ ║ TaskFolio (alice) ║ ╚════════════════════════════════════╝ ? What would you like to do? ❯ ➕ Add Task 📋 View All Tasks ✏️ Update Task 🗑️ Delete Task 🔄 Change Status 👋 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 ➕ Add Task
- Enter task title (required, max 200 chars)
- Enter description (optional, press Enter to skip)
- See confirmation:
✓ Task 1 created successfully.
View All Tasks
Select 📋 View All Tasks to see:
=== Your Tasks ===
[1] Buy groceries
Description: Milk, eggs, bread
Status: ○ incomplete
---
[2] Call mom
Description: (none)
Status: ● complete
---
Update a Task
- Select ✏️ Update Task
- Search/select task from fuzzy list (type to filter)
- Enter new title (or press Enter to keep current)
- Enter new description (or press Enter to keep current)
- See confirmation:
✓ Task 1 updated successfully.
Delete a Task
- Select 🗑️ Delete Task
- Search/select task from fuzzy list
- Confirm deletion:
Delete task "Buy groceries"? (y/N) - Press
yto confirm ornto cancel
Change Task Status
- Select 🔄 Change Status
- Search/select task from fuzzy list
- Select new status from visual menu:
? Select new status: ❯ ○ incomplete ◐ inProcessing ● complete - See confirmation:
✓ Task 1 marked as 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.2.tar.gz.
File metadata
- Download URL: mesumali_console_task_manager-1.0.2.tar.gz
- Upload date:
- Size: 654.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b690cd8bb5273de5e08c4653eaa9d51e8ee2a65341a8ea6ea6e2c9bcc9fc6d77
|
|
| MD5 |
326d349ea215e67cd121ff730b888361
|
|
| BLAKE2b-256 |
2db82dc26b605d2ec90efa3d7e3170948c5ed445aecd8b2c22ccccc33566ec99
|
File details
Details for the file mesumali_console_task_manager-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mesumali_console_task_manager-1.0.2-py3-none-any.whl
- Upload date:
- Size: 14.2 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 |
a0ea5ececc519266bbe10fd7cd524c64ab3fa688350f4aba603984adb1044b76
|
|
| MD5 |
7bd7f322e7202176c4b4c348f41cb76b
|
|
| BLAKE2b-256 |
9fa2fff8e3526e1cfe90806c3fa3d61038fff5d88ed3a5cb5262ab1a66e970e4
|