daikanban


Namedaikanban JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA kanban-style project task queue.
upload_time2024-03-28 20:40:20
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords kanban productivity
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DaiKanban <br/> 大看板

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

## Screenshot

![Screenshot](doc/screenshot_v0_1_0.png)

(*[screenshot](https://github.com/jeremander/daikanban/blob/main/doc/screenshot_v0_1_0.png) 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

```shell
pip install daikanban
```

## Usage

View help menu:

```shell
daikanban -h
```

Launch interactive shell:

```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 |

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]`.

🚧 In the near future, multiple boards will be stored inside a canonical directory, along with a global configuration file in which you can set up a default board.

### 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

- Configurable settings
- 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](https://github.com/jeremander/daikanban/issues).

✨ This library is built on [pydantic], [typer], and [rich]. Check them out!

[clikan]: https://github.com/kitplummer/clikan
[kanban-python]: https://github.com/Zaloog/kanban-python
[pydantic]: https://github.com/pydantic/pydantic
[rich]: https://github.com/Textualize/rich
[typer]: https://github.com/tiangolo/typer

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "daikanban",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "kanban, productivity",
    "author": null,
    "author_email": "Jeremy Silver <jeremys@nessiness.com>",
    "download_url": "https://files.pythonhosted.org/packages/41/ee/574f7847a08615db4ef1b5a115a52b3cfcaeadd2b7a471076142c2a140eb/daikanban-0.1.1.tar.gz",
    "platform": null,
    "description": "# DaiKanban <br/> \u5927\u770b\u677f\n\nA command-line Kanban board that helps you prioritize and organize your projects.\n\n## Screenshot\n\n![Screenshot](doc/screenshot_v0_1_0.png)\n\n(*[screenshot](https://github.com/jeremander/daikanban/blob/main/doc/screenshot_v0_1_0.png) from `v0.1.0`*)\n\nInspired 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:\n\n1. High degree of customization (display settings, scoring/prioritizing tasks)\n2. Syncing with external platforms (Github/Jira Issues)\n3. Productivity metrics and completion forecasting\n\n\u26a0\ufe0f DaiKanban is currently in its very early stages and should *not* be considered stable.\n\n## Concepts\n\nA DaiKanban **board** displays your **tasks**, organized into three status groups:\n\n- `todo` (AKA *backlog*)\n- `active` (AKA *in-progress*)\n- `completed`\n\nTasks 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.\n\nYou 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.\n\n## Installation\n\n```shell\npip install daikanban\n```\n\n## Usage\n\nView help menu:\n\n```shell\ndaikanban -h\n```\n\nLaunch interactive shell:\n\n```shell\ndaikanban shell\n```\n\n### Common shell commands\n\n| Long | Short | Description |\n| --- | --- | --- |\n| `help` | `h` | Show help menu |\n| `quit` | `q` | Quit |\n| `board load` | `b l` | Load a board |\n| `board show` | `b s` | Show current board |\n| `project new` | `p n` | Create new project |\n| `project show [PROJECT]` | `p s [PROJECT]` | Show project info |\n| `task new` | `t n` | Create new task |\n| `task show [TASK]` | `t s [TASK]` | Show task info |\n\nProjects 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:\n\n- \u274c `Do the thing`\n- \u2705 `do-the-thing`\n\n### Shell commands to advance tasks\n\n| Long | Short | Description |\n| --- | --- | --- |\n| `task begin [TASK]` | `t b [TASK]` | Start a task in the backlog |\n| `task complete [TASK]` | `t c [TASK]` | Complete an active task |\n| `task pause [TASK]` | `t p [TASK]` | Pause an active task |\n| `task resume [TASK]` | `t r [TASK]` | Resume a paused or completed task back to active |\n| `task todo [TASK]` | `t t [TASK]` | Revert a task to the backlog |\n\n### Board files\n\nFor 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]`.\n\n\ud83d\udea7 In the near future, multiple boards will be stored inside a canonical directory, along with a global configuration file in which you can set up a default board.\n\n### Flexible dates & times\n\nOne 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:\n\n- `2024-03-19`\n- `3/19/24`\n- `march 19th`\n- `in 2 days`\n- `in two days`\n- `48 hours from now`\n\nThis makes it easy to enter these kinds of fields naturally as a human, without having to memorize a specific date format. \ud83d\ude03\n\n## \ud83d\udea7 Future Work\n\n- Configurable settings\n- Syncing with external platforms (Github, Jira)\n- Custom task statuses\n- Blocking tasks\n- Recurring tasks\n- Standard markdown format for storing readable task lists\n- Productivity analytics\n- Web-based alternative to CLI\n- And more...\n\n## Support and feedback\n\n\ud83d\udee0\ufe0f Feel free to submit pull requests, ask questions, or make bugfix/feature requests on [Github Issues](https://github.com/jeremander/daikanban/issues).\n\n\u2728 This library is built on [pydantic], [typer], and [rich]. Check them out!\n\n[clikan]: https://github.com/kitplummer/clikan\n[kanban-python]: https://github.com/Zaloog/kanban-python\n[pydantic]: https://github.com/pydantic/pydantic\n[rich]: https://github.com/Textualize/rich\n[typer]: https://github.com/tiangolo/typer\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A kanban-style project task queue.",
    "version": "0.1.1",
    "project_urls": {
        "Documentation": "https://github.com/jeremander/daikanban#readme",
        "Issues": "https://github.com/jeremander/daikanban/issues",
        "Source": "https://github.com/jeremander/daikanban"
    },
    "split_keywords": [
        "kanban",
        " productivity"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ed55c9e050bd2f82b247b126981bd43d729e0638dfb6a0784e5b6d4de2575ffd",
                "md5": "eb5a9cab0d15cb6d5e2c24a2595ba527",
                "sha256": "b5142cc375ead56b54cf525293ad37b35231976906d9a5ff1f6675ab6677ab01"
            },
            "downloads": -1,
            "filename": "daikanban-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eb5a9cab0d15cb6d5e2c24a2595ba527",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 31090,
            "upload_time": "2024-03-28T20:40:22",
            "upload_time_iso_8601": "2024-03-28T20:40:22.683625Z",
            "url": "https://files.pythonhosted.org/packages/ed/55/c9e050bd2f82b247b126981bd43d729e0638dfb6a0784e5b6d4de2575ffd/daikanban-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "41ee574f7847a08615db4ef1b5a115a52b3cfcaeadd2b7a471076142c2a140eb",
                "md5": "2ef5c9653bc689df2b1236614e79bba6",
                "sha256": "84b1cf85b1420d76b6c24fcd9f1c544d7ef75d1ba26bacc43830738c4ab98791"
            },
            "downloads": -1,
            "filename": "daikanban-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2ef5c9653bc689df2b1236614e79bba6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 5053167,
            "upload_time": "2024-03-28T20:40:20",
            "upload_time_iso_8601": "2024-03-28T20:40:20.974164Z",
            "url": "https://files.pythonhosted.org/packages/41/ee/574f7847a08615db4ef1b5a115a52b3cfcaeadd2b7a471076142c2a140eb/daikanban-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-28 20:40:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jeremander",
    "github_project": "daikanban#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "daikanban"
}
        
Elapsed time: 0.21243s