Skip to main content

pkanban

A command-line tool for managing Kanban boards. (The "p" is silent, like in "pneumonia".)

Most users will connect to our hosted service at kanban.pearachute.com. If you want to run your own server, see the Self-Hosting section below.

Quick Start

pip install pkanban

The CLI connects to the hosted service at https://kanban.pearachute.com by default, so you can log in right away:

kanban login <username>

You'll be prompted for your password (it stays out of your shell history). That's it! You can now manage your boards from the command line.

Self-hosting? Point the CLI at your own server first with kanban config --url http://localhost:8000 — see Self-Hosting.

Common Commands

# List your boards
kanban board list

# Create a new board
kanban board create "My Project"

# View a board with its columns and cards
kanban board get 1

# Add a column
kanban column create 1 "To Do" 0

# Add a card
kanban card create 1 "First task" --description "Getting started"

# Share a board with a team
kanban share 1 <team-id>

API Keys

For automation, CI/CD, or giving access to agents, use API keys instead of passwords:

# Create a key (shown only once!)
kanban apikey create "CI Agent"

# Save it once; subsequent commands use it automatically
kanban apikey save kanban_abc123...
kanban board list

# Or pass it per command
kanban --api-key kanban_abc123... board list

API keys can be revoked and reactivated at any time. They're stored securely (bcrypt-hashed) and track their last usage.

Command Reference

Command Description
kanban config [--url URL] Show or set server URL
kanban login <user> --password <pass> Login to the server
kanban logout Logout and clear credentials
kanban --api-key <key> Use API key for authentication
kanban apikey create <name> Generate a new API key
kanban apikey list List your API keys
kanban apikey revoke <id> Revoke an API key
kanban apikey activate <id> Reactivate a revoked key
kanban board list List all boards
kanban board create <name> Create a new board
kanban board get <id> Show board details
kanban board delete <id> Delete a board
kanban board update <id> <name> Update board name
kanban share <board_id> <team_id|private> Share board or make private
kanban column create <board_id> <name> <position> Create a column
kanban column delete <id> Delete a column
kanban card create <column_id> <title> [options] Create a card
kanban card update <id> <title> [options] Update a card
kanban card delete <id> Delete a card
kanban org list List all organizations
kanban org create <name> Create an organization
kanban org get <org-id> Show organization details
kanban org members <org-id> List organization members
kanban org member-add <org-id> <username> Add member to organization
kanban org member-remove <org-id> <user-id> Remove member
kanban team list --org-id <org-id> List teams in organization
kanban team create <org-id> <name> Create a new team
kanban team get <team-id> Show team details
kanban team members <team-id> List team members
kanban team member-add <team-id> <username> Add member to team
kanban team member-remove <team-id> <user-id> Remove member from team

Self-Hosting

Want to run your own server? Here's how:

1. Clone and setup

git clone https://github.com/pearachute/kanban.git
cd kanban
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r backend/requirements.txt
cd frontend && npm install && cd ..

2. Initialize and run

python manage.py init
python manage.py user-create admin mypassword --admin
python manage.py server

The server runs at http://localhost:8000 by default.

3. Connect the CLI

The CLI defaults to the hosted service, so point it at your local server first, then log in (you'll be prompted for the password):

kanban config --url http://localhost:8000
kanban login admin

Development

# Run the server with auto-reload
python manage.py server

# Run frontend dev server (hot reload)
cd frontend && npm run dev

# Run tests
python -m pytest backend/tests/

Database commands

python manage.py init          # Create tables
python manage.py wipe          # Drop and recreate tables
python manage.py status        # Check database status
python manage.py user-create <user> <pass> [--admin]

API Reference

The backend exposes a REST API at /api/:

Authentication

  • POST /api/token - Login (returns JWT)
  • X-API-Key header - Alternative auth via API key

API Keys

  • GET /api/api-keys - List your keys
  • POST /api/api-keys - Create a key
  • DELETE /api/api-keys/{id} - Revoke a key
  • POST /api/api-keys/{id}/activate - Reactivate a key

Boards

  • GET /api/boards - List accessible boards
  • POST /api/boards - Create a board
  • GET /api/boards/{id} - Get board details
  • POST /api/boards/{id} - Update board
  • DELETE /api/boards/{id} - Delete board

Columns

  • POST /api/columns - Create column
  • PUT /api/columns/{id} - Update column
  • DELETE /api/columns/{id} - Delete column

Cards

  • POST /api/cards - Create card
  • PUT /api/cards/{id} - Update card
  • DELETE /api/cards/{id} - Delete card

For multi-tenant organization details, see docs/multi-tenant.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pkanban-0.1.5.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

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

pkanban-0.1.5-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file pkanban-0.1.5.tar.gz.

File metadata

  • Download URL: pkanban-0.1.5.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pkanban-0.1.5.tar.gz
Algorithm Hash digest
SHA256 82d4f5b894a2bc0703db3d6d24be191d9ac4a3c9324f104242fb2bc03d02c2b1
MD5 75f08a3b747cee49dd233032979886fd
BLAKE2b-256 14d80102495efc498164726cc3f4a2a7f15d1db473a953079a55ea19fc0acb32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkanban-0.1.5.tar.gz:

Publisher: publish-pypi.yml on japherwocky/kanban

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pkanban-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pkanban-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pkanban-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6f6a22f568a8f9b7487a6044fb6b84ade6968ae331c24757aaf71a05320dd909
MD5 3628909ecfa9e24baf3f935b1c41c2e8
BLAKE2b-256 64be19bc769c2d0d7258b8a9b196c354230690f9daebc627cec7e7489e0fd6bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkanban-0.1.5-py3-none-any.whl:

Publisher: publish-pypi.yml on japherwocky/kanban

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

0.2.0

2 files

0.1.6

2 files

This release

0.1.5 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page