Skip to main content

ggltasks - Google Tasks TUI

PyPI version PyPI downloads License Python versions

A lightning-fast, robust TUI for Google Tasks, built for terminal power users.

Features

  • Async UI: Network requests are threaded. The app boots instantly and never freezes.
  • Native Sync: Moves, completions, and deletions flawlessly sync with the official Google backend.
  • Smart Timestamps: Due dates and "Last Updated" timestamps.
  • Vim Navigation: Navigate entirely using h/j/k/l.

Screenshots

Screenshot

Installation

Google requires you to generate a personal "Client Secret" to access your data securely.

Step 1: Get Google API Credentials

  1. Go to the Google Cloud Console.
  2. Create a New Project (e.g., ggltasks-cli).
  3. Search for Google Tasks API and click Enable.
  4. Go to APIs & Services → Credentials.
  5. Click + CREATE CREDENTIALS → OAuth client ID. (Choose "Desktop app" as the Application type).
  6. You may need to configure the OAuth consent screen first — just set it to "External" and add your Google account as a test user.
  7. Download the JSON file and rename it exactly to client_secrets.json.

Step 2: Install and Run

  1. Install via pip:
    pip install ggltasks
    
  2. Run the app:
    ggltasks
    
  3. The app will automatically create the .ggltasks config folder in your home directory and give you instructions on where to place your client_secrets.json file.
  4. Move your client_secrets.json file into that folder and run ggltasks again!

Note: The first time it successfully connects, a browser window will pop up asking you to log in to your Google Account. A local token is saved so you only have to do this once.

Usage

Key Action
q Quit
w Force Sync
↑ / k Navigate Up
↓ / j Navigate Down
← / h Back / Switch Panels
→ / l Enter Subtasks
Shift + K Move Task Up
Shift + J Move Task Down
o Add new task/list
d Delete item
r Rename item
c Toggle task completion
Shift + X Clear Completed Tasks
a Set Due Date
i Edit Notes
p Paste deleted task
? Toggle Help Menu

Task Status Symbols

  • [ ] : Pending
  • [X] : Completed
  • * : Has text Note
  • (N) : Number of direct subtasks
  • [Upd: MM-DD HH:MM] : Local time the task was last updated

Known Limitations (Google Tasks API)

These are inherent limitations of the official Google Tasks API backend, not this app:

  • No Times on Due Dates: The API strips specific hours/minutes off due dates, forcing them to midnight UTC. You can assign a day, but not a time.
  • No Recurring Tasks: The API does not allow 3rd party apps to create or manage recurring/repeating tasks.
  • Subtask Display Limits: The API allows infinitely deep subtasks (and this CLI app fully supports them). However, Google's official web/mobile apps will only display 1 level deep.

License

MIT License.

Metadata

Release files for ggltasks 0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ggltasks 0.2.6
File Size Uploaded
ggltasks-0.2.6.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ggltasks 0.2.6
File Interpreter ABI Platform
ggltasks-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 31.1 kB

Release files / ggltasks-0.2.6.tar.gz

Download URL ggltasks-0.2.6.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0b517336903f010ae64cfc44a719e9fa5d4f713e0f12c867b0388569ec5befbc
BLAKE2b-256 checksum
How to use checksums
9a85122c19226afaea16d655192330e7c852b87d0e725eb774649416899d755c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / ggltasks-0.2.6-py3-none-any.whl

Download URL ggltasks-0.2.6-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
074ead6bad956da4c91cf27d8d92bd0337d9147e1cbe638a1e0cb257af073c95
BLAKE2b-256 checksum
How to use checksums
2defaa23e5605aaf06941d47e3eaf9dbf3b38e8291527b17ed350420e0e9ac0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.6 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page