Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
A Terminal Kanban Application written in Python to boost your productivity :rocket:
Welcome to kanban-python, your Terminal Kanban-Board Manager.
The clikan Kanban App inspired me to write my own Terminal Kanban Application since I preferred a more simple and guided workflow.
kanban-python also comes with more features, like custom column creation, automatic scanning and customizable config file to support you being productive.
This package was initially developed with pyscaffold, which provides awesome project templates
and takes over much of the boilerplate for python packaging.
It was a great help for developing my first package and I can highly recommend it.
With version 0.5.X
the repository structure was changed to use uv.
ID
per board and also has an optional Tag
and Due Date
associated with it,
which are displayed alongside its Title
user_config_dir
to save the config file and user_data_dir
for
the board specific task files. After creating your first board, you can use kanban configure
to show the current settings table.
The config path in the table caption and the path for the task files can be found in the kanban_boards section.pykanban.ini
file gets created on first initialization in a kanban-python
folder in your user_config_dir
-Directory.
This can be edited manually or within the kanban-python application. It tracks the location for all your created boards. Active_Board
: current board that is shown when using kanban
-commandDone_Limit
: If the amount of tasks exceed this number in the Done column,
the first task of that column gets its status updated to Archived and is moved into that column. (default: 10
)Column_Min_Width
: Sets the minimum width of columns. (default: 40
)Show_Footer
: Shows the table footer with package name and version. (default: True
)Files
: Space seperated filetypes to search for patterns to create tasks. (default: .py .md
)Patterns
: Comma seperated patterns to search for start of line to create tasks. # TODO,#TODO,# BUG
)pykanban.json
file,
which stores all tasks for that board. The files are stored in board specific folders under $USER_DATA_DIR/kanban-python/kanban_boards/<BOARDNAME>
.
When changing Boards you also get an overview over tasks in visible columns for each board and the most urgent or overdue task on that board.
pykanban.ini
, the visibility can be configured in the settings
with kanban configure
.You can install kanban-python with:
python -m pip install kanban-python
pipx install kanban-python # using pipx
uv tool install kanban-python # using uv
rye install kanban-python # using rye
I recommend using pipx, rye or uv to install CLI Tools into an isolated environment.
After Installation of kanban-python, there are 5 commands available:
kanban init
Is used to create a new kanban board i.e. it asks for a name and then creates a pykanban.json
file with a Welcome Task.
On first use of any command, the pykanban.ini
configfile and the kanban-python
folder will be created automatically.
You can create local boards in the current working directory by using the name local
or the flags -l
or --local
when
using kanban init
. kanban-python checks for local boards and updates the config file accordingly.
Local boards can only be accessed when using kanban
in the same folder.
kanban
This is your main command to interact with your boards and tasks. It also gives the option to show the current settings and adjust them.
Adjusting the settings can also be done directly by using the command kanban configure
:
Use Ctrl-C
or Ctrl-D
to exit the application at any time. :warning: If you exit in the middle of creating/updating a task,
or changing settings, your progress wont be saved.
kanban scan
After executing this command, kanban-python scans your current directory recursively for the defined filetypes and searches for lines that start with the pattern provided.
After confirmation to add the found tasks to table they will be added to the board. The alphanumeric Part of the Pattern will be used as tag. The filepath were the task was found will be added as description of the task.
You can also define a different path to scan with the -p
or --path
argument.
kanban report
Goes over all your Boards and creates a single markdown file by checking the Completion Dates
of your tasks.
Also shows a nice github-like contribution table for the current year.
You can define a different output path of the pykanban.md
report file with the -p
or --path
argument.
kanban configure
To create a new custom Column, you have to edit the pykanban.ini
manually and add a new column name + visibility status
under the settings.columns.visible
section. The other options are all customizable now via the new settings menu.
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.
:warning:
With release v0.3.0 kanban-python switched to the XDG Basedir Spec. So some file migrations and config edits might be
needed to continue working with your already created boards if you update from v0.2.X
to v0.3.X
FAQs
Terminal Kanban App written in Python
We found that kanban-python demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.