A vim-style Taskwarrior TUI built with Textual.
Project description
hamtask
hamtask is a vim-style Taskwarrior TUI built with Python and Textual.
Goals
- List-first, keyboard-only interface.
- Use Taskwarrior's native filters and raw command arguments.
- Read
report.next.filter,report.next.columns,report.next.labels, andreport.next.sortfrom~/.taskrcor~/.config/task/taskrc. - Mutate tasks by invoking the
taskcommand, never by editing Taskwarrior data files directly.
Requirements
- Python 3.11+
- Taskwarrior's
taskcommand must be installed and configured
Install from PyPI
uv tool install hamtask
Then run:
hamtask
Open a specific Taskwarrior report from your taskrc:
hamtask completed
hamtask waiting
Update an installed PyPI version with:
uv tool upgrade hamtask
Run during development
uv run hamtask
Local installation
Install the current checkout as a uv tool:
uv tool install .
Then run:
hamtask
If your shell cannot find hamtask, run:
uv tool update-shell
Then restart your terminal or reload your shell config.
Update local installation
After changing the local source code, reinstall with:
uv tool install . --force
Uninstall
uv tool uninstall hamtask
Key bindings
j/k: move down/upg: go to topG: go to bottomr: refreshq: quitenter: toggle bottom task details/: search current listf: apply Taskwarrior filter:: command modea:task add ...m:task <uuid> modify ...e:task <uuid> editA:task <uuid> annotate ...space: select/unselect taskd: done selected tasks, or current task when nothing is selecteds: start/stop selected tasks, or current task when nothing is selectedu:task undox: delete with confirmation?: show all shortcuts
Reports
By default, hamtask loads the next report from your taskrc:
report.next.filter
report.next.columns
report.next.labels
report.next.sort
You can start with another report:
hamtask waiting
Or switch reports at runtime:
:report waiting
hamtask will read the matching report keys, such as:
report.waiting.filter
report.waiting.columns
report.waiting.labels
report.waiting.sort
Command mode
Supported commands:
:q
:quit
:r
:refresh
:f <filter>
:filter <filter>
:report <name>
:add <raw task args>
:mod <raw task args>
:modify <raw task args>
:done
:undo
:delete
:annotate <text>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hamtask-0.3.0.tar.gz.
File metadata
- Download URL: hamtask-0.3.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c40261eb7b496ca69fff67956f678309052f84383cf607c62ab7a47c3774dfb
|
|
| MD5 |
f55ff14c2f86f92ba5d30d314d9b396e
|
|
| BLAKE2b-256 |
858d79af5036ec1997ae6f7aa0e6ff353efc65df874a64a7c0c2d4ac3d56afc8
|
File details
Details for the file hamtask-0.3.0-py3-none-any.whl.
File metadata
- Download URL: hamtask-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
923c10fed50f6415cd5169e1a3199418480e4dc631aced61410e47c956d02e3d
|
|
| MD5 |
1f5ba14f1af5e671a78e73c003ff9665
|
|
| BLAKE2b-256 |
78ccba6e61e87a3a74560e110aa7a38b58452ed67d96e1a94a25599fea244992
|