tqu
is a lightweight command-line tool designed for queue-based task tracking with minimal overhead. Instead of complicated features like priorities or due dates, tqu
uses a simple push/pop workflow across one or multiple queues. Whether you're managing everyday chores, bills, or side projects, tqu
keeps task tracking fast, intuitive, and distraction-free.
- Minimalist approach: Focuses solely on adding and removing tasks in a queue. No complicated features like priorities, due dates, or attachments.
- Queue-Based: Default queue for simple use, but supports multiple queues for different contexts (e.g., “daily,” “bills,” “my_project”).
- CLI-centric: Fast interaction entirely through the command line
- Low Friction: Short commands with sensible defaults, and queues are auto-created without extra steps.
-
Install (recommended via uv):
uv tool install tqu
or
pipx install tqu
or
pip install --user tqu
-
(Optional) By default,
tqu
stores its database at~/.tqu.sqlite
. You can customize the location by setting theTQU_DB_PATH
environment variable:export TQU_DB_PATH="/path/to/your/custom/database.sqlite"
Below are the commands you can run with tqu. In all cases, if you omit the queue name, default
is used.
For simple task management, you can use the default queue without specifying a queue name:
-
Add a task to the default queue:
tqu add "Pay electricity bill"
-
List tasks in the default queue:
tqu list
This shows active tasks along with their IDs, oldest added task first.
-
Remove the most recent (last) task from the default queue:
tqu pop
or
tqu poplast
This prints the removed task.
-
Remove the least recent (first) task from the default queue:
tqu popfirst
This prints the removed task.
-
Delete a task by its unique integer ID (no queue needed):
tqu delete <task_id>
-
Delete the default queue (and all tasks in it):
tqu delete
This prints all removed tasks from that queue.
Organize tasks into separate queues for different contexts. For multiple queues, simply add <queue>
as the last argument.
-
Add a task to a specific queue:
tqu add "Buy groceries" errands
If the queue “errands” does not exist, tqu creates it automatically. Note that, queue name can not be only numeric.
-
List tasks in a specific queue:
tqu list errands
-
Pop the most recent task from a specific queue:
tqu pop errands
(or “poplast”)
-
Pop the least recent task from a specific queue:
tqu popfirst errands
-
Delete an entire queue (and all tasks in it):
tqu delete errands
-
Delete a single task by ID (no need for queue name):
tqu delete <task_id>
-
List all queues that have at least one active task:
tqu
Here are some everyday scenarios in which tqu can keep you organized:
- Daily Planning: Keep track of things you need to do today or this month in queues like
today
,month
,feb2025
, orbiils
. - Reimbursements: Keep track of reimbursements you need to file at the end of the month in a queue named
reimbursements
. - Reading / Watch / Listen Lists: Keep track of books, papers, blogs, movies, podcasts, or music you want to consume in queues like
books
,papers
,movies
,podcasts
, ormusic
. - Side Projects: Keep track of tasks for side projects in queues like
project1
,project2
, orproject3
. - Travel Planning: Keep track of things you need to do before your next trip in a queue named
travel
ortaiwan-trip
.
This project is licensed under the MIT License. See the LICENSE file for details.