Skip to main content

Prepares Google Takeout exports for ingestion into other tools and fixes small issues

Project description

Takeout Prepper

Prepares Google Takeout exports for ingestion into other tools. These commands come without any form of warranty. Your mileage may vary depending on the source data and the tool that will be ingesting the cleaned data.

For Google Calendar exports

To prep a Google Calendar export, run prep-google-calendar input.ics output.ics.

Note: it appears that exports generated by Google Takeout are sometimes more complete than the ones exported directly from Google Calendar. Google Takeout exports may include items you recently deleted and mark them as cancelled events.

The following modifications are applied:

  • Events with a creation date of 00010101T000000Z cannot be parsed by some tools. Therefore they are updated to 19700101T000000Z.
  • Events with a reminder that doesn't contain an action (ACTION:NONE) may not trigger a reminder in some tools. Therefore the action is updated to ACTION:DISPLAY.
  • For an unknown reason, events may be exported with a reminder time of the oddly specific 19760401T005545Z. The script's working assumption is that no one will travel back to 1976 to be reminded of future events, so those triggers are changed to 10 minutes before the start of the event.

For Google Tasks exports

To prep a Google Tasks export, run prep-google-tasks --tz=Europe/Madrid input.json output.ics.

Tasks are output in JSON format. Most tools can only ingest in ICS format, a file format that supports to do items. You will need to provide the timezone you use your task list in to get the timestamps to show correctly in some tools.

At least at the time of writing, Google Takeout did not expose information about task recurrence. You will need to manually add this information again. A recurring task will show up as a regular task only once, unless a recurrence of it appears in your completed tasks. In that case it will not show up at all. To avoid losing recurring tasks completely, you may want to delete your completed tasks before making an export.

For Google Photos exports

Ensure exiftool is installed on your system first. To prep a Google Photos export, run prep-google-photos inputfolder outputfolder. The following will happen:

  • Date taken and location coordinate metadata will be read from the accompanying metadata
  • The metadata will be added to your images and videos using exiftool
  • JPG and QuickTime videos are supported
  • PNGs will be converted to JPGs first
  • Mimetype sniffing is used to correct file extension inconsistencies
  • Timezone information will be included in metadata that is written to your files. It will be inferred from your photos where possible, with a fallback on your system's timezone if not available. This should only affect the representation of the timestamp. If no other information is available, a photo taken at 12am UTC for example should be stored as 2am Eastern European Time for a photo taken outside daylight savings time if you live in Greece.
  • Some file corruption tolerance exists
  • Certain types of files may be passed on as-is if no explicit support for them is available (looking at you, 3gp)
  • Video footage taken while making photos to use the 'best shot' feature might get excluded from the output folder

If you want more information about what's happening during the prep process, enable --verbose.

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

takeout_prepper-0.0.3.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

takeout_prepper-0.0.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file takeout_prepper-0.0.3.tar.gz.

File metadata

  • Download URL: takeout_prepper-0.0.3.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.2 Linux/6.13.5-200.fc41.x86_64

File hashes

Hashes for takeout_prepper-0.0.3.tar.gz
Algorithm Hash digest
SHA256 b141cf9518b5d3afaa3f1fd9ebf9ff06dcb656db6ae3c024482811f787804c49
MD5 24358bf41a343193e8bc9bf9469ba400
BLAKE2b-256 ff5b35f9f8b91c8bc8adbbf8436916ee1a48e275c1756c55e3838db7af220331

See more details on using hashes here.

File details

Details for the file takeout_prepper-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: takeout_prepper-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.2 Linux/6.13.5-200.fc41.x86_64

File hashes

Hashes for takeout_prepper-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 55c83d0106fd7592b52e5cfb821df139d2fe9741217b2d5ac1d5aefdd3bbfdf4
MD5 fe3c24f7cd00fa384f2e4823cd2c8865
BLAKE2b-256 6b8c0573cd98a7b72d300a207b43d60819934e7758b0c43f0043cbac729125dc

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