Skip to main content

A Minimal CLI for Queue-Based Task Tracking

Project description

tqu – A Minimal CLI for Queue-Based Task Tracking

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.

Highlights

  • 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.

Installation

  1. Install (recommended via pipx):

    pipx install tqu
    

    or

    pip install --user tqu
    
  2. (Optional) By default, tqu stores its database at ~/.tqu.sqlite. You can customize the location by setting the TQU_DB_PATH environment variable:

    export TQU_DB_PATH="/path/to/your/custom/database.sqlite"
    

Usage

Below are the commands you can run with tqu. In all cases, if you omit the queue name, default is used.

Basic: Single Queue Mode

For simple task management, you can use the default queue without specifying a queue name:

  1. Add a task to the default queue:

    tqu add "Pay electricity bill"
    
  2. List tasks in the default queue:

    tqu list
    

    This shows active tasks along with their IDs, oldest added task first.

  3. Remove the most recent (last) task from the default queue:

    tqu pop
    

    or

    tqu poplast
    

    This prints the removed task.

  4. Remove the least recent (first) task from the default queue:

    tqu popfirst
    

    This prints the removed task.

  5. Delete a task by its unique integer ID (no queue needed):

    tqu delete <task_id>
    
  6. Delete the default queue (and all tasks in it):

    tqu delete
    

    This prints all removed tasks from that queue.

Advanced: Multiple Queue Mode

Organize tasks into separate queues for different contexts. For multiple queues, simply add <queue> as the last argument.

  1. 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.

  2. List tasks in a specific queue:

    tqu list errands
    
  3. Pop the most recent task from a specific queue:

    tqu pop errands
    

    (or “poplast”)

  4. Pop the least recent task from a specific queue:

    tqu popfirst errands
    
  5. Delete an entire queue (and all tasks in it):

    tqu delete errands
    
  6. Delete a single task by ID (no need for queue name):

    tqu delete <task_id>
    
  7. List all queues that have at least one active task:

    tqu
    

Everyday Use Cases

Here are some everyday scenarios in which tqu can keep you organized:

  1. Daily Planning: Keep track of things you need to do today or this month in queues like today, month, feb2025, or biils.
  2. Reimbursements: Keep track of reimbursements you need to file at the end of the month in a queue named reimbursements.
  3. 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, or music.
  4. Side Projects: Keep track of tasks for side projects in queues like project1, project2, or project3.
  5. Travel Planning: Keep track of things you need to do before your next trip in a queue named travel or taiwan-trip.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tqu-1.0.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tqu-1.0.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file tqu-1.0.1.tar.gz.

File metadata

  • Download URL: tqu-1.0.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.26

File hashes

Hashes for tqu-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4a01a91c20413001266b53b299f5db814fe2926e867a4240059ebbfc8229cf2d
MD5 e96c84d1bc21e206ad44e25efd1d8c6b
BLAKE2b-256 630f1291918eb5cd584db3960538711c4c3af024245dac3011d19c7e31f519fb

See more details on using hashes here.

File details

Details for the file tqu-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: tqu-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.26

File hashes

Hashes for tqu-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9886986af2552c7874acc99edb3ee950f7b0a47e7909354c4933586d4673dfc
MD5 3c45e95ae557f39e2816ae1bbfa78427
BLAKE2b-256 9b08c836e3dee67b41e93126f9995314ff1ec3478ad800a4ef7b3307dd0f8d38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page