Skip to main content

A kanban-style project task queue.

Project description

DaiKanban
大看板

PyPI - Version GitHub Actions Workflow Status Coverage Status License: MIT pre-commit

A command-line Kanban board that helps you prioritize and organize your projects.

Screenshot

Screenshot

(screenshot from v0.1.0)

Inspired by prior projects like the excellent clikan and kanban-python, I've made yet another terminal kanban board in Python. My long-term goals with it are:

  1. High degree of customization (display settings, scoring/prioritizing tasks)
  2. Syncing with external platforms (Github/Jira Issues)
  3. Productivity metrics and completion forecasting

⚠️ DaiKanban is currently in its very early stages and should not be considered stable.

Concepts

A DaiKanban board displays your tasks, organized into three status groups:

  • todo (AKA backlog)
  • active (AKA in-progress)
  • completed

Tasks advance from one status to the next. You can rank tasks in your backlog by various criteria such as priority, expected time to completion, etc.

You may have more than one board (e.g. to separate personal and business tasks), and tasks in each board may be associated with projects to categorize them further.

Installation

pip install daikanban

Requires 3.10 or higher.

Usage

View help menu:

daikanban -h

Launch interactive shell:

daikanban shell

Common shell commands

Long Short Description
help h Show help menu
quit q Quit
board load b l Load a board
board show b s Show current board
project new p n Create new project
project show [PROJECT] p s [PROJECT] Show project info
task new t n Create new task
task show [TASK] t s [TASK] Show task info
task set [FIELD] [VALUE] t set [FIELD] [VALUE] Update task info (if VALUE is omitted, set it to null)

Projects and tasks can be referred to either by their ID (a unique number assigned at creation) or their name. For ease of use, it is recommended to avoid whitespace characters in names:

  • Do the thing
  • do-the-thing

Shell commands to advance tasks

Long Short Description
task begin [TASK] t b [TASK] Start a task in the backlog
task complete [TASK] t c [TASK] Complete an active task
task pause [TASK] t p [TASK] Pause an active task
task resume [TASK] t r [TASK] Resume a paused or completed task back to active
task todo [TASK] t t [TASK] Revert a task to the backlog

Board files

For now, DaiKanban boards are saved as local JSON files that you need to load explicitly, either by running board load [FILENAME] within the shell, or launching the program like daikanban shell --board [FILENAME].

You can store multiple board files in your canonical board directory, including a default board file that will load automatically. This can be set using the global configuration file.

Configuration

To customize configurations, create a new config file:

daikanban config new

This creates a TOML file you can modify. You can override default settings like what board columns are displayed, how many tasks to show, preferred date format, and much more.

Flexible dates & times

One nice feature of DaiKanban is its flexible datetime parsing. For example, when creating a new task, it will prompt you for a due date. All of the following responses are valid:

  • 2024-03-19
  • 3/19/24
  • march 19th
  • in 2 days
  • in two days
  • 48 hours from now

This makes it easy to enter these kinds of fields naturally as a human, without having to memorize a specific date format. 😃

🚧 Future Work

  • Syncing with external platforms (Github, Jira)
  • Custom task statuses
  • Blocking tasks
  • Recurring tasks
  • Standard markdown format for storing readable task lists
  • Productivity analytics
  • Web-based alternative to CLI
  • And more...

Support and feedback

🛠️ Feel free to submit pull requests, ask questions, or make bugfix/feature requests on Github Issues.

✨ This library is built on pydantic, fancy-dataclass, typer, and rich. Check them out!

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

daikanban-0.2.1.tar.gz (723.0 kB view details)

Uploaded Source

Built Distribution

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

daikanban-0.2.1-py3-none-any.whl (52.7 kB view details)

Uploaded Python 3

File details

Details for the file daikanban-0.2.1.tar.gz.

File metadata

  • Download URL: daikanban-0.2.1.tar.gz
  • Upload date:
  • Size: 723.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.3

File hashes

Hashes for daikanban-0.2.1.tar.gz
Algorithm Hash digest
SHA256 242aaf784ba9800747401d44c5493e61bf4a9e78ea12fb312f48da2e2e89ca6b
MD5 4094bb5a0ce9be35d94fa9c36a22938c
BLAKE2b-256 f5cad4ef891f7cb2e21cbcf917e16410a1476409d6cd685b24f01a58126ac498

See more details on using hashes here.

File details

Details for the file daikanban-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: daikanban-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.3

File hashes

Hashes for daikanban-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0e732e0b2d858eaa9f27cd738b3c364dd538835dbacd37d15841c74878da0eb
MD5 5a226a5e02ec801e76fd016ab9ac1a80
BLAKE2b-256 70135278285a46d1df79363442f6e9f7864211351d7495d25d5aca5c14da9d0a

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