Disclaimer: This project has been 95% coded by AI. Including this readme.
Kapyban is a Python application designed to manage tasks using a Kanban board approach. It provides a simple, text-based interface to create, edit, move, and prioritize tasks organized in columns, mimicking a traditional Kanban board. This tool is ideal for personal task management or small team projects.
- Task Management: Add, edit, remove, and move tasks across different columns.
- Column Operations: Create, rename, and destroy columns to customize your board.
- Prioritization: Set priorities for tasks (high, medium, low).
- Deadlines: Assign deadlines to tasks using natural language.
- Data Persistence: Save and load the board state as a JSON file.
- Command-line Interface: Easy-to-use commands for managing tasks and columns. No menus in the shape of numbered lists.
To use Kapyban, ensure you have Python installed on your system. Then, install the required dependencies:
pip3 install dateparser prettytable fuzzywuzzy python-dateutil tabulate rich
-
Starting Kapyban: Run the script to start the application. Optionally, pass a
.json
filename as an argument to load an existing board.python3 kapyban.py [filename.json]
-
Command List:
- General Commands:
help
,save
,exit
- Board Management:
create <column name>
,destroy <column name>
,rename <old column name> <new column name>
- Task Management:
add <task description> to <column name>
,move <task id> <column name>
,remove <task id>
,edit <task id> <property> <new value>
,deadline <task id> <deadline>
,priority <task id> <priority level>
- Output Control:
clear
- General Commands:
-
Interacting with Kapyban:
- Enter commands at the prompt to manage tasks and columns.
- Use
help
for guidance on command usage.
In this example, we'll set up a Kanban board with three columns: "Backlog", "In Progress", and "Completed". We'll add five tasks to different columns, each with a unique ID consisting of a single random letter between 'a' and 'z'. Lastly, we'll move all tasks to the "Completed" column.
-
Start Kapyban and Create Columns:
- Run the Kapyban script.
- Create three columns:
create Backlog create In Progress create Completed
-
Add Tasks to Columns:
- Add five tasks. Note the column name is case insensitive.
Let's assume the IDs generated by the script for these tasks are 'e', 'r', 't', 'y', 'u'.
add Review project requirements to backlog add Set up development environment to in progress add Draft initial design to backlog add Conduct team meeting to in progress add Code review to backlog
- Add five tasks. Note the column name is case insensitive.
-
Move Tasks to 'Completed':
-
Move all tasks to the "Completed" column:
move e completed move r completed move t completed move y completed move u completed
Note that if you wanted to swap the contents of a single column to another, the swap command allows you to do so.
swap in progress done
-
After executing these commands, all tasks initially distributed across "Backlog" and "In Progress" will be consolidated under the "Completed" column.
Contributions to Kapyban are welcome! If you have suggestions or improvements, feel free to fork the repository and submit a pull request.
Kapyban is released under MIT License.