A command-line task manager for tracking todos with priorities and due dates.
Install dependencies:
uv syncRun commands using uv run:
uv run task add "My first task"
uv run task listOr
source .venv/bin/activate
taskThis is ideal for development since you don't need to reinstall after code changes.
To use task directly without the uv run prefix, install the package in editable mode:
uv tool install -e .Now you can run commands directly:
task add "My task"
task listThe -e (editable) flag means code changes still take effect immediately without reinstalling.
To share the package with others, build distributable files:
uv buildThis creates files in dist/:
task_cli-0.1.0.tar.gz- source distributiontask_cli-0.1.0-py3-none-any.whl- wheel (recommended for installing)
Recipients can install the wheel file:
pip install task_cli-0.1.0-py3-none-any.whlYou can also publish to PyPI with uv publish for public distribution.
task add "Buy groceries"
task add "Finish report" -p high
task add "Pay bills" -p medium -d 2025-01-15| Option | Description |
|---|---|
-p, --priority |
Priority: low, medium, high (default: low) |
-d, --due |
Due date in YYYY-MM-DD format |
task list # pending tasks only
task list -a # all tasks (including completed)
task list --done # completed tasks only
task list -p high # filter by prioritytask done 1 # mark task #1 as completedtask clear 1 # delete task #1 (with confirmation)
task clear 1 --force # delete without confirmationTasks are stored in ~/.task/tasks.json.
