Skip to main content

A beautiful terminal-based Kanban board

Project description

๐Ÿ”ฅ Kanby

A Beautiful Terminal-Based Kanban Board

Screenshot

Kanby brings the power of Kanban boards directly to your terminal with a clean, intuitive interface built using Python's curses library.

โœจ Features

  • ๐ŸŽฏ Multiple Projects: Organize different projects separately
  • ๐Ÿ“Š Customizable Columns: Default "To Do", "In Progress", "Done"
  • ๐ŸŽจ Priority Levels: Low, Mid, High priority tasks with color coding
  • ๐Ÿ’พ Persistent Storage: All data saved locally in JSON format
  • โŒจ๏ธ Keyboard Navigation: Full keyboard control for efficiency
  • ๐ŸŽญ Beautiful UI: Clean, colorful terminal interface with splash screen
  • ๐Ÿš€ Fast & Lightweight: Minimal dependencies (Windows curses auto-installed on Windows)
  • ๐ŸŒ Cross-Platform: Works on Linux, macOS, and Windows with proper curses support
  • ๐Ÿ”ง CLI Options: Custom data file locations and more

๐Ÿ“ฆ Installation

Using pip

pip install kanby

Windows Users: The windows-curses dependency will be automatically installed on Windows systems.

Using uv

uv add kanby

From source

git clone https://github.com/vladzima/kanby
cd kanby
pip install -e .

Windows Compatibility

Kanby automatically handles Windows curses compatibility. If you encounter issues on Windows, ensure you have:

  • Python 3.7 or later
  • The windows-curses package (installed automatically)

๐Ÿš€ Usage

Simply run:

kanby

Or with custom data file:

kanby --data-file /path/to/your/kanban.json

For help:

kanby --help

โŒจ๏ธ Keyboard Controls

Navigation

Key Action
โ† โ†’ Navigate between columns
โ†‘ โ†“ Navigate between tasks

Task Management

Key Action
a Add new task
e Edit selected task
d Delete selected task
m Move task (+ arrow keys)

Project Management

Key Action
p Open project manager

In Project Manager

Key Action
โ†‘ โ†“ Navigate projects
Enter Select project
n New project
r Rename project
d Delete project
q Cancel/Exit

Application

Key Action
q Quit application

๐ŸŽฏ Task Management

Creating Tasks

  1. Press a to add a new task
  2. Enter the task title
  3. Choose priority (L/M/H for Low/Mid/High)
  4. Task appears in current column

Editing Tasks

  1. Navigate to a task using arrow keys
  2. Press e to edit
  3. Modify title and/or priority
  4. Changes are saved automatically

Moving Tasks

  1. Select a task with arrow keys
  2. Press m to enter move mode
  3. Use arrow keys to move:
    • โ† โ†’ : Move between columns
    • โ†‘ โ†“ : Reorder within current column
  4. Press Enter to confirm or Esc to cancel

Task Visibility & Scrolling

Column headers show task counts and visibility information:

  • All visible: To Do (5) - shows total count when all tasks fit
  • Scrolling needed: To Do (3-7/15) - shows visible range when scrolling
  • Empty column: To Do (0) - indicates no tasks in column

Navigate through long task lists with โ†‘ โ†“ arrows. Headers automatically update to show which tasks are currently visible on screen.

Priority Levels

Tasks display with compact priority indicators on the same line:

  • [H] Task title: High priority (red color coding)
  • [M] Task title: Mid priority (yellow color coding)
  • [L] Task title: Low priority (green color coding)

This space-efficient format allows 3x more tasks to be visible on screen compared to the previous multi-line format.

๐Ÿ“ Project Management

Multiple Projects

  • Press p to open the project manager
  • Navigate with โ†‘ โ†“ arrow keys
  • Press Enter to switch to selected project

Creating Projects

  1. In project manager, press n
  2. Enter new project name
  3. Project is created with default columns

Renaming Projects

  1. In project manager, select project to rename
  2. Press r to rename
  3. Enter new project name
  4. All tasks and data are preserved
  5. Cannot rename to an existing project name

Deleting Projects

  1. In project manager, select project
  2. Press d to delete
  3. Confirm with y
  4. Cannot delete the last remaining project

๐Ÿ”ง Configuration

Data Storage

Kanby stores data in kanby_data.json in your current directory by default.

Custom Data File

Specify a custom location:

kanby --data-file ~/.config/kanby/my-projects.json

Data Format

The JSON file contains all projects and tasks:

{
  "Project Name": {
    "To Do": [
      {
        "id": "abc123",
        "title": "Task title",
        "priority": "High"
      }
    ],
    "In Progress": [],
    "Done": []
  }
}

๐ŸŽจ Color Scheme

Kanby uses a carefully designed color scheme:

  • Project names: Cyan
  • Column headers: Blue (active: Green)
  • Task priorities: Green (Low), Yellow (Mid), Red (High)
  • Selected items: Yellow background
  • Messages: Green (info), Red (error)
  • Borders: White

๐Ÿ’ป System Requirements

  • Python 3.7 or higher
  • Terminal with curses support
  • Unix-like system (Linux, macOS) or Windows with proper terminal

๐Ÿ› ๏ธ Development

Setup

git clone https://github.com/vladzima/kanby
cd kanby
pip install -e .

Running Tests

python -m pytest

Code Structure

kanby/
โ”œโ”€โ”€ kanby/
โ”‚   โ”œโ”€โ”€ __init__.py    # Package initialization
โ”‚   โ””โ”€โ”€ main.py        # Main application logic
โ”œโ”€โ”€ pyproject.toml     # Package configuration
โ”œโ”€โ”€ README.md          # This file
โ””โ”€โ”€ LICENSE           # MIT License

๐Ÿ› Troubleshooting

Terminal Issues

If your terminal becomes corrupted after an error:

reset

Color Issues

If colors don't display properly, your terminal may not support them. Kanby will fall back to a monochrome display.

Size Issues

Kanby adapts to your terminal size, but works best with at least 80x24 characters.

๐Ÿ“ License

MIT License - see LICENSE file for details.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

How to Contribute

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Reporting Issues

Please use the GitHub issue tracker to report bugs or request features.

Made with โค๏ธ for terminal enthusiasts and productivity lovers

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

kanby-1.0.23.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

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

kanby-1.0.23-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file kanby-1.0.23.tar.gz.

File metadata

  • Download URL: kanby-1.0.23.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kanby-1.0.23.tar.gz
Algorithm Hash digest
SHA256 bba386c3f8daddd7644bfe6432a50d96a20a86e1cd0aa7f69220ae0dd6f0bcb0
MD5 391b03f94f4d00cb6bd1ef79f41b8c97
BLAKE2b-256 dcd33ce56b1cdde76dc2c2f2b91c9c767e9e106f092aa9063b3c30cbbd9d6c0a

See more details on using hashes here.

File details

Details for the file kanby-1.0.23-py3-none-any.whl.

File metadata

  • Download URL: kanby-1.0.23-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kanby-1.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 823c3964e50dbf7a5b6cf3633ed96cc92270998aa187eda29362972f4f2ae691
MD5 8457d847950e5b7e101a74cf946abf3b
BLAKE2b-256 3d9837a81f68a71a238e9ff253ccdf3910878b06b5d87e060b22d77621bfa77e

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