Skip to main content

gtasks-md

Google Tasks is a Google Workspace tool that has the following advantages:

  • It has a great integration with Google Calendar.
  • There are mobile apps developed by Google for Android and iOS.
  • It is pretty straightforward to use, there is no feature creep.

All good, this works pretty well for shopping groceries or something, but what if it was to be suitable for tracking more advanced tasks (e.g. work related)? It is possible to add some text as note to a task but this is very limited and not very convenient to use on desktop computer.

The idea that this project represents is declarative approach to task management. It provides an interface for manipulating Google Tasks via Markdown1. See the following demo:

Application demo

Supported operations

All commands support --user flag which allows multi-user usage.

auth

gtasks-md auth ./credentials.json

In order to run gtasks-md it is needed first to obtain API credentials. This can be achieved with the following steps2:

  1. Create a new project in GCP and go to Google APIs.

  2. Click ENABLE APIS AND SERVICES add Google Tasks API.

  3. Go to Google APIs and click OAuth consent screen from the sidebar.

    • Choose External (Available to any user with a Google Account.) and click CREATE.
    • Input your favorite name to Application name. In the Scopes for Google APIs section, click Add scope and add Task API ../auth/tasks.
    • Click Save (DO NOT Submit for verification).
  4. Go to the Credentials page from the sidebar.

    • Create a new OAuth client ID. Select Desktop application for the application type.
    • Download the credentials as JSON file.
    • Run gtasks-md auth command with that file as argument.

In case of troubles consult OAuth client ID credentials creation documentation for a Desktop app.

view

$ gtasks-md view
# # TODO
#
# ## My Tasks
#
# 1.  [ ] Task 1
#
#     Example note 1.
#
# 2.  [ ] Task 2
#
#     1.  [ ] SubTask 1
#
#         This is another useful note.
#
#     2.  [ ] SubTask 2

Downloads all task lists, parses them to Markdown format and prints to stdout.

edit

gtasks-md edit

Begins with the same operations as gtasks-md view but later opens the text in an editor. After user is done with entering changes, the resulting file is parsed back to task lists and local state is reconciled with server state.

reconcile

gtasks-md reconcile ./tasks.md

Similar to gtasks-md edit but instead of editing the Markdown it sources the provided file as local state and reconciles it.

rollback

gtasks-md rollback

Rolls back the server state to the most recent locally backuped state. Useful if something goes wrong.

Installation

  1. Install binary dependencies

    # Ubuntu
    $ sudo apt install pip
    # Fedora
    $ sudo dnf install pip
    
  2. Install the PyPI package in any of the following:

    • The global site-packages using pip:

      pip install gtasks-md
      
    • An isolated environment (venv) using pipx:

      pipx install gtasks-md
      
  3. Run gtasks-md

    gtasks-md --help
    

Development

Ubuntu

# 1. Install binary dependencies
$ sudo apt install pip
# 2. Install the project
$ pip install .
# 3. Run gtasks-md
$ gtasks-md --help

NixOS (or when using Nix)

# 1. Enter dev shell (this may be done automatically when using direnv)
$ nix develop
# 2. Run gtasks-md
$ gtasks-md --help
  1. Subset of CommonMark to be exact

  2. Shamelessly stolen from calendar.vim

Release files for gtasks-md 0.0.11

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

Source distribution (sdist)

Source distribution for gtasks-md 0.0.11
File Size Uploaded
gtasks_md-0.0.11.tar.gz 22.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gtasks-md 0.0.11
File Interpreter ABI Platform
gtasks_md-0.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 41.8 kB

Release files / gtasks_md-0.0.11.tar.gz

Download URL gtasks_md-0.0.11.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
01e5ab643ce9c2f38e1912937761527d81185f8740f4636841d21f9bebdc6304
BLAKE2b-256 checksum
How to use checksums
754008edad0d5b50964eee2575d6ec4ba0560fa5ade08e2e0d299e84237ec2e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 1, 2026.

Transparency log

Release files / gtasks_md-0.0.11-py3-none-any.whl

Download URL gtasks_md-0.0.11-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6c9b80fd7cb189fea84b147306628e72e3fa4f8f1ae2044f52e867da3bdb2ea
BLAKE2b-256 checksum
How to use checksums
119459fb3810f43aec1bd2c0b1f0e6504522a3d962cf47fb293156c2827a0986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.5

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

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