Skip to main content

A Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics)

Project description

TimeTree Exporter

PyPI Python 3.x License Downloads Buy Me A Coffee

A Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics)
This script works by scraping the TimeTree web app and converting the data to iCal format. (The .ics file can then be imported into other calendar apps such as Google Calendar, Apple Calendar, Outlook Calendar, etc.)

Installation

If you are on mac, you can install it using brew:

brew install eoleedi/tap/timetree-exporter

You can also install it using pip or pipx:

pip install timetree-exporter

Timetree Exporter requires Python 3.9 or later.

Usage

timetree-exporter -o path/to/output.ics

This will prompt you to enter your TimeTree email and password and select the calendar you want to export.

Then, you can import the ics file to your calendar app.

💡 Note: You are advised to import the ICS file into a separate calendar (e.g., Google Calendar) so that if anything goes wrong, you can simply delete the calendar and reimport it.

Advanced Usage

  • You can specify your email address using the -e option.

    timetree-exporter -e email@example.com
    
  • You can specify the calendar code using the -c or --calendar_code option.

    timetree-exporter -c calendar_code
    

    Note: Find the calendar code in the URL of the calendar page or when running the script without the -c option.

  • You can pass your email address and password with environment variables. (usually for automation purposes)

    export TIMETREE_EMAIL=email@example.com
    export TIMETREE_PASSWORD=password
    

Limitations

Alarms(Alerts) can't be imported to Google Calendar through iCal format due to Google's bug.

Development

This project uses uv for dependency management.

Setup

  1. Install uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Clone the repository and install dependencies:

    git clone https://github.com/eoleedi/TimeTree-Exporter.git
    cd TimeTree-Exporter
    uv sync
    
  3. Install pre-commit hooks:

    uv run pre-commit install
    

Running Tests

uv run pytest tests

Running Linter

uv run pylint timetree_exporter

Support

If you think it's helpful, kindly support me!

"Buy Me A Coffee"

Roadmap of the properties mapping to iCal

  • ID
  • Primary ID
  • Calendar ID
  • UUID
  • Category
  • Type
  • Author ID
  • Author Type
  • Title
  • All Day
  • Start At
  • Start Timezone
  • End At
  • End Timezone
  • Label ID
  • Location
  • Location Latitude
  • Location Longitude
  • URL
  • Note
  • Lunar
  • Attendees
  • Recurrences
  • Recurring UUID
  • Alerts
  • Parent ID
  • Link Object ID
  • Link Object ID String
  • Row Order (Ignore since it's a property for timetree notes)
  • Attachment
  • Like Count
  • Files
  • Deactivated At
  • Pinned At
  • Updated At
  • Created At

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

timetree_exporter-0.6.3.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

timetree_exporter-0.6.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file timetree_exporter-0.6.3.tar.gz.

File metadata

  • Download URL: timetree_exporter-0.6.3.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for timetree_exporter-0.6.3.tar.gz
Algorithm Hash digest
SHA256 54debae7d9c5e05c7fbd9cdb2cf5f47d4294d1e012b4f97e13056348ae52c5e8
MD5 97803346b5456de69b16f83abbc28e7f
BLAKE2b-256 288ba19083ba7dcf1fdbee7d60bd80556e3696d1e2e88e6db5e4fe3829f42d57

See more details on using hashes here.

File details

Details for the file timetree_exporter-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: timetree_exporter-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for timetree_exporter-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d675c457089c298c1609fcdf4d31bd8276da0235f892e5f6229dad5944aa4a64
MD5 a30b38d3a59c67cb6ddc89ccd8eae6cb
BLAKE2b-256 8710d7903e014f5f1e3e18a77993256e8ab1675d2e931f71f12e13a91efd7dca

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