A Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics)
Project description
TimeTree Exporter
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
-eoption.timetree-exporter -e email@example.com
-
You can specify the calendar code using the
-cor--calendar_codeoption.timetree-exporter -c calendar_code
Note: Find the calendar code in the URL of the calendar page or when running the script without the
-coption. -
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
-
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Clone the repository and install dependencies:
git clone https://github.com/eoleedi/TimeTree-Exporter.git cd TimeTree-Exporter uv sync
-
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!
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54debae7d9c5e05c7fbd9cdb2cf5f47d4294d1e012b4f97e13056348ae52c5e8
|
|
| MD5 |
97803346b5456de69b16f83abbc28e7f
|
|
| BLAKE2b-256 |
288ba19083ba7dcf1fdbee7d60bd80556e3696d1e2e88e6db5e4fe3829f42d57
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d675c457089c298c1609fcdf4d31bd8276da0235f892e5f6229dad5944aa4a64
|
|
| MD5 |
a30b38d3a59c67cb6ddc89ccd8eae6cb
|
|
| BLAKE2b-256 |
8710d7903e014f5f1e3e18a77993256e8ab1675d2e931f71f12e13a91efd7dca
|