Skip to main content

A utility to convert Google Tasks JSON exports to Todoist CSV format.

Project description

google-tasks-to-todoist

A command-line utility to convert your Google Tasks JSON exports into a CSV format compatible with Todoist, making it easier to migrate your tasks.

If you're switching from Google Tasks to Todoist, you've likely discovered that there's no direct way to import your tasks. This tool bridges that gap by converting your Google Tasks data into a structured CSV file that Todoist can import, preserving your task lists, titles, and due dates.

Usage

The general usage is as follows:

  1. Export your Google Tasks data as a JSON file from Google Takeout.
  2. Convert the JSON file to Todoist-compatible CSV using google-tasks-to-todoist.
  3. Import the generated CSV files into Todoist.

This project uses uv for project and dependency management. If you don't have uv installed, you can find installation instructions here. Once you have uv installed, you can run the converter from your terminal using uvx:

uvx google-tasks-to-todoist [INPUT_FILE] [OPTIONS]

The script will generate a separate CSV file for each of your task lists. These files will be saved in the same directory as your input file, ready for import into Todoist.

  • [INPUT_FILE]: The path to your Tasks.json file from Google Takeout.
  • --starred-priority PRIORITY: Set the priority for starred tasks. The default is 2. (1: highest priority, 4: lowest priority)
  • --non-starred-priority PRIORITY: Set the priority for non-starred tasks. The default is 4. (1: highest priority, 4: lowest priority)
  • --include-completed: Include completed tasks in the export. By default, they are not included.

How to Get Your Google Tasks Data

You can export your Google Tasks data as a JSON file from Google Takeout. Select only "Tasks" to get a Tasks.json file.

Example

Let's say you have a Tasks.json file, and you want to assign the medium priority to your starred tasks and a no priority to others.

uvx google-tasks-to-todoist Tasks.json

This command will:

  • Read tasks from Tasks.json.
  • Assign medium priority (2) to all starred tasks (the default).
  • Assign no priority (4) to all non-starred tasks (the default).
  • Exclude completed tasks (since --include-completed is not present).
  • Generate CSV files for each task list, which you can then import into Todoist.

Limitations on Recurring Tasks

Please note that Google's Takeout export for Tasks does not include information about recurring tasks. As a result, all tasks converted by this utility will be non-recurring.

Development

If you prefer to clone the repository and manage dependencies locally:

  1. Clone the repository:

    git clone https://github.com/exploids/google-tasks-to-todoist.git
    cd google-tasks-to-todoist
    
  2. Install dependencies:

    uv sync
    
  3. Run the converter:

    uv run google-tasks-to-todoist [INPUT_FILE] [OPTIONS]
    

To run the test suite, use the following command:

uv run pytest

Disclaimer

This tool is an independent project and is not affiliated with, endorsed by, or in any way officially connected with Google or Doist.

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

google_tasks_to_todoist-0.1.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

google_tasks_to_todoist-0.1.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file google_tasks_to_todoist-0.1.1.tar.gz.

File metadata

File hashes

Hashes for google_tasks_to_todoist-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7d08f0737b017fb18ec40fdcb3d93d6ca1d41ab8df84e59db7f2da90b7e085f1
MD5 00833ccca5fdf9ab363b2746ae34ab04
BLAKE2b-256 c7f12839254d63232f8ecf53b5a676e983264171dd02c87ee33982c1d6d9d668

See more details on using hashes here.

File details

Details for the file google_tasks_to_todoist-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for google_tasks_to_todoist-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f2bc7eb909a8819d29c6743b777c22c2b7d4e6138c48522d225b4e839f69e77
MD5 6a322fd8c825454855ab0f2e400910a7
BLAKE2b-256 81fb5e7a43fb157eb9e92625b9a3cb005735ef6e28d5f7d4043334c3cb6a1191

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