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.21.tar.gz (22.9 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.21-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kanby-1.0.21.tar.gz
  • Upload date:
  • Size: 22.9 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.21.tar.gz
Algorithm Hash digest
SHA256 6cc33a876dbab747b472e942693f13f7fa748beba12b5cc7c9eccdb75b73b31a
MD5 7e6930a39a1a4f49d862081870c3b9d1
BLAKE2b-256 4d85b9e2f6d703cb2369a275da9633671f596cf5c20773ac61e0c9187b768365

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kanby-1.0.21-py3-none-any.whl
  • Upload date:
  • Size: 15.6 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 67416bd735a263571a1f6bcbc623765dbc22fceaa4b4cea5bb97f8ff3b68ab4b
MD5 9a9d0d6b7389a5c58be5f9d645d8508c
BLAKE2b-256 53e1264bb9711fd3ccfa6b6604be00a1334d8a7d238766d535594d1f5b244df6

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