Skip to main content

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.

PyPI version Python 3.13+ License: MIT

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

  1. Select [1] Add Task
  2. Enter task title (required, max 200 chars)
  3. Enter description (optional)

View All Tasks

Select [2] View All Tasks to see your tasks with status icons.

Update a Task

  1. Select [3] Update Task
  2. Search/select task from fuzzy list
  3. Enter new title or description

Delete a Task

  1. Select [4] Delete Task
  2. Search/select task from fuzzy list
  3. Confirm deletion (y/N)

Change Task Status

  1. Select [5] Change Status
  2. Search/select task from fuzzy list
  3. 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:

  1. Check terminal supports ANSI colors
  2. Set TERM=xterm-256color environment 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 sane to 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

mesumali_console_task_manager-1.0.3.tar.gz (654.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mesumali_console_task_manager-1.0.3-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file mesumali_console_task_manager-1.0.3.tar.gz.

File metadata

File hashes

Hashes for mesumali_console_task_manager-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b95e3d9ee9900f59e6cc4510ebbd1bc6baec4ea59aa4db86762ac97c90af190a
MD5 ce518400410b68a4cb5bd66dbedcb54a
BLAKE2b-256 2dd9a1158837c60250af1cf18f76c86016942b256d485623c4668a553e91170e

See more details on using hashes here.

File details

Details for the file mesumali_console_task_manager-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mesumali_console_task_manager-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f6b502321ee8b10633ade265cdd688e0413a5eeee402e38890c284da0c18441
MD5 7524fdd9a13ab47a05eb3085eadeb315
BLAKE2b-256 1361fad2a01c2c6a1d4beba10df8f154f988dc9602d26a3d751b11923ef318fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page