https://github.com/zaloog/kanban-tui
Task Manager with a TUI written in Python
https://github.com/zaloog/kanban-tui
kanban python task-manager textual tui uv
Last synced: 7 months ago
JSON representation
Task Manager with a TUI written in Python
- Host: GitHub
- URL: https://github.com/zaloog/kanban-tui
- Owner: Zaloog
- License: mit
- Created: 2024-08-20T08:14:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T13:34:55.000Z (7 months ago)
- Last Synced: 2025-03-27T13:47:25.361Z (7 months ago)
- Topics: kanban, python, task-manager, textual, tui, uv
- Language: Python
- Homepage:
- Size: 6.33 MB
- Stars: 66
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://github.com/astral-sh/ruff)
[](https://pypi.org/project/kanban-tui/)
[](https://pypi.python.org/pypi/kanban-tui)
[](https://opensource.org/licenses/MIT)
[](https://pepy.tech/project/kanban-tui)
[](https://coveralls.io/github/Zaloog/kanban-tui?branch=main)
# kanban-tui
kanban-tui is a customizable task manager in the terminal.
## Demo GIF

If you want to test `kanban-tui` you can directly run this demo yourself with the help of [uv] using `uvx` with
```bash
uvx --from kanban-tui ktui demo
```
## Features
Expand for more detailed information
Following the XDG basedir convention
kanban-tui utilizes [platformdirs] `user_config_dir` to save
the config file and `user_data_dir` for the sqlite database.
Customizeable Board
kanban-tui comes with four default columns
(`Ready`, `Doing`, `Done`, `Archive`) but can be customized to your needs.
More columns can be created via the `Settings`-Tab. Also the visibility of columns can be toggled.
Deletion of existing columns is only possible, if no task is present in the column you want to delete.
Multi Board Support
With version v0.4.0 kanban-tui allows the creation of multiple boards.
Use `B` on the `Kanban Board`-Tab to get an overview over all Boards including
the amount of columns, tasks and the closest Due Date.
Each Board starts with the default columns, but the columns are individual for each board.
Task Management
When on the `Kanban Board`-Tab you can `create (n)`, `edit (e)`, `delete (d)` or `move (H, L)` tasks between columns.
Visual Summary
To give you an overview over the amount of tasks you `created`, `started` or `finished`, kanban-tui
provides an `Overview`-Tab to show you a bar-chart on a `monthly`, `weekly` or `daily` scale.
It also can be changed to a stacked bar chart per category.
This feature is powered by the [plotext] library with help of [textual-plotext].
## Installation
You can install `kanban-tui` with one of the following options:
```bash
# not recommended
pip install kanban-tui
```
```bash
pipx install kanban-tui
```
```bash
rye install kanban-tui
```
```bash
uv tool install kanban-tui
```
I recommend using [pipx], [rye] or [uv] to install CLI Tools into an isolated environment.
To be able to use `kanban-tui` in your browser with the `--web`-flag, the optional dependency
`textual-serve` is needed. You can add this to `kanban-tui` by installing the optional `web`-dependency
with the installer of your choice, for example with [uv]:
```bash
uv tool install 'kanban-tui[web]'
```
## Usage
### Normal Mode
Starts `kanban-tui` with a starting board. The application can be closed by pressing `ctrl+q`.
Pass the `--web` flag and follow the shown link to open `kanban-tui` in your browser.
```bash
ktui
```
### Demo Mode
Creates a temporary Config and Database which is populated with example Tasks to play around.
Kanban-Tui will delete the temporary Config and Database after closing the application.
Pass the `--clean` flag to start with an empty demo app.
Pass the `--keep` flag to tell `kanban-tui` not to delete the temporary Database and Config.
Pass the `--web` flag and follow the shown link to open `kanban-tui` in your browser.
```bash
ktui demo
```
### Clear Database and Configuration
If you want to start with a fresh database and configuration file, you can use this command to
delete your current database and configuration file.
```bash
ktui clear
```
## Feedback and Issues
Feel free to reach out and share your feedback, or open an [Issue],
if something doesnt work as expected.
Also check the [Changelog] for new updates.
[Changelog]: https://github.com/Zaloog/kanban-tui/blob/main/CHANGELOG.md
[Issue]: https://github.com/Zaloog/kanban-tui/issues
[platformdirs]: https://platformdirs.readthedocs.io/en/latest/
[textual]: https://textual.textualize.io
[pipx]: https://github.com/pypa/pipx
[PyPi]: https://pypi.org/project/kanban-tui/
[plotext]: https://github.com/piccolomo/plotext
[textual-plotext]: https://github.com/Textualize/textual-plotext
[XDG]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
[rye]: https://rye.astral.sh
[uv]: https://docs.astral.sh/uv