Утилита для загрузки/синхронизации в календарь Google событий из файла в формате iCalendar
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
dependabot[bot] 55ae6e70cc Bump google-api-python-client from 2.86.0 to 2.88.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.86.0 to 2.88.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.86.0...v2.88.0)

- dependency-name: google-api-python-client
  dependency-type: direct:production
  update-type: version-update:semver-minor

Signed-off-by: dependabot[bot] <support@github.com>
6 days ago
.github add python 3.11 3 months ago
sync_ics2gcal explicitly exports 1 year ago
tests fix type errors in tests 1 year ago
.gitignore ignore tmp_bin/ 1 year ago
LICENSE Initial commit 5 years ago
README.md Update README.md 1 year ago
how-it-works.png + [how it works] in README 5 years ago
poetry.lock Bump google-api-python-client from 2.86.0 to 2.88.0 6 days ago
pyproject.toml Bump google-api-python-client from 2.86.0 to 2.88.0 6 days ago
sample-config.yml Initial commit 5 years ago



PyPI version Python package status

Python scripts for sync .ics file with Google calendar


To install from PyPI with pip, run:

pip install sync-ics2gcal

Or download source code and install using poetry:

# install poetry
pip install poetry
# install project and deps to virtualenv
poetry install
# run
poetry run sync-ics2gcal


Create application in Google API Console

  1. Create a new project: console.developers.google.com/project
  2. Choose the new project from the top right project dropdown (only if another project is selected)
  3. In the project Dashboard, choose "Library"
  4. Find and Enable "Google Calendar API"
  5. In the project Dashboard, choose "Credentials"
  6. In the "Service Accounts" group, click to "Manage service accounts"
  7. Click "Create service account"
  8. Choose service account name and ID
  9. Go back to "Service Accounts" group in "Credentials"
  10. Edit service account and click "Create key", choose JSON and download key file.

Create working directory

For example: /home/user/myfolder.

  1. Save service account key in file service-account.json.
  2. Download sample config and save to file config.yml. For example:
wget https://raw.githubusercontent.com/b4tman/sync_ics2gcal/develop/sample-config.yml -O config.yml
  1. (Optional) Place source .ics file, my-calendar.ics for example.

Configuration parameters

  • start_from - start date:
    • full format datetime, 2018-04-03T13:23:25.000001Z for example
    • or just now
  • (Optional) service_account - service account filename, remove it from config to use default credentials
  • (Optional) logging - config to setup logging
  • google_id - target google calendar id, my-calendar@group.calendar.google.com for example
  • source - source .ics filename, my-calendar.ics for example


Manage calendars

manage-ics2gcal GROUP | COMMAND


  • property - get/set properties (see CalendarList resource), subcommands:
    • get - get calendar property
    • set - set calendar property


  • list - list calendars
  • create - create calendar
  • add_owner - add owner to calendar
  • remove - remove calendar
  • rename - rename calendar

Use -h for more info.

Sync calendar

just type:


How it works

How it works