1
0
mirror of https://github.com/b4tman/sync_ics2gcal synced 2025-08-07 03:53:33 +00:00

362 Commits

Author SHA1 Message Date
dependabot[bot]
51ccf2fc88 Bump the pypi-updates group with 7 updates
Bumps the pypi-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.34.0` | `2.35.0` |
| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.144.0` | `2.147.0` |
| [icalendar](https://github.com/collective/icalendar) | `5.0.13` | `6.0.0` |
| [pytz](https://github.com/stub42/pytz) | `2024.1` | `2024.2` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.3.2` | `8.3.3` |
| [types-pytz](https://github.com/python/typeshed) | `2024.1.0.20240417` | `2024.2.0.20240913` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20240808` | `6.0.12.20240917` |


Updates `google-auth` from 2.34.0 to 2.35.0
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.34.0...v2.35.0)

Updates `google-api-python-client` from 2.144.0 to 2.147.0
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.144.0...v2.147.0)

Updates `icalendar` from 5.0.13 to 6.0.0
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.13...v6.0.0)

Updates `pytz` from 2024.1 to 2024.2
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2024.1...release_2024.2)

Updates `pytest` from 8.3.2 to 8.3.3
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

Updates `types-pytz` from 2024.1.0.20240417 to 2024.2.0.20240913
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-pyyaml` from 6.0.12.20240808 to 6.0.12.20240917
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pypi-updates
- dependency-name: google-api-python-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pypi-updates
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: pypi-updates
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pypi-updates
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pypi-updates
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pypi-updates
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pypi-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 12:26:25 +03:00
eaaa3c9191 ci: fix upload mypy report 2024-10-01 09:17:26 +03:00
526b75a895 fix pythonpackage.yml
https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/
2024-10-01 09:09:20 +03:00
dependabot[bot]
290b86b765 Bump the pypi-updates group with 2 updates
Bumps the pypi-updates group with 2 updates: [google-api-python-client](https://github.com/googleapis/google-api-python-client) and [types-python-dateutil](https://github.com/python/typeshed).


Updates `google-api-python-client` from 2.143.0 to 2.144.0
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.143.0...v2.144.0)

Updates `types-python-dateutil` from 2.9.0.20240821 to 2.9.0.20240906
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: google-api-python-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pypi-updates
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pypi-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 14:38:23 +03:00
4b290da71f update dependabot config 2024-09-09 14:34:24 +03:00
f3b8cd958e v0.1.5 2024-09-06 13:15:19 +03:00
68903924cf fix pypi push on release 2024-09-06 13:11:00 +03:00
dependabot[bot]
b6fab04662 Bump google-auth from 2.32.0 to 2.34.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.32.0 to 2.34.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.32.0...v2.34.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:43:25 +03:00
dependabot[bot]
6094d61d64 Bump google-api-python-client from 2.139.0 to 2.143.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.139.0 to 2.143.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.139.0...v2.143.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:40:16 +03:00
dependabot[bot]
93dfcadc22 Bump lxml from 5.2.2 to 5.3.0
Bumps [lxml](https://github.com/lxml/lxml) from 5.2.2 to 5.3.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.2.2...lxml-5.3.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:37:32 +03:00
dependabot[bot]
ae6d702f87 Bump mypy from 1.11.1 to 1.11.2
Bumps [mypy](https://github.com/python/mypy) from 1.11.1 to 1.11.2.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11.1...v1.11.2)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:37:14 +03:00
dependabot[bot]
e02070c643 Bump pyyaml from 6.0.1 to 6.0.2
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/main/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0.1...6.0.2)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:36:39 +03:00
dependabot[bot]
3219d01280 Bump flake8 from 7.1.0 to 7.1.1
Bumps [flake8](https://github.com/pycqa/flake8) from 7.1.0 to 7.1.1.
- [Commits](https://github.com/pycqa/flake8/compare/7.1.0...7.1.1)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:36:22 +03:00
dependabot[bot]
3fcc5eb2b7 Bump types-python-dateutil from 2.9.0.20240316 to 2.9.0.20240821
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.9.0.20240316 to 2.9.0.20240821.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:13:27 +03:00
dependabot[bot]
4e24bfed47 Bump types-pyyaml from 6.0.12.20240724 to 6.0.12.20240808
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.20240724 to 6.0.12.20240808.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:10:32 +03:00
dependabot[bot]
1e087a7375 Bump sphinx-design from 0.6.0 to 0.6.1
Bumps [sphinx-design](https://github.com/executablebooks/sphinx-design) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/executablebooks/sphinx-design/releases)
- [Changelog](https://github.com/executablebooks/sphinx-design/blob/main/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/sphinx-design/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: sphinx-design
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:06:55 +03:00
dependabot[bot]
03cb931ff2 Bump black from 24.4.2 to 24.8.0
Bumps [black](https://github.com/psf/black) from 24.4.2 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.4.2...24.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 12:00:35 +03:00
dependabot[bot]
91bba6a568 Bump google-api-python-client from 2.135.0 to 2.139.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.135.0 to 2.139.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.135.0...v2.139.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 12:37:05 +03:00
dependabot[bot]
993f2cac70 Bump google-auth from 2.31.0 to 2.32.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.31.0...v2.32.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 12:35:02 +03:00
dependabot[bot]
398d95f962 Bump sphinx from 7.3.7 to 7.4.7
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.3.7 to 7.4.7.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/v7.4.7/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.3.7...v7.4.7)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 12:32:51 +03:00
dependabot[bot]
1ca4422379 Bump pytest from 8.2.2 to 8.3.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.2 to 8.3.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 11:39:05 +03:00
dependabot[bot]
820ab55de1 Bump mypy from 1.10.1 to 1.11.1
Bumps [mypy](https://github.com/python/mypy) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.1...v1.11.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 11:33:38 +03:00
dependabot[bot]
f3d37dca9e Bump types-pyyaml from 6.0.12.20240311 to 6.0.12.20240724
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.20240311 to 6.0.12.20240724.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 09:09:24 +03:00
dependabot[bot]
1d17e50d62 Bump zipp from 3.18.1 to 3.19.1
Bumps [zipp](https://github.com/jaraco/zipp) from 3.18.1 to 3.19.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.18.1...v3.19.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 22:19:31 +03:00
dependabot[bot]
ab10c9eee0 Bump certifi from 2024.2.2 to 2024.7.4
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.2.2 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.02.02...2024.07.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 10:34:37 +03:00
dependabot[bot]
fdb7a7f91f Bump icalendar from 5.0.12 to 5.0.13
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.12 to 5.0.13.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.12...v5.0.13)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 14:23:12 +03:00
dependabot[bot]
96801615f0 Bump google-auth from 2.29.0 to 2.31.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.29.0 to 2.31.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.29.0...v2.31.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 14:20:11 +03:00
dependabot[bot]
9869e966f7 Bump flake8 from 7.0.0 to 7.1.0
Bumps [flake8](https://github.com/pycqa/flake8) from 7.0.0 to 7.1.0.
- [Commits](https://github.com/pycqa/flake8/compare/7.0.0...7.1.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 14:16:12 +03:00
dependabot[bot]
8b09e37ebb Bump mypy from 1.10.0 to 1.10.1
Bumps [mypy](https://github.com/python/mypy) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 08:39:21 +03:00
dependabot[bot]
e728d871ff Bump pytest from 8.2.1 to 8.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.1 to 8.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.1...8.2.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 21:55:33 +03:00
dependabot[bot]
3a95534d71 Bump google-api-python-client from 2.131.0 to 2.135.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.131.0 to 2.135.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.131.0...v2.135.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 12:11:47 +03:00
dependabot[bot]
a68ebfd75b Bump urllib3 from 2.2.1 to 2.2.2
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 12:30:28 +03:00
dependabot[bot]
0120b313ec Bump google-api-python-client from 2.127.0 to 2.131.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.127.0 to 2.131.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.127.0...v2.131.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-02 15:16:14 +03:00
dependabot[bot]
e1828ce304 Bump pytest from 8.2.0 to 8.2.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.0 to 8.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.0...8.2.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-02 15:13:20 +03:00
dependabot[bot]
20cd547ef3 Bump lxml from 5.2.1 to 5.2.2
Bumps [lxml](https://github.com/lxml/lxml) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.2.1...lxml-5.2.2)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-02 13:08:17 +03:00
dependabot[bot]
c04a57719e Bump sphinx-design from 0.5.0 to 0.6.0
Bumps [sphinx-design](https://github.com/executablebooks/sphinx-design) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/executablebooks/sphinx-design/releases)
- [Changelog](https://github.com/executablebooks/sphinx-design/blob/main/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/sphinx-design/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: sphinx-design
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-01 12:40:04 +03:00
dependabot[bot]
d7b2559d2c ---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-21 10:32:02 +03:00
dependabot[bot]
a0cef6f010 Bump jinja2 from 3.1.3 to 3.1.4
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 09:36:39 +03:00
dependabot[bot]
0ae15d1cd3 Bump google-api-python-client from 2.124.0 to 2.127.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.124.0 to 2.127.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.124.0...v2.127.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:52:40 +03:00
dependabot[bot]
e63bd7cca8 Bump pytest from 8.1.1 to 8.2.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.1.1 to 8.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.1.1...8.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:49:55 +03:00
dependabot[bot]
601ef8f0d7 Bump mypy from 1.9.0 to 1.10.0
Bumps [mypy](https://github.com/python/mypy) from 1.9.0 to 1.10.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:45:05 +03:00
dependabot[bot]
e4725ffbf4 Bump sphinx from 7.2.6 to 7.3.7
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.2.6 to 7.3.7.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.2.6...v7.3.7)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:38:52 +03:00
dependabot[bot]
1fc572e427 Bump lxml from 5.2.0 to 5.2.1
Bumps [lxml](https://github.com/lxml/lxml) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.2.0...lxml-5.2.1)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:35:22 +03:00
dependabot[bot]
b6f1b75c6b Bump types-pytz from 2024.1.0.20240203 to 2024.1.0.20240417
Bumps [types-pytz](https://github.com/python/typeshed) from 2024.1.0.20240203 to 2024.1.0.20240417.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:31:21 +03:00
dependabot[bot]
566ccedcc1 Bump myst-parser from 2.0.0 to 3.0.1
Bumps [myst-parser](https://github.com/executablebooks/MyST-Parser) from 2.0.0 to 3.0.1.
- [Release notes](https://github.com/executablebooks/MyST-Parser/releases)
- [Changelog](https://github.com/executablebooks/MyST-Parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/MyST-Parser/compare/v2.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: myst-parser
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:26:53 +03:00
dependabot[bot]
ecbb3ab459 Bump black from 24.3.0 to 24.4.2
Bumps [black](https://github.com/psf/black) from 24.3.0 to 24.4.2.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.3.0...24.4.2)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 13:22:36 +03:00
dependabot[bot]
fa228b5f70 Bump idna from 3.6 to 3.7
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 09:01:22 +03:00
dependabot[bot]
7ac51ab562 Bump icalendar from 5.0.11 to 5.0.12
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.11...v5.0.12)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 19:39:24 +03:00
dependabot[bot]
091ff08579 Bump google-auth from 2.28.1 to 2.29.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.28.1 to 2.29.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.28.1...v2.29.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 11:38:19 +03:00
dependabot[bot]
b7d9df76d5 Bump google-api-python-client from 2.120.0 to 2.124.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.120.0 to 2.124.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.120.0...v2.124.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 11:22:14 +03:00
dependabot[bot]
a14e56cfcd Bump lxml from 5.1.0 to 5.2.0
Bumps [lxml](https://github.com/lxml/lxml) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.1.0...lxml-5.2.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 10:41:22 +03:00
dependabot[bot]
11f1777432 Bump sphinx from 7.1.2 to 7.2.6
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.1.2 to 7.2.6.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.1.2...v7.2.6)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 10:30:47 +03:00
dependabot[bot]
c874ca2199 Bump flake8 from 5.0.4 to 7.0.0
Bumps [flake8](https://github.com/pycqa/flake8) from 5.0.4 to 7.0.0.
- [Commits](https://github.com/pycqa/flake8/compare/5.0.4...7.0.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 09:34:34 +03:00
dependabot[bot]
fbd83ff497 Bump fire from 0.5.0 to 0.6.0
Bumps [fire](https://github.com/google/python-fire) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/google/python-fire/releases)
- [Commits](https://github.com/google/python-fire/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: fire
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 09:05:59 +03:00
f945cdc915 python: -3.8, +3.12 2024-03-20 22:53:31 +03:00
217f284102 fix readthedocs 2024-03-20 22:48:53 +03:00
dependabot[bot]
2d90ef289a Bump black from 24.2.0 to 24.3.0
Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-20 21:15:45 +03:00
dependabot[bot]
95208568cb Bump google-api-python-client from 2.116.0 to 2.120.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.116.0 to 2.120.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.116.0...v2.120.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:45:32 +03:00
dependabot[bot]
bfa8079560 Bump google-auth from 2.27.0 to 2.28.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.27.0 to 2.28.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.27.0...v2.28.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:40:24 +03:00
dependabot[bot]
914b69d81a Bump pytest from 8.0.0 to 8.0.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.0 to 8.0.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:10:09 +03:00
dependabot[bot]
ff9d82a5b1 Bump black from 24.1.1 to 24.2.0
Bumps [black](https://github.com/psf/black) from 24.1.1 to 24.2.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.1.1...24.2.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:09:50 +03:00
dependabot[bot]
228591580f Bump pytz from 2023.4 to 2024.1
Bumps [pytz](https://github.com/stub42/pytz) from 2023.4 to 2024.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2023.4...release_2024.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:09:29 +03:00
dependabot[bot]
4135802850 Bump types-pytz from 2023.3.1.1 to 2024.1.0.20240203
Bumps [types-pytz](https://github.com/python/typeshed) from 2023.3.1.1 to 2024.1.0.20240203.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:40:33 +03:00
dependabot[bot]
d6cc89456a Bump types-python-dateutil from 2.8.19.14 to 2.8.19.20240106
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.14 to 2.8.19.20240106.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:33:58 +03:00
dependabot[bot]
6f93231a79 Bump google-api-python-client from 2.111.0 to 2.116.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.111.0 to 2.116.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.111.0...v2.116.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:29:07 +03:00
dependabot[bot]
314ed34dc7 Bump google-auth from 2.25.2 to 2.27.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.25.2 to 2.27.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.25.2...v2.27.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:23:09 +03:00
dependabot[bot]
47015c3c5e Bump pytest from 7.4.4 to 8.0.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.4 to 8.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.4...8.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:20:43 +03:00
dependabot[bot]
60543837f7 Bump lxml from 5.0.0 to 5.1.0
Bumps [lxml](https://github.com/lxml/lxml) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.0.0...lxml-5.1.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:13:53 +03:00
dependabot[bot]
391de7570b Bump black from 23.12.1 to 24.1.1
Bumps [black](https://github.com/psf/black) from 23.12.1 to 24.1.1.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.12.1...24.1.1)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:11:19 +03:00
dependabot[bot]
2d62495068 Bump pytz from 2023.3.post1 to 2023.4
Bumps [pytz](https://github.com/stub42/pytz) from 2023.3.post1 to 2023.4.
- [Commits](https://github.com/stub42/pytz/compare/release_2023.3.post1...release_2023.4)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:02:47 +03:00
dependabot[bot]
d0944b4a56 Bump jinja2 from 3.1.2 to 3.1.3
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.3)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-12 08:48:53 +03:00
dependabot[bot]
5bb33d1cb7 Bump google-api-python-client from 2.109.0 to 2.111.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.109.0 to 2.111.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.109.0...v2.111.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 23:32:28 +03:00
dependabot[bot]
e7cbd72569 Bump google-auth from 2.24.0 to 2.25.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.24.0 to 2.25.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.24.0...v2.25.2)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 23:27:03 +03:00
dependabot[bot]
6b7f4ce5ff Bump lxml from 4.9.3 to 5.0.0
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.3 to 5.0.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.3...lxml-5.0.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 22:45:47 +03:00
dependabot[bot]
99b39b2abf Bump pytest from 7.4.3 to 7.4.4
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 22:42:49 +03:00
dependabot[bot]
5e6e173525 Bump mypy from 1.7.1 to 1.8.0
Bumps [mypy](https://github.com/python/mypy) from 1.7.1 to 1.8.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.7.1...v1.8.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 22:41:43 +03:00
dependabot[bot]
5fd1c75a25 Bump black from 23.11.0 to 23.12.1
Bumps [black](https://github.com/psf/black) from 23.11.0 to 23.12.1.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.11.0...23.12.1)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 22:41:03 +03:00
dependabot[bot]
4ba6a3cbd5 Bump icalendar from 5.0.10 to 5.0.11
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.10 to 5.0.11.
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.10...v5.0.11)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 12:50:42 +03:00
dependabot[bot]
20db097fed Bump google-auth from 2.23.4 to 2.24.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.23.4 to 2.24.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.23.4...v2.24.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 12:46:21 +03:00
dependabot[bot]
f0363d7b0b Bump google-api-python-client from 2.106.0 to 2.109.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.106.0 to 2.109.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.106.0...v2.109.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 12:20:09 +03:00
dependabot[bot]
6b7f1df64b Bump black from 23.10.1 to 23.11.0
Bumps [black](https://github.com/psf/black) from 23.10.1 to 23.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.10.1...23.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 12:14:21 +03:00
dependabot[bot]
cf85c3c3f9 Bump mypy from 1.6.1 to 1.7.1
Bumps [mypy](https://github.com/python/mypy) from 1.6.1 to 1.7.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.6.1...v1.7.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 12:13:13 +03:00
dependabot[bot]
bc5082e10e Bump sphinx-rtd-theme from 1.3.0 to 2.0.0
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.3.0 to 2.0.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.3.0...2.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 11:34:07 +03:00
dependabot[bot]
dcf5fc428a Bump google-api-python-client from 2.101.0 to 2.106.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.101.0 to 2.106.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.101.0...v2.106.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 11:48:31 +03:00
dependabot[bot]
a8f887de52 Bump google-auth from 2.23.2 to 2.23.4
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.23.2 to 2.23.4.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.23.2...v2.23.4)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 10:24:09 +03:00
dependabot[bot]
49420f417f Bump black from 23.9.1 to 23.10.1
Bumps [black](https://github.com/psf/black) from 23.9.1 to 23.10.1.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.9.1...23.10.1)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 10:15:11 +03:00
dependabot[bot]
21fc0b9db4 Bump pytest from 7.4.2 to 7.4.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 08:45:51 +03:00
dependabot[bot]
79191247b4 Bump mypy from 1.5.1 to 1.6.1
Bumps [mypy](https://github.com/python/mypy) from 1.5.1 to 1.6.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.5.1...v1.6.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 08:36:55 +03:00
dependabot[bot]
fe70c3acd6 Bump urllib3 from 1.26.17 to 1.26.18
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.17 to 1.26.18.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.17...1.26.18)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 09:59:34 +03:00
dependabot[bot]
b3df47b8be Bump urllib3 from 1.26.16 to 1.26.17
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.17.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.16...1.26.17)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 08:32:18 +03:00
dependabot[bot]
3c98345014 Bump google-api-python-client from 2.97.0 to 2.101.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.97.0 to 2.101.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.97.0...v2.101.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 15:15:35 +03:00
dependabot[bot]
ec45edb8f2 Bump google-auth from 2.22.0 to 2.23.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.22.0 to 2.23.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.22.0...v2.23.2)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 14:15:13 +03:00
dependabot[bot]
122b311b8a Bump icalendar from 5.0.7 to 5.0.10
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.7 to 5.0.10.
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.7...v5.0.10)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:19:51 +03:00
dependabot[bot]
f36a5ad064 Bump pytest from 7.4.0 to 7.4.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.0 to 7.4.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:17:32 +03:00
dependabot[bot]
e11139d76f Bump types-pyyaml from 6.0.12.11 to 6.0.12.12
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.11 to 6.0.12.12.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:15:06 +03:00
dependabot[bot]
42ad4da28d Bump black from 23.7.0 to 23.9.1
Bumps [black](https://github.com/psf/black) from 23.7.0 to 23.9.1.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.7.0...23.9.1)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:13:38 +03:00
dependabot[bot]
550a73eb29 Bump types-pytz from 2023.3.0.1 to 2023.3.1.1
Bumps [types-pytz](https://github.com/python/typeshed) from 2023.3.0.1 to 2023.3.1.1.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:09:58 +03:00
dependabot[bot]
b1332b8d64 Bump pytz from 2023.3 to 2023.3.post1
Bumps [pytz](https://github.com/stub42/pytz) from 2023.3 to 2023.3.post1.
- [Commits](https://github.com/stub42/pytz/compare/release_2023.3...release_2023.3.post1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 13:07:43 +03:00
dependabot[bot]
8a0904f68b Bump google-api-python-client from 2.95.0 to 2.97.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.95.0 to 2.97.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.95.0...v2.97.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 15:02:43 +03:00
dependabot[bot]
ca6d0bf525 Bump sphinx-rtd-theme from 1.3.0rc1 to 1.3.0
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.3.0rc1 to 1.3.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.3.0rc1...1.3.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 08:49:44 +03:00
d2db9f9472 add py.typed 2023-08-20 23:29:38 +03:00
Dmitry Belyaev
657b0c0621 Merge pull request #204 from b4tman/docs
add docs
2023-08-20 23:15:24 +03:00
545cde2ccc add docs 2023-08-20 23:08:56 +03:00
b2c4136a92 upd poetry.lock
to fix https://github.com/b4tman/sync_ics2gcal/security/dependabot/6
2023-08-16 09:49:39 +03:00
dependabot[bot]
a65b544c8b Bump google-api-python-client from 2.91.0 to 2.95.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.91.0 to 2.95.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.91.0...v2.95.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 15:04:11 +03:00
dependabot[bot]
52867a2f8e Bump google-auth from 2.21.0 to 2.22.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.21.0 to 2.22.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.21.0...v2.22.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 14:33:02 +03:00
dependabot[bot]
16e78dadbd Bump lxml from 4.9.2 to 4.9.3
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.2...lxml-4.9.3)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 13:33:06 +03:00
dependabot[bot]
ecaf9c4a39 Bump black from 23.3.0 to 23.7.0
Bumps [black](https://github.com/psf/black) from 23.3.0 to 23.7.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.3.0...23.7.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 09:57:23 +03:00
dependabot[bot]
17e28f5eab Bump types-pyyaml from 6.0.12.10 to 6.0.12.11
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.10 to 6.0.12.11.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 09:41:22 +03:00
dependabot[bot]
1d91cd37a2 Bump types-python-dateutil from 2.8.19.13 to 2.8.19.14
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.13 to 2.8.19.14.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 09:21:49 +03:00
dependabot[bot]
f23adf3730 Bump pyyaml from 6.0 to 6.0.1
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0 to 6.0.1.
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.1/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0...6.0.1)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 09:00:20 +03:00
dependabot[bot]
b5e34a7175 Bump google-api-python-client from 2.88.0 to 2.91.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.88.0 to 2.91.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.88.0...v2.91.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 12:54:13 +03:00
dependabot[bot]
3709159f73 Bump google-auth from 2.19.0 to 2.21.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.19.0 to 2.21.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.19.0...v2.21.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 12:13:39 +03:00
dependabot[bot]
6cf5b936b1 Bump pytest from 7.3.1 to 7.4.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.1 to 7.4.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.1...7.4.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 11:45:39 +03:00
dependabot[bot]
830c6d6493 Bump mypy from 1.3.0 to 1.4.1
Bumps [mypy](https://github.com/python/mypy) from 1.3.0 to 1.4.1.
- [Commits](https://github.com/python/mypy/compare/v1.3.0...v1.4.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 11:37:07 +03:00
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)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 13:23:54 +03:00
dependabot[bot]
cc107eb295 Bump google-auth from 2.17.3 to 2.19.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.17.3 to 2.19.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.17.3...v2.19.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 13:08:02 +03:00
dependabot[bot]
14a3492ed5 Bump icalendar from 5.0.5 to 5.0.7
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.5 to 5.0.7.
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.5...v5.0.7)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 11:45:30 +03:00
dependabot[bot]
12bb35ca33 Bump mypy from 1.2.0 to 1.3.0
Bumps [mypy](https://github.com/python/mypy) from 1.2.0 to 1.3.0.
- [Commits](https://github.com/python/mypy/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 11:28:50 +03:00
dependabot[bot]
dee0aad617 Bump types-python-dateutil from 2.8.19.12 to 2.8.19.13
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.12 to 2.8.19.13.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 09:16:17 +03:00
dependabot[bot]
ac318237e0 Bump types-pyyaml from 6.0.12.9 to 6.0.12.10
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.9 to 6.0.12.10.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 09:04:47 +03:00
dependabot[bot]
c9f51c98c7 Bump requests from 2.27.1 to 2.31.0
Bumps [requests](https://github.com/psf/requests) from 2.27.1 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.27.1...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 08:33:37 +03:00
dependabot[bot]
ab441a18e1 Bump google-api-python-client from 2.83.0 to 2.86.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.83.0 to 2.86.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.83.0...v2.86.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 11:28:25 +03:00
dependabot[bot]
aad1b7d266 Bump google-auth from 2.17.1 to 2.17.3
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.17.1 to 2.17.3.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.17.1...v2.17.3)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 10:48:00 +03:00
dependabot[bot]
1c0074a308 Bump icalendar from 5.0.4 to 5.0.5
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.4...v5.0.5)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 10:17:21 +03:00
dependabot[bot]
2e684ca132 Bump pytest from 7.2.2 to 7.3.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.2 to 7.3.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.2...7.3.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 10:11:26 +03:00
dependabot[bot]
5a64414bb6 Bump mypy from 1.1.1 to 1.2.0
Bumps [mypy](https://github.com/python/mypy) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.1.1...v1.2.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 10:05:58 +03:00
dependabot[bot]
169faa4505 Bump types-python-dateutil from 2.8.19.11 to 2.8.19.12
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.11 to 2.8.19.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 09:30:47 +03:00
dependabot[bot]
9a03984642 Bump google-api-python-client from 2.79.0 to 2.83.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.79.0 to 2.83.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.79.0...v2.83.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 23:26:24 +03:00
dependabot[bot]
20343c8719 Bump google-auth from 2.16.1 to 2.17.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.16.1 to 2.17.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.16.1...v2.17.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 23:19:36 +03:00
dependabot[bot]
830feaf3fc Bump mypy from 1.0.1 to 1.1.1
Bumps [mypy](https://github.com/python/mypy) from 1.0.1 to 1.1.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.0.1...v1.1.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 19:39:41 +03:00
dependabot[bot]
9d38a8cde4 Bump pytest from 7.2.1 to 7.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.1...7.2.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 19:20:49 +03:00
dependabot[bot]
178c41c411 Bump black from 23.1.0 to 23.3.0
Bumps [black](https://github.com/psf/black) from 23.1.0 to 23.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.1.0...23.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 18:44:39 +03:00
dependabot[bot]
c2f59f9562 Bump pytz from 2022.7.1 to 2023.3
Bumps [pytz](https://github.com/stub42/pytz) from 2022.7.1 to 2023.3.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.7.1...release_2023.3)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 13:09:39 +03:00
dependabot[bot]
fe07b21e5d Bump types-pytz from 2022.7.1.2 to 2023.3.0.0
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.1.2 to 2023.3.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 13:09:14 +03:00
dependabot[bot]
c806ec25e4 Bump types-pyyaml from 6.0.12.8 to 6.0.12.9
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.8 to 6.0.12.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 13:08:56 +03:00
dependabot[bot]
c426ecf06d Bump types-python-dateutil from 2.8.19.9 to 2.8.19.11
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.9 to 2.8.19.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 13:08:38 +03:00
5f0aa46e28 add python 3.11 2023-03-11 22:49:29 +03:00
dependabot[bot]
ee3e5ba613 Bump google-auth from 2.16.0 to 2.16.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.16.0 to 2.16.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.16.0...v2.16.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 12:45:45 +03:00
dependabot[bot]
45610c8bfe Bump google-api-python-client from 2.76.0 to 2.79.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.76.0 to 2.79.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.76.0...v2.79.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 12:35:31 +03:00
dependabot[bot]
5591765911 Bump mypy from 0.991 to 1.0.1
Bumps [mypy](https://github.com/python/mypy) from 0.991 to 1.0.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.991...v1.0.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 12:34:34 +03:00
dependabot[bot]
b209fff2a1 Bump types-pytz from 2022.7.1.0 to 2022.7.1.2
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.1.0 to 2022.7.1.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 12:33:07 +03:00
dependabot[bot]
69fc8560b6 Bump types-python-dateutil from 2.8.19.6 to 2.8.19.9
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.6 to 2.8.19.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 11:54:12 +03:00
dependabot[bot]
3e00dfffa4 Bump types-pyyaml from 6.0.12.3 to 6.0.12.8
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.3 to 6.0.12.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 10:42:19 +03:00
dependabot[bot]
e64ede2472 Bump black from 22.12.0 to 23.1.0
Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.12.0...23.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 10:07:58 +03:00
dependabot[bot]
a73d7048e4 Bump google-auth from 2.15.0 to 2.16.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.15.0...v2.16.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 18:31:12 +03:00
dependabot[bot]
e80b004a99 Bump google-api-python-client from 2.70.0 to 2.76.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.70.0 to 2.76.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.70.0...v2.76.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 13:23:15 +03:00
dependabot[bot]
a806cc87c3 Bump pytest from 7.2.0 to 7.2.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.0 to 7.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.0...7.2.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 13:39:20 +03:00
dependabot[bot]
88eede3a00 Bump types-python-dateutil from 2.8.19.5 to 2.8.19.6
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.5 to 2.8.19.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 10:34:34 +03:00
dependabot[bot]
7d605328c1 Bump types-pyyaml from 6.0.12.2 to 6.0.12.3
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.2 to 6.0.12.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 17:08:12 +03:00
dependabot[bot]
6561da777a Bump pytz from 2022.7 to 2022.7.1
Bumps [pytz](https://github.com/stub42/pytz) from 2022.7 to 2022.7.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.7...release_2022.7.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:32:32 +03:00
dependabot[bot]
a0429e24ab Bump types-pytz from 2022.7.0.0 to 2022.7.1.0
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.0.0 to 2022.7.1.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 13:05:23 +03:00
dependabot[bot]
fa768c96ab Bump types-pytz from 2022.6.0.1 to 2022.7.0.0
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.6.0.1 to 2022.7.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 17:14:52 +03:00
dependabot[bot]
f566c98065 Bump types-python-dateutil from 2.8.19.4 to 2.8.19.5
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.4 to 2.8.19.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 16:08:25 +03:00
dependabot[bot]
c568dcd6ea Bump google-api-python-client from 2.68.0 to 2.70.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.68.0 to 2.70.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.68.0...v2.70.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 14:46:35 +03:00
dependabot[bot]
111d773ff8 Bump google-auth from 2.14.1 to 2.15.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.14.1 to 2.15.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.14.1...v2.15.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 14:38:53 +03:00
dependabot[bot]
ac96a78280 Bump pytz from 2022.6 to 2022.7
Bumps [pytz](https://github.com/stub42/pytz) from 2022.6 to 2022.7.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.6...release_2022.7)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 14:10:27 +03:00
dependabot[bot]
5e845cf629 Bump fire from 0.4.0 to 0.5.0
Bumps [fire](https://github.com/google/python-fire) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/google/python-fire/releases)
- [Commits](https://github.com/google/python-fire/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: fire
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 13:54:18 +03:00
dependabot[bot]
d43c906869 Bump lxml from 4.9.1 to 4.9.2
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.1...lxml-4.9.2)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 12:28:13 +03:00
dependabot[bot]
b685ed0c15 Bump icalendar from 5.0.3 to 5.0.4
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 01:28:46 +03:00
dependabot[bot]
b6c6366b88 Bump black from 22.10.0 to 22.12.0
Bumps [black](https://github.com/psf/black) from 22.10.0 to 22.12.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.10.0...22.12.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-03 22:14:33 +03:00
dependabot[bot]
6ad8a6fa5e Bump certifi from 2022.5.18.1 to 2022.12.7
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.5.18.1 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2022.05.18.1...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 10:35:11 +03:00
dependabot[bot]
022a339157 Bump types-python-dateutil from 2.8.19.2 to 2.8.19.4
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.2 to 2.8.19.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 10:22:06 +03:00
dependabot[bot]
f0c095dcc9 Bump types-pyyaml from 6.0.12.1 to 6.0.12.2
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.1 to 6.0.12.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:53:09 +03:00
dependabot[bot]
c6d47d2eba Bump mypy from 0.982 to 0.991
Bumps [mypy](https://github.com/python/mypy) from 0.982 to 0.991.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.982...v0.991)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 00:25:06 +03:00
dependabot[bot]
3e766d614c Bump icalendar from 5.0.1 to 5.0.3
Bumps [icalendar](https://github.com/collective/icalendar) from 5.0.1 to 5.0.3.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v5.0.1...v5.0.3)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 22:24:59 +03:00
dependabot[bot]
5c6c293d3b Bump google-api-python-client from 2.65.0 to 2.68.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.65.0 to 2.68.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.65.0...v2.68.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 22:15:08 +03:00
dependabot[bot]
b9ac2de328 Bump google-auth from 2.14.0 to 2.14.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.14.0 to 2.14.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.14.0...v2.14.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 20:58:33 +03:00
dependabot[bot]
ebf0b2dc7c Bump types-pytz from 2022.2.1.0 to 2022.6.0.1
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.2.1.0 to 2022.6.0.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 19:43:43 +03:00
dependabot[bot]
fb6a3c5503 Bump types-pyyaml from 6.0.12 to 6.0.12.1
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12 to 6.0.12.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 19:38:31 +03:00
dependabot[bot]
2aee926d1e Bump types-python-dateutil from 2.8.19 to 2.8.19.2
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19 to 2.8.19.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 18:28:13 +03:00
dependabot[bot]
b1188c00a7 Bump google-api-python-client from 2.63.0 to 2.65.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.63.0 to 2.65.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.63.0...v2.65.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 17:29:41 +03:00
dependabot[bot]
77e036975b Bump google-auth from 2.12.0 to 2.14.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.12.0 to 2.14.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.12.0...v2.14.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 16:58:36 +03:00
dependabot[bot]
c0b2863687 Bump pytz from 2022.2.1 to 2022.6
Bumps [pytz](https://github.com/stub42/pytz) from 2022.2.1 to 2022.6.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.2.1...release_2022.6)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 15:47:10 +03:00
dependabot[bot]
72e4659f8f Bump mypy from 0.981 to 0.982
Bumps [mypy](https://github.com/python/mypy) from 0.981 to 0.982.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.981...v0.982)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 15:28:15 +03:00
dependabot[bot]
27ba8192fd Bump icalendar from 4.1.0 to 5.0.1
Bumps [icalendar](https://github.com/collective/icalendar) from 4.1.0 to 5.0.1.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.1.0...v5.0.1)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 10:59:27 +03:00
dependabot[bot]
a209146c56 Bump black from 22.8.0 to 22.10.0
Bumps [black](https://github.com/psf/black) from 22.8.0 to 22.10.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.8.0...22.10.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 09:23:44 +03:00
dependabot[bot]
a60f8777f5 Bump pytest from 7.1.3 to 7.2.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.3 to 7.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.3...7.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 07:55:19 +03:00
dependabot[bot]
eafbd6bf59 Bump types-pyyaml from 6.0.11 to 6.0.12
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.11 to 6.0.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 12:45:56 +03:00
dependabot[bot]
9d02e01da0 Bump mypy from 0.971 to 0.981
Bumps [mypy](https://github.com/python/mypy) from 0.971 to 0.981.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.971...v0.981)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 11:45:16 +03:00
dependabot[bot]
1c1a1a220d Bump pytest from 7.1.2 to 7.1.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.2...7.1.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 11:37:18 +03:00
dependabot[bot]
3759992950 Bump google-api-python-client from 2.58.0 to 2.63.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.58.0 to 2.63.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.58.0...v2.63.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 11:28:11 +03:00
dependabot[bot]
45b07dc5ab Bump google-auth from 2.11.0 to 2.12.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.11.0...v2.12.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 11:20:12 +03:00
dependabot[bot]
4f22594ddc Bump protobuf from 3.20.1 to 3.20.2
Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 3.20.1 to 3.20.2.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/generate_changelog.py)
- [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.20.1...v3.20.2)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-24 01:49:24 +03:00
dependabot[bot]
dd2d87d38d Bump types-pytz from 2022.1.2 to 2022.2.1.0
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.1.2 to 2022.2.1.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 15:06:32 +03:00
dependabot[bot]
ee4d6de9d5 Bump pytz from 2022.1 to 2022.2.1
Bumps [pytz](https://github.com/stub42/pytz) from 2022.1 to 2022.2.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2022.1...release_2022.2.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 13:25:47 +03:00
dependabot[bot]
353ffa1d0c Bump flake8 from 5.0.1 to 5.0.4
Bumps [flake8](https://github.com/pycqa/flake8) from 5.0.1 to 5.0.4.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/5.0.1...5.0.4)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 12:54:27 +03:00
dependabot[bot]
3da56345b1 Bump black from 22.6.0 to 22.8.0
Bumps [black](https://github.com/psf/black) from 22.6.0 to 22.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.6.0...22.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 12:44:39 +03:00
dependabot[bot]
47808d92bd Bump google-auth from 2.9.1 to 2.11.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.9.1 to 2.11.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.9.1...v2.11.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 12:30:51 +03:00
dependabot[bot]
444e70942e Bump google-api-python-client from 2.55.0 to 2.58.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.55.0 to 2.58.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.55.0...v2.58.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 12:21:33 +03:00
dependabot[bot]
0accf99f99 Bump types-python-dateutil from 2.8.18 to 2.8.19
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.18 to 2.8.19.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 12:07:12 +03:00
dependabot[bot]
9eb3d964bd Bump types-pyyaml from 6.0.9 to 6.0.11
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.9 to 6.0.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 11:49:50 +03:00
dependabot[bot]
b51cec36e4 Bump google-api-python-client from 2.52.0 to 2.55.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.52.0 to 2.55.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.52.0...v2.55.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 11:43:54 +03:00
dependabot[bot]
a2d51b1886 Bump google-auth from 2.9.0 to 2.9.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.9.0 to 2.9.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.9.0...v2.9.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 10:49:44 +03:00
dependabot[bot]
22d448c993 Bump mypy from 0.961 to 0.971
Bumps [mypy](https://github.com/python/mypy) from 0.961 to 0.971.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.961...v0.971)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 10:42:15 +03:00
dependabot[bot]
526be4de8a Bump types-pytz from 2022.1.1 to 2022.1.2
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.1.1 to 2022.1.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 10:25:15 +03:00
dependabot[bot]
cc526e4172 Bump flake8 from 4.0.1 to 5.0.1
Bumps [flake8](https://github.com/pycqa/flake8) from 4.0.1 to 5.0.1.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/4.0.1...5.0.1)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 10:16:35 +03:00
dependabot[bot]
f2e9b2cf87 Bump icalendar from 4.0.9 to 4.1.0
Bumps [icalendar](https://github.com/collective/icalendar) from 4.0.9 to 4.1.0.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/4.1.0/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.0.9...4.1.0)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 08:56:52 +03:00
dependabot[bot]
0da36d5428 Bump lxml from 4.9.0 to 4.9.1
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.0...lxml-4.9.1)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-07 09:02:28 +03:00
dependabot[bot]
af8150197d Bump google-api-python-client from 2.49.0 to 2.52.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.49.0 to 2.52.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.49.0...v2.52.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 15:36:13 +03:00
dependabot[bot]
72f474217a Bump google-auth from 2.6.6 to 2.9.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.6.6 to 2.9.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.6.6...v2.9.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 14:32:59 +03:00
dependabot[bot]
22b4cec62b Bump black from 22.3.0 to 22.6.0
Bumps [black](https://github.com/psf/black) from 22.3.0 to 22.6.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.3.0...22.6.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 14:22:44 +03:00
dependabot[bot]
defea7633b Bump types-python-dateutil from 2.8.17 to 2.8.18
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.17 to 2.8.18.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 13:46:27 +03:00
dependabot[bot]
520fd15da8 Bump types-pyyaml from 6.0.8 to 6.0.9
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.8 to 6.0.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 12:38:09 +03:00
dependabot[bot]
f04c0c46fd Bump types-pytz from 2021.3.8 to 2022.1.1
Bumps [types-pytz](https://github.com/python/typeshed) from 2021.3.8 to 2022.1.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 11:07:12 +03:00
dependabot[bot]
74d2e18e91 Bump mypy from 0.960 to 0.961
Bumps [mypy](https://github.com/python/mypy) from 0.960 to 0.961.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.960...v0.961)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 10:42:31 +03:00
5e4bed5604 bump github/codeql-action to v2
https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/
2022-06-04 23:51:41 +03:00
111d527c33 check formatting with black (#99)
* check formatting with black + suggest on pr

* test format check

* fix test format error

suggested by reviewdog[black]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-04 23:43:13 +03:00
Dmitry Belyaev
a18be3d079 Merge pull request #98 from b4tman/mypy
type checking with mypy
2022-06-04 22:57:22 +03:00
c9b38cd29e add mypy strict check (not failing) 2022-06-04 20:14:53 +03:00
c2c3a7a14d fix type errors in tests
with mypy --strict
2022-06-04 18:51:43 +03:00
787e9df642 explicitly exports
to fix (mypy --strict) errors like:
>> error: Module "sync_ics2gcal" does not explicitly export attribute "GoogleCalendarService"; implicit reexport disabled
2022-06-04 18:50:58 +03:00
80e15b0622 fix type errors
with mypy --strict
2022-06-04 18:47:54 +03:00
ad634e9c6e ignore tmp_bin/ 2022-06-04 17:40:33 +03:00
6ba8106f3e version 0.1.4 2022-06-04 17:29:11 +03:00
e5abc3c218 fix test error 2022-06-04 17:12:21 +03:00
9ad97a158c test type error 2022-06-04 17:09:09 +03:00
47ac72c1fe fix add-path 2022-06-04 17:01:33 +03:00
c1c621cbf0 add reviewdog workflow with mypy 2022-06-04 16:54:33 +03:00
bfdeaa17ff drop python 3.7 support
for TypedDict
2022-06-04 15:56:11 +03:00
1eef4114cd ci: fix mypy checks 2022-06-04 15:48:25 +03:00
e2d5548466 update poetry.lock 2022-06-04 15:46:02 +03:00
0778fbe51f ci: check with mypy + upload report 2022-06-04 15:44:01 +03:00
7b62e2c583 ignore mypy_report folder + lxml dep 2022-06-04 15:42:19 +03:00
3cbbbb1a1b remove TypeAlias usage 2022-06-04 01:07:24 +03:00
29275d3f0e more types in test_sync 2022-06-04 00:57:38 +03:00
edd6c39dcb more types in sync 2022-06-04 00:40:15 +03:00
54146451c7 types: + EventsSearchResults 2022-06-04 00:39:29 +03:00
5b4dca0ab9 add types-PyYAML, mypy ignore_missing: +fire 2022-06-04 00:11:14 +03:00
2f3a87f25f more types in gcal 2022-06-03 23:42:29 +03:00
260f168077 mypy ignore_missing_imports 2022-06-03 23:39:11 +03:00
dc23acb7d2 type annotations in ical, gcal 2022-06-03 22:07:06 +03:00
4a85424215 add mypy 2022-06-03 22:07:05 +03:00
8eaafc9925 workflows: remove poetry cache 2022-06-03 15:55:50 +03:00
7582cba1dd add test_format_datetime_utc 2022-06-03 14:06:36 +03:00
dependabot[bot]
6ac6a0fb6b Bump google-api-python-client from 2.46.0 to 2.49.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.46.0 to 2.49.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.46.0...v2.49.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 14:04:08 +03:00
dependabot[bot]
e8c0c17a4c Bump google-api-python-client from 2.42.0 to 2.46.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.42.0 to 2.46.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.42.0...v2.46.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 15:34:29 +03:00
dependabot[bot]
64a12c3754 Bump google-auth from 2.6.2 to 2.6.6
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.6.2 to 2.6.6.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.6.2...v2.6.6)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 15:25:53 +03:00
dependabot[bot]
aef5fd6491 Bump pytest from 7.1.1 to 7.1.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.1...7.1.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 15:17:00 +03:00
dependabot[bot]
6221cd02e9 Bump black from 22.1.0 to 22.3.0
Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.1.0...22.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 16:59:11 +03:00
dependabot[bot]
6e0684372c Bump pytest from 7.0.1 to 7.1.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.0.1 to 7.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.1...7.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 16:12:30 +03:00
dependabot[bot]
903092835e Bump pytz from 2021.3 to 2022.1
Bumps [pytz](https://github.com/stub42/pytz) from 2021.3 to 2022.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2021.3...release_2022.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 13:12:04 +03:00
dependabot[bot]
f62f032a00 Bump google-auth from 2.6.0 to 2.6.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.6.0 to 2.6.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.6.0...v2.6.2)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 12:58:54 +03:00
8c05b8319c reset poetry cache (github workflows) 2022-04-05 12:40:40 +03:00
adc61821cf bump actions/checkout to 3 2022-04-05 12:38:17 +03:00
25670a61ba bump actions/cache to 3.0.1 2022-04-05 12:37:02 +03:00
dependabot[bot]
6411241a9a Bump google-api-python-client from 2.39.0 to 2.42.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.39.0 to 2.42.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.39.0...v2.42.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 10:58:07 +03:00
912754b4c1 Merge pull request #88 from gwww/develop
Format with black
2022-03-08 19:53:22 +03:00
Glenn Waters
70278c1542 Format with black. 2022-03-08 10:46:21 -05:00
dependabot[bot]
2372103807 Bump google-api-python-client from 2.36.0 to 2.39.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.36.0 to 2.39.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.36.0...v2.39.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 23:10:35 +03:00
3062d4323a Update README.md 2022-03-02 23:08:23 +03:00
7f8806e259 Delete .travis.yml 2022-03-02 23:08:03 +03:00
dependabot[bot]
348dae9f60 Bump pytest from 6.2.5 to 7.0.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.5 to 7.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.5...7.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 23:05:52 +03:00
f0a7668fcd fix typo 2022-02-24 12:34:41 +03:00
38fe634a9f fix var names 2022-02-24 12:20:07 +03:00
839a3ac0c3 fix parsing config start_from (#82) 2022-02-23 13:11:56 +03:00
70a9dac822 update poetry.lock 2022-02-23 12:34:29 +03:00
e6cc7ad336 Merge pull request #81 from b4tman/filter_no-updated
overwrite events without updated field (#80)
2022-02-22 10:26:17 +03:00
693c6c4359 overwrite events without updated field 2022-02-22 10:15:05 +03:00
b09136747f rewrite test_filter_events_no_updated 2022-02-22 09:52:28 +03:00
89877bc6d8 add test_filter_events_to_update_no_updated
#80
2022-02-21 22:40:07 +03:00
61d3186522 drop python 3.6 support 2022-02-11 14:29:25 +03:00
3fa8334408 remove requirements.txt 2022-02-11 14:19:38 +03:00
dependabot[bot]
809b0996c2 Bump google-api-python-client from 2.33.0 to 2.36.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.33.0 to 2.36.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.33.0...v2.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 09:20:25 +03:00
dependabot[bot]
93840f9795 Bump google-auth from 2.3.3 to 2.6.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.3.3 to 2.6.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.3.3...v2.6.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 09:04:17 +03:00
843ad37066 travis ci: add python 3.10 2022-01-19 12:17:50 +03:00
dependabot[bot]
309969cc42 Bump google-api-python-client from 2.31.0 to 2.33.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.31.0 to 2.33.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.31.0...v2.33.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 12:27:24 +03:00
dependabot[bot]
a3b3954f39 Bump google-auth from 2.3.2 to 2.3.3
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.3.2...v2.3.3)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 11:07:29 +03:00
dependabot[bot]
3838d66067 Bump google-api-python-client from 2.28.0 to 2.31.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.28.0 to 2.31.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.28.0...v2.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 09:31:22 +03:00
dependabot[bot]
c3ab0bea08 Bump google-api-python-client from 2.23.0 to 2.28.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.23.0 to 2.28.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.23.0...v2.28.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:48:46 +03:00
dependabot[bot]
5e55300448 Bump google-auth from 2.2.1 to 2.3.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.2.1 to 2.3.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.2.1...v2.3.2)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:38:31 +03:00
dependabot[bot]
69eea1b351 Bump flake8 from 3.9.2 to 4.0.1
Bumps [flake8](https://github.com/pycqa/flake8) from 3.9.2 to 4.0.1.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/3.9.2...4.0.1)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:34:06 +03:00
dependabot[bot]
1a3ce7cda4 Bump icalendar from 4.0.7 to 4.0.9
Bumps [icalendar](https://github.com/collective/icalendar) from 4.0.7 to 4.0.9.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.0.7...4.0.9)

---
updated-dependencies:
- dependency-name: icalendar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:23:47 +03:00
dependabot[bot]
36c4825080 Bump pytz from 2021.1 to 2021.3
Bumps [pytz](https://github.com/stub42/pytz) from 2021.1 to 2021.3.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2021.1...release_2021.3)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:15:39 +03:00
dependabot[bot]
200ed88bd9 Bump pyyaml from 5.4.1 to 6.0
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.4.1 to 6.0.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.4.1...6.0)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 08:58:31 +03:00
a81192b96f add python 3.10 (github actions) (#66) 2021-10-21 10:18:39 +03:00
2ab96d1b00 travis ci: dist = focal 2021-10-21 09:52:27 +03:00
9603718c83 remove install from requirements.txt 2021-10-15 09:37:57 +03:00
f7a84cc58c use POETRY_PYPI_TOKEN_PYPI to publish
https://python-poetry.org/docs/repositories/
2021-10-15 09:34:07 +03:00
782ab05126 Merge branch 'feature/poetry' into develop 2021-10-09 16:02:59 +03:00
d08671e722 update README 2021-10-09 15:54:31 +03:00
df2f3ef483 fix CodeQL
remove git checkout HEAD^2
2021-10-09 15:37:58 +03:00
9e40b6fbbd use poetry in ci 2021-10-09 15:27:38 +03:00
b86ef30397 migrate to poetry 2021-10-09 15:09:07 +03:00
dependabot[bot]
2b146bf15d Bump google-auth from 2.0.2 to 2.2.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.0.2 to 2.2.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v2.0.2...v2.2.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 10:34:26 +03:00
dependabot[bot]
6d4a9ddf30 Bump google-api-python-client from 2.19.0 to 2.23.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.19.0 to 2.23.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.19.0...v2.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 10:23:02 +03:00
dependabot[bot]
217a1ccf39 Bump google-api-python-client from 2.15.0 to 2.19.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.15.0 to 2.19.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.15.0...v2.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 11:59:36 +03:00
dependabot[bot]
1bc2fe1ea2 Bump google-auth from 1.34.0 to 2.0.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.34.0 to 2.0.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.34.0...v2.0.2)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 09:53:28 +03:00
dependabot[bot]
1187aa0f3e Bump google-api-python-client from 2.11.0 to 2.15.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.11.0 to 2.15.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.11.0...v2.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 11:35:57 +03:00
dependabot[bot]
c3312956e2 Bump google-auth from 1.32.1 to 1.34.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.32.1 to 1.34.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.32.1...v1.34.0)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 11:22:17 +03:00
dependabot[bot]
8910768b61 Bump google-api-python-client from 2.6.0 to 2.11.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.6.0 to 2.11.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.6.0...v2.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 11:28:46 +03:00
dependabot[bot]
3274b85ca6 Bump google-auth from 1.30.1 to 1.32.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.30.1 to 1.32.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.30.1...v1.32.1)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 10:44:18 +03:00
dependabot[bot]
8d4a21c72d Bump google-api-python-client from 2.3.0 to 2.6.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.3.0 to 2.6.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.3.0...v2.6.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 13:29:00 +03:00
dependabot[bot]
412c916b15 Bump google-auth from 1.30.0 to 1.30.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.30.0 to 1.30.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.30.0...v1.30.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 09:13:31 +03:00
052ba440d0 type aliases 2021-05-19 12:55:54 +03:00
5e01b6dd01 add fire to setup requires 2021-05-01 18:26:02 +03:00
Dmitry Belyaev
8b2f35b3a9 Merge pull request #54 from b4tman/feature/fire_cli
feature/fire cli
2021-05-01 18:06:52 +03:00
c3bdd25d5a cli group for property commands 2021-05-01 17:58:30 +03:00
3b0de9d636 fire instead of argparse 2021-05-01 17:31:14 +03:00
dependabot[bot]
97614ae21d Bump google-api-python-client from 2.1.0 to 2.3.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.1.0 to 2.3.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.1.0...v2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-01 15:14:42 +03:00
dependabot[bot]
1cdf1da6ee Bump google-auth from 1.28.0 to 1.30.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.28.0 to 1.30.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.28.0...v1.30.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-01 15:07:52 +03:00
Dmitry Belyaev
bd6bd65719 Merge pull request #51 from b4tman/feature/type_annotations
Type annotations
2021-05-01 15:00:52 +03:00
c41b3a4dbd type annotations - tests 2021-05-01 13:49:26 +03:00
9dab3c5709 type annotations - scripts 2021-04-30 11:46:10 +03:00
e5064eeaed cfg optional 2021-04-30 11:45:05 +03:00
19192d1641 fix _tz_aware_datetime return type 2021-04-30 11:08:56 +03:00
6c571df7bc type annotations - sync 2021-04-29 17:10:35 +03:00
a6474ee984 type annotations - ical 2021-04-29 16:19:41 +03:00
8669aefabe type annotations - gcal 2021-04-29 15:24:23 +03:00
77e2cdba36 ignore ide files and virtualenv 2021-04-29 15:22:27 +03:00
dependabot[bot]
18224ad5b4 Bump google-api-python-client from 1.12.8 to 2.1.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.12.8 to 2.1.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.12.8...v2.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-01 15:57:56 +03:00
dependabot[bot]
41c2973646 Bump google-auth from 1.27.0 to 1.28.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.27.0...v1.28.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-01 09:06:03 +03:00
dependabot[bot]
a02775110d Bump pytz from 2020.5 to 2021.1
Bumps [pytz](https://github.com/stub42/pytz) from 2020.5 to 2021.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2020.5...release_2021.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 10:58:20 +03:00
dependabot[bot]
12653df1bf Bump google-auth from 1.24.0 to 1.27.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.24.0 to 1.27.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.24.0...v1.27.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 09:02:30 +03:00
dependabot[bot]
fef3586146 Bump pyyaml from 5.3.1 to 5.4.1
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4.1.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-01 14:52:05 +03:00
b7cd3847bc remove Dependabot and FOSSA badges 2021-01-01 15:14:24 +03:00
3ddc486614 add Python 3.9 support 2021-01-01 13:38:14 +03:00
dependabot[bot]
1beff774bc Bump google-auth from 1.23.0 to 1.24.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.23.0 to 1.24.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.23.0...v1.24.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-01 13:25:26 +03:00
e0b4e6c28a drop Python 3.5 support 2021-01-01 13:17:08 +03:00
dependabot[bot]
50f90925b8 Bump pytz from 2020.4 to 2020.5
Bumps [pytz](https://github.com/stub42/pytz) from 2020.4 to 2020.5.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2020.4...release_2020.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-01 13:07:00 +03:00
dependabot[bot]
c2a3a54783 Bump pytz from 2020.1 to 2020.4
Bumps [pytz](https://github.com/stub42/pytz) from 2020.1 to 2020.4.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2020.1...release_2020.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-01 10:37:35 +03:00
dependabot[bot]
38dd853436 Bump google-api-python-client from 1.12.5 to 1.12.8
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.12.5 to 1.12.8.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.12.5...v1.12.8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-01 09:56:31 +03:00
dependabot[bot]
a10e62f806 Bump google-api-python-client from 1.12.3 to 1.12.5
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.12.3 to 1.12.5.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.12.3...v1.12.5)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-01 12:31:38 +03:00
dependabot[bot]
eca648ee56 Bump google-auth from 1.22.0 to 1.23.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.22.0...v1.23.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-01 12:26:07 +03:00
dependabot[bot]
55ee5002cc Bump google-api-python-client from 1.11.0 to 1.12.3
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.11.0 to 1.12.3.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.11.0...v1.12.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-01 10:29:44 +03:00
dependabot[bot]
1bec98a53e Bump google-auth from 1.21.0 to 1.22.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.21.0 to 1.22.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.21.0...v1.22.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-01 10:14:15 +03:00
dependabot[bot]
5649a71da2 Bump icalendar from 4.0.6 to 4.0.7
Bumps [icalendar](https://github.com/collective/icalendar) from 4.0.6 to 4.0.7.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.0.6...4.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-01 10:08:55 +03:00
dependabot[bot]
fc490dcefe Bump google-auth from 1.20.1 to 1.21.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.20.1 to 1.21.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.20.1...v1.21.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-01 09:48:30 +03:00
dependabot[bot]
ecb2f5a3d1 Bump google-api-python-client from 1.10.0 to 1.11.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.10.0...v1.11.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-01 09:31:32 +03:00
8f56ad426e Enabling code scanning
https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning
2020-08-11 00:22:53 +03:00
dependabot[bot]
a5739cb64c Bump google-auth from 1.18.0 to 1.20.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.18.0 to 1.20.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.18.0...v1.20.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-08 13:53:24 +03:00
dependabot[bot]
fff533c0a8 Bump google-api-python-client from 1.9.3 to 1.10.0
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.9.3 to 1.10.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.9.3...v1.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-08 13:31:16 +03:00
dependabot[bot]
d8cb345550 Bump google-auth from 1.17.2 to 1.18.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.17.2 to 1.18.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.17.2...v1.18.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-01 10:58:29 +03:00
dependabot[bot]
05a4770071 Bump google-auth from 1.16.0 to 1.17.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.16.0 to 1.17.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.16.0...v1.17.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-18 10:18:57 +03:00
dependabot[bot]
7664ca9e55 Bump google-api-python-client from 1.8.4 to 1.9.3
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.8.4 to 1.9.3.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.8.4...v1.9.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-18 10:12:42 +03:00
dependabot-preview[bot]
66f9de3980 Create Dependabot config file 2020-06-18 09:52:40 +03:00
dependabot-preview[bot]
a7164abb24 Bump icalendar from 4.0.5 to 4.0.6
Bumps [icalendar](https://github.com/collective/icalendar) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.0.5...4.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:58:44 +03:00
dependabot-preview[bot]
38f7403b40 Bump google-api-python-client from 1.8.2 to 1.8.4
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 1.8.2 to 1.8.4.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v1.8.2...v1.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:37:23 +03:00
dependabot-preview[bot]
9ad544971e Bump google-auth from 1.14.1 to 1.16.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.14.1 to 1.16.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.14.1...v1.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:00:12 +03:00
dependabot-preview[bot]
2d00ae77c9 Bump google-api-python-client from 1.8.0 to 1.8.2
Bumps [google-api-python-client](https://github.com/google/google-api-python-client) from 1.8.0 to 1.8.2.
- [Release notes](https://github.com/google/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/google-api-python-client/compare/v1.8.0...v1.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-01 12:47:13 +03:00
dependabot-preview[bot]
283b164723 Bump google-auth from 1.12.0 to 1.14.1
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.12.0 to 1.14.1.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.12.0...v1.14.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-01 11:51:09 +03:00
dependabot-preview[bot]
6058a3e592 Bump pytz from 2019.3 to 2020.1
Bumps [pytz](https://github.com/stub42/pytz) from 2019.3 to 2020.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2019.3...release_2020.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-01 11:00:32 +03:00
dependabot-preview[bot]
9c08630931 Bump google-api-python-client from 1.7.11 to 1.8.0
Bumps [google-api-python-client](https://github.com/google/google-api-python-client) from 1.7.11 to 1.8.0.
- [Release notes](https://github.com/google/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/master/CHANGELOG)
- [Commits](https://github.com/google/google-api-python-client/compare/v1.7.11...v1.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 09:32:53 +03:00
dependabot-preview[bot]
9e027df349 Bump google-auth from 1.11.2 to 1.12.0
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.11.2 to 1.12.0.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.11.2...v1.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 09:27:44 +03:00
dependabot-preview[bot]
c1d148c3f3 Bump icalendar from 4.0.4 to 4.0.5
Bumps [icalendar](https://github.com/collective/icalendar) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/master/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/4.0.4...4.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 09:20:30 +03:00
dependabot-preview[bot]
694b91798e Bump pyyaml from 5.3 to 5.3.1
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3 to 5.3.1.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3...5.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 09:15:29 +03:00
8712b81a53 + get/set commands in README 2020-03-08 13:29:57 +03:00
51005fb29e fmt README 2020-03-08 13:17:54 +03:00
6e7c3cb7b2 fmt sync_calendar 2020-03-08 13:10:42 +03:00
0f9a8d7a74 lint sync 2020-03-07 18:34:31 +03:00
0161d65c16 lint ical 2020-03-07 18:29:35 +03:00
9e74772852 lint gcal 2020-03-07 18:26:37 +03:00
8d64869f06 lint manage_calendars 2020-03-07 18:14:34 +03:00
ab00cb09c8 + manage_calendars: list hidden & deleted 2020-03-07 18:05:51 +03:00
b0a39a1b8c manage_calendars: use nextPageToken for list
By default maximum number of entries returned on one result page is 100
2020-03-07 17:54:16 +03:00
55b67469be + manage_calendars: get\set calendar properties 2020-03-07 17:41:05 +03:00
c17d3cd0ea manage_calendars: no config file required 2020-03-07 16:21:48 +03:00
9aad7e1910 make service even when config is None 2020-03-07 16:14:47 +03:00
dependabot-preview[bot]
41cc6b4159 Bump google-auth from 1.11.0 to 1.11.2
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 1.11.0 to 1.11.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/compare/v1.11.0...v1.11.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-01 11:45:06 +03:00
5d37aa2a33 disable cache_discovery
to suppress errors in logs:
file_cache is unavailable when using oauth2client >= 4.0.0

https://github.com/googleapis/google-api-python-client/issues/299
https://github.com/googleapis/google-api-python-client/issues/325
2020-02-25 22:43:45 +03:00
d146eec7ae + default credentials support
https://googleapis.dev/python/google-auth/latest/reference/google.auth.html#google.auth.default

https://developers.google.com/identity/protocols/application-default-credentials
2020-02-20 17:37:31 +03:00
3ecd6695cf update README 2020-02-20 12:39:53 +03:00
35 changed files with 2865 additions and 597 deletions

@@ -1 +0,0 @@
ref-names: $Format:%D$

1
.gitattributes vendored

@@ -1 +0,0 @@
.git_archival.txt export-subst

15
.github/dependabot.yml vendored Normal file

@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: monthly
time: '02:00'
timezone: "Europe/Moscow"
day: "saturday"
groups:
"PyPi updates":
patterns:
- "*"
open-pull-requests-limit: 10
target-branch: develop

33
.github/workflows/codeql-analysis.yml vendored Normal file

@@ -0,0 +1,33 @@
name: "CodeQL"
on:
push:
branches: [develop, ]
pull_request:
# The branches below must be a subset of the branches above
branches: [develop]
schedule:
- cron: '0 12 10 * *'
jobs:
analyse:
name: Analyse
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
# Override language selection by uncommenting this and choosing your languages
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

@@ -13,30 +13,47 @@ on:
jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.5, 3.6, 3.7, 3.8]
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install deps
run: poetry install --with dev
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
poetry run flake8 sync_ics2gcal --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
poetry run flake8 sync_ics2gcal --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: poetry run pytest -v
- name: Check type annotations with mypy
run: |
pip install pytest
pytest -v
mkdir mypy_report
poetry run mypy --pretty --html-report mypy_report/ .
- name: Check type annotations with mypy strict mode (not failing)
run: |
poetry run mypy --strict --pretty . || true
- name: Check formatting with black
run: poetry run black --check --diff --color .
- name: Upload mypy report
uses: actions/upload-artifact@v4
with:
name: mypy_report-${{ matrix.python-version }}
path: mypy_report/

@@ -2,25 +2,27 @@ name: Upload Python Package
on:
release:
types: [created]
types: [published]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools setuptools_scm setuptools_scm_git_archive wheel twine
- name: Build and publish
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install deps
run: poetry install --with dev
- name: Build
run: poetry build
- name: Publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_token }}
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.pypi_token }}
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
poetry publish -n

49
.github/workflows/reviewdog.yml vendored Normal file

@@ -0,0 +1,49 @@
name: reviewdog
on:
pull_request:
branches:
- master
- develop
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install deps
run: poetry install --with dev
- name: setup mypy
run: |
mkdir tmp_bin/
echo "#!/bin/sh" > tmp_bin/mypy
echo "poetry run mypy \$@" >> tmp_bin/mypy
chmod +x tmp_bin/mypy
echo "$(pwd)/tmp_bin" >> $GITHUB_PATH
- uses: tsuyoshicho/action-mypy@v3
with:
reporter: github-pr-review
level: warning
- name: format with black
run: poetry run black .
- name: suggester / black
uses: reviewdog/action-suggester@v1
with:
tool_name: black

11
.gitignore vendored

@@ -2,8 +2,17 @@ config.yml
service-account.json
*.pyc
my-test*.ics
.vscode/*
.vscode/
.idea/
.venv/
.pytest_cache/
.mypy_cache/
/dist/
/*.egg-info/
/build/
/.eggs/
venv/
mypy_report/
tmp_bin/
docs/build/

16
.readthedocs.yml Normal file

@@ -0,0 +1,16 @@
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.12"
jobs:
post_create_environment:
- pip install poetry
post_install:
# VIRTUAL_ENV needs to be set manually for now.
# See https://github.com/readthedocs/readthedocs.org/pull/11152/
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs
sphinx:
configuration: docs/source/conf.py

@@ -1,10 +0,0 @@
language: python
python:
- "3.5"
- "3.6"
- "3.7"
- "3.8"
script:
- pytest -v

@@ -1,7 +0,0 @@
include pyproject.toml
# Include the README
include *.md
# Include the license file
include LICENSE

@@ -1,15 +1,103 @@
# sync_ics2gcal
[![Build Status](https://travis-ci.org/b4tman/sync_ics2gcal.svg?branch=master)](https://travis-ci.org/b4tman/sync_ics2gcal)
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=b4tman/sync_ics2gcal)](https://dependabot.com)
[![PyPI version](https://badge.fury.io/py/sync-ics2gcal.svg)](https://badge.fury.io/py/sync-ics2gcal)
![Python package status](https://github.com/b4tman/sync_ics2gcal/workflows/Python%20package/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/sync-ics2gcal/badge/?version=latest)](https://sync-ics2gcal.readthedocs.io/en/latest/?badge=latest)
Python scripts for sync .ics file with Google calendar
## Installation
To install from [PyPI](https://pypi.org/project/sync-ics2gcal/) with [pip](https://pypi.python.org/pypi/pip), run:
```sh
pip install sync-ics2gcal
```
Or download source code and install using poetry:
```sh
# install poetry
pip install poetry
# install project and deps to virtualenv
poetry install
# run
poetry run sync-ics2gcal
```
## Configuration
### Create application in Google API Console
1. Create a new project: [console.developers.google.com/project](https://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](https://github.com/b4tman/sync_ics2gcal/blob/develop/sample-config.yml) and save to file `config.yml`. For example:
```sh
wget https://raw.githubusercontent.com/b4tman/sync_ics2gcal/develop/sample-config.yml -O config.yml
```
3. *(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](https://developers.google.com/identity/protocols/application-default-credentials)
* *(Optional)* `logging` - [config](https://docs.python.org/3.8/library/logging.config.html#dictionary-schema-details) 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
## Usage
### Manage calendars
```sh
manage-ics2gcal GROUP | COMMAND
```
**GROUPS**:
* **property** - get/set properties (see [CalendarList resource](https://developers.google.com/calendar/v3/reference/calendarList#resource)), subcommands:
- **get** - get calendar property
- **set** - set calendar property
**COMMANDS**:
* **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:
```sh
sync-ics2gcal
```
## How it works
![How it works](how-it-works.png)
## License
Documentation is available at [sync-ics2gcal.readthedocs.io](https://sync-ics2gcal.readthedocs.io).

20
docs/Makefile Normal file

@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= poetry run sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

35
docs/make.bat Normal file

@@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=poetry run sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

40
docs/source/conf.py Normal file

@@ -0,0 +1,40 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
import importlib
from typing import List
project = "sync_ics2gcal"
copyright = "2023, b4tman"
author = "b4tman"
version = importlib.metadata.version("sync_ics2gcal")
release = version
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
"myst_parser",
"sphinx.ext.autodoc",
"sphinx_design",
"sphinx.ext.viewcode",
"sphinx_copybutton",
"sphinx.ext.githubpages",
]
templates_path = ["_templates"]
exclude_patterns: List[str] = []
source_suffix = [".rst", ".md"]
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = "sphinx_rtd_theme"
html_static_path = ["_static"]

Binary file not shown.

After

(image error) Size: 98 KiB

22
docs/source/index.rst Normal file

@@ -0,0 +1,22 @@
.. sync_ics2gcal documentation master file, created by
sphinx-quickstart on Sat Aug 20 22:19:59 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to sync_ics2gcal's documentation!
=========================================
.. toctree::
:maxdepth: 2
:caption: Contents:
readme_link
reference
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

7
docs/source/modules.rst Normal file

@@ -0,0 +1,7 @@
sync_ics2gcal
=============
.. toctree::
:maxdepth: 4
sync_ics2gcal

@@ -0,0 +1,3 @@
```{include} ../../README.md
```

@@ -0,0 +1,6 @@
-------------
Reference
-------------
.. include:: modules.rst

@@ -0,0 +1,53 @@
sync\_ics2gcal package
======================
Submodules
----------
sync\_ics2gcal.gcal module
--------------------------
.. automodule:: sync_ics2gcal.gcal
:members:
:undoc-members:
:show-inheritance:
sync\_ics2gcal.ical module
--------------------------
.. automodule:: sync_ics2gcal.ical
:members:
:undoc-members:
:show-inheritance:
sync\_ics2gcal.manage\_calendars module
---------------------------------------
.. automodule:: sync_ics2gcal.manage_calendars
:members:
:undoc-members:
:show-inheritance:
sync\_ics2gcal.sync module
--------------------------
.. automodule:: sync_ics2gcal.sync
:members:
:undoc-members:
:show-inheritance:
sync\_ics2gcal.sync\_calendar module
------------------------------------
.. automodule:: sync_ics2gcal.sync_calendar
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: sync_ics2gcal
:members:
:undoc-members:
:show-inheritance:

1489
poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

@@ -1,3 +1,67 @@
[tool.poetry]
name = "sync_ics2gcal"
version = "0.1.5"
description = "Sync ics file with Google calendar"
authors = ["Dmitry Belyaev <b4tm4n@mail.ru>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/b4tman/sync_ics2gcal"
repository = "https://github.com/b4tman/sync_ics2gcal"
keywords = ["icalendar", "sync", "google", "calendar"]
classifiers = [
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
]
[tool.poetry.dependencies]
python = "^3.9"
google-auth = "2.35.0"
google-api-python-client = "2.147.0"
icalendar = "6.0.0"
pytz = "2024.2"
PyYAML = "6.0.2"
fire = "0.6.0"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.dev.dependencies]
pytest = ">=7.4,<9.0"
flake8 = ">=5.0.4,<8.0.0"
black = ">=23.7,<25.0"
mypy = ">=0.960"
types-python-dateutil = "^2.8.19"
types-pytz = ">=2021.3.8"
types-PyYAML = "^6.0.12"
lxml = ">=4.9.3,<6.0.0"
[tool.poetry.group.docs.dependencies]
sphinx = ">=7.1,<7.5"
myst-parser = ">=2,<4"
sphinx-rtd-theme = ">=1.2.2,<3.0.0"
sphinx-copybutton = "^0.5.2"
sphinx-design = ">=0.5,<0.7"
[tool.poetry.scripts]
sync-ics2gcal = "sync_ics2gcal.sync_calendar:main"
manage-ics2gcal = "sync_ics2gcal.manage_calendars:main"
[build-system]
requires = ["setuptools>=40.8.0", "wheel", "setuptools_scm"]
build-backend = "setuptools.build_meta"
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[[tool.mypy.overrides]]
module = [
'icalendar',
'google.*',
'googleapiclient',
'fire'
]
ignore_missing_imports = true

@@ -1,5 +0,0 @@
google-auth==1.11.0
google-api-python-client==1.7.11
icalendar==4.0.4
pytz==2019.3
PyYAML==5.3

@@ -1,7 +0,0 @@
[metadata]
license_files = LICENSE
[options]
setup_requires =
setuptools_scm
setuptools_scm_git_archive

@@ -1,44 +0,0 @@
import setuptools
with open('README.md', 'r') as fh:
long_description = fh.read()
setuptools.setup(
name='sync-ics2gcal',
author='Dmitry Belyaev',
author_email='b4tm4n@mail.ru',
license='MIT',
description='Sync ics file with Google calendar',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://github.com/b4tman/sync_ics2gcal',
use_scm_version={
'fallback_version': '0.1',
'local_scheme': 'no-local-version'
},
setup_requires=['setuptools_scm', 'setuptools_scm_git_archive'],
packages=setuptools.find_packages(exclude=['tests']),
classifiers=[
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
python_requires='>=3.5',
install_requires = [
'google-auth>=1.5.0',
'google-api-python-client>=1.7.0',
'icalendar>=4.0.1',
'pytz',
'PyYAML>=3.13'
],
entry_points={
"console_scripts": [
"sync-ics2gcal = sync_ics2gcal.sync_calendar:main",
"manage-ics2gcal = sync_ics2gcal.manage_calendars:main",
]
}
)

@@ -1,14 +1,44 @@
from .ical import (
CalendarConverter,
EventConverter
)
from .ical import CalendarConverter, EventConverter, DateDateTime
from .gcal import (
GoogleCalendarService,
GoogleCalendar
GoogleCalendar,
EventData,
EventList,
EventTuple,
EventDataKey,
EventDateOrDateTime,
EventDate,
EventDateTime,
EventsSearchResults,
ACLRule,
ACLScope,
CalendarData,
BatchRequestCallback,
)
from .sync import (
CalendarSync
)
from .sync import CalendarSync, ComparedEvents
__all__ = [
"ical",
"gcal",
"sync",
"CalendarConverter",
"EventConverter",
"DateDateTime",
"GoogleCalendarService",
"GoogleCalendar",
"EventData",
"EventList",
"EventTuple",
"EventDataKey",
"EventDateOrDateTime",
"EventDate",
"EventDateTime",
"EventsSearchResults",
"ACLRule",
"ACLScope",
"CalendarData",
"CalendarSync",
"ComparedEvents",
]

@@ -1,5 +1,17 @@
import logging
import sys
from datetime import datetime
from typing import (
List,
Dict,
Any,
Callable,
Tuple,
Optional,
Union,
TypedDict,
Literal,
NamedTuple,
)
import google.auth
from google.oauth2 import service_account
@@ -7,7 +19,80 @@ from googleapiclient import discovery
from pytz import utc
class GoogleCalendarService():
class EventDate(TypedDict, total=False):
date: str
timeZone: str
class EventDateTime(TypedDict, total=False):
dateTime: str
timeZone: str
EventDateOrDateTime = Union[EventDate, EventDateTime]
class ACLScope(TypedDict, total=False):
type: str
value: str
class ACLRule(TypedDict, total=False):
scope: ACLScope
role: str
class CalendarData(TypedDict, total=False):
id: str
summary: str
description: str
timeZone: str
class EventData(TypedDict, total=False):
id: str
summary: str
description: str
start: EventDateOrDateTime
end: EventDateOrDateTime
iCalUID: str
location: str
status: str
created: str
updated: str
sequence: int
transparency: str
visibility: str
EventDataKey = Union[
Literal["id"],
Literal["summary"],
Literal["description"],
Literal["start"],
Literal["end"],
Literal["iCalUID"],
Literal["location"],
Literal["status"],
Literal["created"],
Literal["updated"],
Literal["sequence"],
Literal["transparency"],
Literal["visibility"],
]
EventList = List[EventData]
EventTuple = Tuple[EventData, EventData]
class EventsSearchResults(NamedTuple):
exists: List[EventTuple]
new: List[EventData]
BatchRequestCallback = Callable[[str, Any, Optional[Exception]], None]
class GoogleCalendarService:
"""class for make google calendar service Resource
Returns:
@@ -15,219 +100,304 @@ class GoogleCalendarService():
"""
@staticmethod
def from_srv_acc_file(service_account_file):
"""make service Resource from service account filename (authorize)
Returns:
service Resource
def default() -> discovery.Resource:
"""make service Resource from default credentials (authorize)
( https://developers.google.com/identity/protocols/application-default-credentials )
( https://googleapis.dev/python/google-auth/latest/reference/google.auth.html#google.auth.default )
"""
scopes = ['https://www.googleapis.com/auth/calendar']
credentials = service_account.Credentials.from_service_account_file(service_account_file)
scoped_credentials = credentials.with_scopes(scopes)
service = discovery.build('calendar', 'v3', credentials=scoped_credentials)
scopes = ["https://www.googleapis.com/auth/calendar"]
credentials, _ = google.auth.default(scopes=scopes)
service = discovery.build(
"calendar", "v3", credentials=credentials, cache_discovery=False
)
return service
def select_event_key(event):
@staticmethod
def from_srv_acc_file(service_account_file: str) -> discovery.Resource:
"""make service Resource from service account filename (authorize)"""
scopes = ["https://www.googleapis.com/auth/calendar"]
credentials = service_account.Credentials.from_service_account_file(
service_account_file
)
scoped_credentials = credentials.with_scopes(scopes)
service = discovery.build(
"calendar", "v3", credentials=scoped_credentials, cache_discovery=False
)
return service
@staticmethod
def from_config(config: Optional[Dict[str, str]] = None) -> discovery.Resource:
"""make service Resource from config dict
Arguments:
**config** -- config with keys:
(optional) service_account: - service account filename
if key not in dict then default credentials will be used
( https://developers.google.com/identity/protocols/application-default-credentials )
-- **None**: default credentials will be used
"""
if config is not None and "service_account" in config:
service_account_filename: str = config["service_account"]
service = GoogleCalendarService.from_srv_acc_file(service_account_filename)
else:
service = GoogleCalendarService.default()
return service
def select_event_key(event: EventData) -> Optional[str]:
"""select event key for logging
Arguments:
event -- event resource
Returns:
key name or None if no key found
"""
key = None
if 'iCalUID' in event:
key = 'iCalUID'
elif 'id' in event:
key = 'id'
key: Optional[str] = None
if "iCalUID" in event:
key = "iCalUID"
elif "id" in event:
key = "id"
return key
class GoogleCalendar():
"""class to interact with calendar on google
"""
class GoogleCalendar:
"""class to interact with calendar on Google"""
logger = logging.getLogger('GoogleCalendar')
logger = logging.getLogger("GoogleCalendar")
def __init__(self, service, calendarId):
self.service = service
self.calendarId = calendarId
def __init__(self, service: discovery.Resource, calendar_id: Optional[str]):
self.service: discovery.Resource = service
self.calendar_id: str = str(calendar_id)
def _make_request_callback(self, action, events_by_req):
def _make_request_callback(
self, action: str, events_by_req: EventList
) -> BatchRequestCallback:
"""make callback for log result of batch request
Arguments:
action -- action name
events_by_req -- list of events ordered by request id
Returns:
callback function
"""
def callback(request_id, response, exception):
event = events_by_req[int(request_id)]
key = select_event_key(event)
def callback(
request_id: str, response: Any, exception: Optional[Exception]
) -> None:
event: EventData = events_by_req[int(request_id)]
event_key: Optional[str] = select_event_key(event)
key: str = event_key if event_key is not None else ""
if exception is not None:
self.logger.error('failed to %s event with %s: %s, exception: %s',
action, key, event.get(key), str(exception))
self.logger.error(
"failed to %s event with %s: %s, exception: %s",
action,
key,
event.get(key),
str(exception),
)
else:
resp_key = select_event_key(response)
resp_key: Optional[str] = select_event_key(response)
if resp_key is not None:
event = response
key = resp_key
self.logger.info('event %s ok, %s: %s',
action, key, event.get(key))
self.logger.info("event %s ok, %s: %s", action, key, event.get(key))
return callback
def list_events_from(self, start):
""" list events from calendar, where start date >= start
"""
fields = 'nextPageToken,items(id,iCalUID,updated)'
events = []
page_token = None
timeMin = utc.normalize(start.astimezone(utc)).replace(
tzinfo=None).isoformat() + 'Z'
def list_events_from(self, start: datetime) -> EventList:
"""list events from calendar, where start date >= start"""
fields: str = "nextPageToken,items(id,iCalUID,updated)"
events: EventList = []
page_token: Optional[str] = None
time_min: str = (
utc.normalize(start.astimezone(utc)).replace(tzinfo=None).isoformat() + "Z"
)
while True:
response = self.service.events().list(calendarId=self.calendarId, pageToken=page_token,
singleEvents=True, timeMin=timeMin, fields=fields).execute()
if 'items' in response:
events.extend(response['items'])
page_token = response.get('nextPageToken')
response = (
self.service.events()
.list(
calendarId=self.calendar_id,
pageToken=page_token,
singleEvents=True,
timeMin=time_min,
fields=fields,
)
.execute()
)
if "items" in response:
events.extend(response["items"])
page_token = response.get("nextPageToken")
if not page_token:
break
self.logger.info('%d events listed', len(events))
self.logger.info("%d events listed", len(events))
return events
def find_exists(self, events):
""" find existing events from list, by 'iCalUID' field
def find_exists(self, events: EventList) -> EventsSearchResults:
"""find existing events from list, by 'iCalUID' field
Arguments:
events {list} -- list of events
Returns:
tuple -- (events_exist, events_not_found)
EventsSearchResults -- (events_exist, events_not_found)
events_exist - list of tuples: (new_event, exists_event)
"""
fields = 'items(id,iCalUID,updated)'
events_by_req = []
exists = []
not_found = []
fields: str = "items(id,iCalUID,updated)"
events_by_req: EventList = []
exists: List[EventTuple] = []
not_found: EventList = []
def list_callback(request_id, response, exception):
found = False
event = events_by_req[int(request_id)]
def list_callback(
request_id: str, response: Any, exception: Optional[Exception]
) -> None:
found: bool = False
cur_event: EventData = events_by_req[int(request_id)]
if exception is None:
found = ([] != response['items'])
found = [] != response["items"]
else:
self.logger.error('exception %s, while listing event with UID: %s', str(
exception), event['iCalUID'])
self.logger.error(
"exception %s, while listing event with UID: %s",
str(exception),
cur_event["iCalUID"],
)
if found:
exists.append(
(event, response['items'][0]))
exists.append((cur_event, response["items"][0]))
else:
not_found.append(events_by_req[int(request_id)])
batch = self.service.new_batch_http_request(callback=list_callback)
i = 0
i: int = 0
for event in events:
events_by_req.append(event)
batch.add(self.service.events().list(calendarId=self.calendarId,
iCalUID=event['iCalUID'], showDeleted=True, fields=fields), request_id=str(i))
batch.add(
self.service.events().list(
calendarId=self.calendar_id,
iCalUID=event["iCalUID"],
showDeleted=True,
fields=fields,
),
request_id=str(i),
)
i += 1
batch.execute()
self.logger.info('%d events exists, %d not found',
len(exists), len(not_found))
return exists, not_found
self.logger.info("%d events exists, %d not found", len(exists), len(not_found))
return EventsSearchResults(exists, not_found)
def insert_events(self, events):
""" insert list of events
def insert_events(self, events: EventList) -> None:
"""insert list of events
Arguments:
events - events list
"""
fields = 'id'
events_by_req = []
fields: str = "id"
events_by_req: EventList = []
insert_callback = self._make_request_callback('insert', events_by_req)
insert_callback = self._make_request_callback("insert", events_by_req)
batch = self.service.new_batch_http_request(callback=insert_callback)
i = 0
i: int = 0
for event in events:
events_by_req.append(event)
batch.add(self.service.events().insert(
calendarId=self.calendarId, body=event, fields=fields), request_id=str(i))
batch.add(
self.service.events().insert(
calendarId=self.calendar_id, body=event, fields=fields
),
request_id=str(i),
)
i += 1
batch.execute()
def patch_events(self, event_tuples):
""" patch (update) events
def patch_events(self, event_tuples: List[EventTuple]) -> None:
"""patch (update) events
Arguments:
event_tuples -- list of tuples: (new_event, exists_event)
"""
fields = 'id'
events_by_req = []
fields: str = "id"
events_by_req: EventList = []
patch_callback = self._make_request_callback('patch', events_by_req)
patch_callback = self._make_request_callback("patch", events_by_req)
batch = self.service.new_batch_http_request(callback=patch_callback)
i = 0
i: int = 0
for event_new, event_old in event_tuples:
if 'id' not in event_old:
if "id" not in event_old:
continue
events_by_req.append(event_new)
batch.add(self.service.events().patch(
calendarId=self.calendarId, eventId=event_old['id'], body=event_new), fields=fields, request_id=str(i))
batch.add(
self.service.events().patch(
calendarId=self.calendar_id, eventId=event_old["id"], body=event_new
),
fields=fields,
request_id=str(i),
)
i += 1
batch.execute()
def update_events(self, event_tuples):
""" update events
def update_events(self, event_tuples: List[EventTuple]) -> None:
"""update events
Arguments:
event_tuples -- list of tuples: (new_event, exists_event)
"""
fields = 'id'
events_by_req = []
fields: str = "id"
events_by_req: EventList = []
update_callback = self._make_request_callback('update', events_by_req)
update_callback = self._make_request_callback("update", events_by_req)
batch = self.service.new_batch_http_request(callback=update_callback)
i = 0
i: int = 0
for event_new, event_old in event_tuples:
if 'id' not in event_old:
if "id" not in event_old:
continue
events_by_req.append(event_new)
batch.add(self.service.events().update(
calendarId=self.calendarId, eventId=event_old['id'], body=event_new, fields=fields), request_id=str(i))
batch.add(
self.service.events().update(
calendarId=self.calendar_id,
eventId=event_old["id"],
body=event_new,
fields=fields,
),
request_id=str(i),
)
i += 1
batch.execute()
def delete_events(self, events):
""" delete events
def delete_events(self, events: EventList) -> None:
"""delete events
Arguments:
events -- list of events
"""
events_by_req = []
events_by_req: EventList = []
delete_callback = self._make_request_callback('delete', events_by_req)
delete_callback = self._make_request_callback("delete", events_by_req)
batch = self.service.new_batch_http_request(callback=delete_callback)
i = 0
i: int = 0
for event in events:
events_by_req.append(event)
batch.add(self.service.events().delete(
calendarId=self.calendarId, eventId=event['id']), request_id=str(i))
batch.add(
self.service.events().delete(
calendarId=self.calendar_id, eventId=event["id"]
),
request_id=str(i),
)
i += 1
batch.execute()
def create(self, summary, timeZone=None):
def create(self, summary: str, time_zone: Optional[str] = None) -> Any:
"""create calendar
Arguments:
@@ -240,44 +410,35 @@ class GoogleCalendar():
calendar Resource
"""
calendar = {'summary': summary}
if timeZone is not None:
calendar['timeZone'] = timeZone
calendar = CalendarData(summary=summary)
if time_zone is not None:
calendar["timeZone"] = time_zone
created_calendar = self.service.calendars().insert(body=calendar).execute()
self.calendarId = created_calendar['id']
self.calendar_id = created_calendar["id"]
return created_calendar
def delete(self):
"""delete calendar
"""
def delete(self) -> None:
"""delete calendar"""
self.service.calendars().delete(calendarId=self.calendarId).execute()
self.service.calendars().delete(calendarId=self.calendar_id).execute()
def make_public(self):
"""make calendar puplic
"""
def make_public(self) -> None:
"""make calendar public"""
rule_public = {
'scope': {
'type': 'default',
},
'role': 'reader'
}
return self.service.acl().insert(calendarId=self.calendarId, body=rule_public).execute()
rule_public = ACLRule(scope=ACLScope(type="default"), role="reader")
self.service.acl().insert(
calendarId=self.calendar_id, body=rule_public
).execute()
def add_owner(self, email):
def add_owner(self, email: str) -> None:
"""add calendar owner by email
Arguments:
email -- email to add
"""
rule_owner = {
'scope': {
'type': 'user',
'value': email,
},
'role': 'owner'
}
return self.service.acl().insert(calendarId=self.calendarId, body=rule_owner).execute()
rule_owner = ACLRule(scope=ACLScope(type="user", value=email), role="owner")
self.service.acl().insert(
calendarId=self.calendar_id, body=rule_owner
).execute()

@@ -1,12 +1,25 @@
import datetime
import logging
from typing import Union, Dict, Callable, Optional, Mapping, TypedDict
from icalendar import Calendar, Event
from pytz import utc
from .gcal import (
EventData,
EventList,
EventDateOrDateTime,
EventDateTime,
EventDate,
EventDataKey,
)
def format_datetime_utc(value):
DateDateTime = Union[datetime.date, datetime.datetime]
def format_datetime_utc(value: DateDateTime) -> str:
"""utc datetime as string from date or datetime value
Arguments:
value -- date or datetime value
@@ -14,54 +27,57 @@ def format_datetime_utc(value):
utc datetime value as string in iso format
"""
if not isinstance(value, datetime.datetime):
value = datetime.datetime(
value.year, value.month, value.day, tzinfo=utc)
value = datetime.datetime(value.year, value.month, value.day, tzinfo=utc)
value = value.replace(microsecond=1)
return utc.normalize(value.astimezone(utc)).replace(tzinfo=None).isoformat() + 'Z'
return utc.normalize(value.astimezone(utc)).replace(tzinfo=None).isoformat() + "Z"
def gcal_date_or_dateTime(value, check_value=None):
"""date or dateTime to gcal (start or end dict)
def gcal_date_or_datetime(
value: DateDateTime, check_value: Optional[DateDateTime] = None
) -> EventDateOrDateTime:
"""date or datetime to gcal (start or end dict)
Arguments:
value -- date or datetime value
check_value - date or datetime to choise result type (if not None)
value: date or datetime
check_value: optional for choose result type
Returns:
dict { 'date': ... } or { 'dateTime': ... }
{ 'date': ... } or { 'dateTime': ... }
"""
if check_value is None:
check_value = value
result = {}
result: EventDateOrDateTime
if isinstance(check_value, datetime.datetime):
result['dateTime'] = format_datetime_utc(value)
result = EventDateTime(dateTime=format_datetime_utc(value))
else:
if isinstance(check_value, datetime.date):
if isinstance(value, datetime.datetime):
value = datetime.date(value.year, value.month, value.day)
result['date'] = value.isoformat()
result = EventDate(date=value.isoformat())
return result
class EventConverter(Event):
class EventConverter(Event): # type: ignore
"""Convert icalendar event to google calendar resource
( https://developers.google.com/calendar/v3/reference/events#resource-representations )
"""
def _str_prop(self, prop):
def _str_prop(self, prop: str) -> str:
"""decoded string property
Arguments:
prop - propperty name
prop - property name
Returns:
string value
"""
return self.decoded(prop).decode(encoding='utf-8')
return str(self.decoded(prop).decode(encoding="utf-8"))
def _datetime_str_prop(self, prop):
def _datetime_str_prop(self, prop: str) -> str:
"""utc datetime as string from property
Arguments:
@@ -73,8 +89,8 @@ class EventConverter(Event):
return format_datetime_utc(self.decoded(prop))
def _gcal_start(self):
""" event start dict from icalendar event
def _gcal_start(self) -> EventDateOrDateTime:
"""event start dict from icalendar event
Raises:
ValueError -- if DTSTART not date or datetime
@@ -83,10 +99,10 @@ class EventConverter(Event):
dict
"""
value = self.decoded('DTSTART')
return gcal_date_or_dateTime(value)
value = self.decoded("DTSTART")
return gcal_date_or_datetime(value)
def _gcal_end(self):
def _gcal_end(self) -> EventDateOrDateTime:
"""event end dict from icalendar event
Raises:
@@ -95,25 +111,31 @@ class EventConverter(Event):
dict
"""
result = None
if 'DTEND' in self:
value = self.decoded('DTEND')
result = gcal_date_or_dateTime(value)
elif 'DURATION' in self:
start_val = self.decoded('DTSTART')
duration = self.decoded('DURATION')
result: EventDateOrDateTime
if "DTEND" in self:
value = self.decoded("DTEND")
result = gcal_date_or_datetime(value)
elif "DURATION" in self:
start_val = self.decoded("DTSTART")
duration = self.decoded("DURATION")
end_val = start_val + duration
result = gcal_date_or_dateTime(end_val, check_value=start_val)
result = gcal_date_or_datetime(end_val, check_value=start_val)
else:
raise ValueError('no DTEND or DURATION')
raise ValueError("no DTEND or DURATION")
return result
def _put_to_gcal(self, gcal_event, prop, func, ics_prop=None):
"""get property from ical event if exist, and put to gcal event
def _put_to_gcal(
self,
gcal_event: EventData,
prop: EventDataKey,
func: Callable[[str], str],
ics_prop: Optional[str] = None,
) -> None:
"""get property from ical event if existed, and put to gcal event
Arguments:
gcal_event -- dest event
gcal_event -- destination event
prop -- property name
func -- function to convert
ics_prop -- ical property name (default: {None})
@@ -124,61 +146,56 @@ class EventConverter(Event):
if ics_prop in self:
gcal_event[prop] = func(ics_prop)
def to_gcal(self):
def convert(self) -> EventData:
"""Convert
Returns:
dict - google calendar#event resource
"""
event = {
'iCalUID': self._str_prop('UID')
}
event: EventData = EventData(
iCalUID=self._str_prop("UID"),
start=self._gcal_start(),
end=self._gcal_end(),
)
event['start'] = self._gcal_start()
event['end'] = self._gcal_end()
self._put_to_gcal(event, 'summary', self._str_prop)
self._put_to_gcal(event, 'description', self._str_prop)
self._put_to_gcal(event, 'location', self._str_prop)
self._put_to_gcal(event, 'created', self._datetime_str_prop)
self._put_to_gcal(event, "summary", self._str_prop)
self._put_to_gcal(event, "description", self._str_prop)
self._put_to_gcal(event, "location", self._str_prop)
self._put_to_gcal(event, "created", self._datetime_str_prop)
self._put_to_gcal(event, "updated", self._datetime_str_prop, "LAST-MODIFIED")
self._put_to_gcal(
event, 'updated', self._datetime_str_prop, 'LAST-MODIFIED')
self._put_to_gcal(
event, 'transparency', lambda prop: self._str_prop(prop).lower(), 'TRANSP')
event, "transparency", lambda prop: self._str_prop(prop).lower(), "TRANSP"
)
return event
class CalendarConverter():
"""Convert icalendar events to google calendar resources
"""
class CalendarConverter:
"""Convert icalendar events to google calendar resources"""
logger = logging.getLogger('CalendarConverter')
logger = logging.getLogger("CalendarConverter")
def __init__(self, calendar=None):
self.calendar = calendar
def __init__(self, calendar: Optional[Calendar] = None):
self.calendar: Optional[Calendar] = calendar
def load(self, filename):
""" load calendar from ics file
"""
with open(filename, 'r', encoding='utf-8') as f:
def load(self, filename: str) -> None:
"""load calendar from ics file"""
with open(filename, "r", encoding="utf-8") as f:
self.calendar = Calendar.from_ical(f.read())
self.logger.info('%s loaded', filename)
self.logger.info("%s loaded", filename)
def loads(self, string):
""" load calendar from ics string
"""
def loads(self, string: str) -> None:
"""load calendar from ics string"""
self.calendar = Calendar.from_ical(string)
def events_to_gcal(self):
"""Convert events to google calendar resources
"""
def events_to_gcal(self) -> EventList:
"""Convert events to google calendar resources"""
ics_events = self.calendar.walk(name='VEVENT')
self.logger.info('%d events readed', len(ics_events))
calendar: Calendar = self.calendar
ics_events = calendar.walk(name="VEVENT")
self.logger.info("%d events read", len(ics_events))
result = list(
map(lambda event: EventConverter(event).to_gcal(), ics_events))
self.logger.info('%d events converted', len(result))
result = list(map(lambda event: EventConverter(event).convert(), ics_events))
self.logger.info("%d events converted", len(result))
return result

@@ -1,104 +1,154 @@
import argparse
import datetime
import logging.config
from typing import Optional, Dict, Any, List
import fire
import yaml
from pytz import utc
from . import GoogleCalendar, GoogleCalendarService
def parse_args():
parser = argparse.ArgumentParser(
description="manage google calendars in service account")
command_subparsers = parser.add_subparsers(help='command', dest='command')
command_subparsers.add_parser('list', help='list calendars')
parser_create = command_subparsers.add_parser(
'create', help='create calendar')
parser_create.add_argument(
'summary', action='store', help='new calendar summary')
parser_create.add_argument('--timezone', action='store',
default=None, required=False, help='new calendar timezone')
parser_create.add_argument(
'--public', default=False, action='store_true', help='make calendar public')
parser_add_owner = command_subparsers.add_parser(
'add_owner', help='add owner to calendar')
parser_add_owner.add_argument('id', action='store', help='calendar id')
parser_add_owner.add_argument(
'owner_email', action='store', help='new owner email')
parser_remove = command_subparsers.add_parser(
'remove', help='remove calendar')
parser_remove.add_argument(
'id', action='store', help='calendar id to remove')
parser_rename = command_subparsers.add_parser(
'rename', help='rename calendar')
parser_rename.add_argument(
'id', action='store', help='calendar id')
parser_rename.add_argument(
'summary', action='store', help='new summary')
args = parser.parse_args()
if args.command is None:
parser.print_usage()
return args
def load_config(filename: str) -> Optional[Dict[str, Any]]:
result: Optional[Dict[str, Any]] = None
try:
with open(filename, "r", encoding="utf-8") as f:
result = yaml.safe_load(f)
except FileNotFoundError:
pass
def load_config():
with open('config.yml', 'r', encoding='utf-8') as f:
result = yaml.safe_load(f)
return result
def list_calendars(service):
response = service.calendarList().list(fields='items(id,summary)').execute()
for calendar in response.get('items'):
print('{summary}: {id}'.format_map(calendar))
class PropertyCommands:
"""get/set google calendar properties"""
def __init__(self, _service: Any) -> None:
self._service = _service
def get(self, calendar_id: str, property_name: str) -> None:
"""get calendar property
Args:
calendar_id: calendar id
property_name: property key
"""
response = (
self._service.calendarList()
.get(calendarId=calendar_id, fields=property_name)
.execute()
)
print(response.get(property_name))
def set(self, calendar_id: str, property_name: str, property_value: str) -> None:
"""set calendar property
Args:
calendar_id: calendar id
property_name: property key
property_value: property value
"""
body = {property_name: property_value}
response = (
self._service.calendarList()
.patch(body=body, calendarId=calendar_id)
.execute()
)
print(response)
def create_calendar(service, summary, timezone, public):
calendar = GoogleCalendar(service, None)
calendar.create(summary, timezone)
if public:
calendar.make_public()
print('{}: {}'.format(summary, calendar.calendarId))
class Commands:
"""manage google calendars in service account"""
def __init__(self, config: str = "config.yml"):
"""
Args:
config(str): config filename
"""
self._config: Optional[Dict[str, Any]] = load_config(config)
if self._config is not None and "logging" in self._config:
logging.config.dictConfig(self._config["logging"])
self._service = GoogleCalendarService.from_config(self._config)
self.property = PropertyCommands(self._service)
def list(self, show_hidden: bool = False, show_deleted: bool = False) -> None:
"""list calendars
Args:
show_hidden: show hidden calendars
show_deleted: show deleted calendars
"""
fields: str = "nextPageToken,items(id,summary)"
calendars: List[Dict[str, Any]] = []
page_token: Optional[str] = None
while True:
calendars_api = self._service.calendarList()
response = calendars_api.list(
fields=fields,
pageToken=page_token,
showHidden=show_hidden,
showDeleted=show_deleted,
).execute()
if "items" in response:
calendars.extend(response["items"])
page_token = response.get("nextPageToken")
if page_token is None:
break
for calendar in calendars:
print("{summary}: {id}".format_map(calendar))
def create(
self, summary: str, timezone: Optional[str] = None, public: bool = False
) -> None:
"""create calendar
Args:
summary: new calendar summary
timezone: new calendar timezone
public: make calendar public
"""
calendar = GoogleCalendar(self._service, None)
calendar.create(summary, timezone)
if public:
calendar.make_public()
print("{}: {}".format(summary, calendar.calendar_id))
def add_owner(self, calendar_id: str, email: str) -> None:
"""add owner to calendar
Args:
calendar_id: calendar id
email: new owner email
"""
calendar = GoogleCalendar(self._service, calendar_id)
calendar.add_owner(email)
print("to {} added owner: {}".format(calendar_id, email))
def remove(self, calendar_id: str) -> None:
"""remove calendar
Args:
calendar_id: calendar id
"""
calendar = GoogleCalendar(self._service, calendar_id)
calendar.delete()
print("removed: {}".format(calendar_id))
def rename(self, calendar_id: str, summary: str) -> None:
"""rename calendar
Args:
calendar_id: calendar id
summary:
"""
calendar = {"summary": summary}
self._service.calendars().patch(body=calendar, calendarId=calendar_id).execute()
print("{}: {}".format(summary, calendar_id))
def add_owner(service, id, owner_email):
calendar = GoogleCalendar(service, id)
calendar.add_owner(owner_email)
print('to {} added owner: {}'.format(id, owner_email))
def main() -> None:
fire.Fire(Commands, name="manage-ics2gcal")
def remove_calendar(service, id):
calendar = GoogleCalendar(service, id)
calendar.delete()
print('removed: {}'.format(id))
def rename_calendar(service, id, summary):
calendar = {'summary': summary}
service.calendars().patch(body=calendar, calendarId=id).execute()
print('{}: {}'.format(summary, id))
def main():
args = parse_args()
config = load_config()
if 'logging' in config:
logging.config.dictConfig(config['logging'])
srv_acc_file = config['service_account']
service = GoogleCalendarService.from_srv_acc_file(srv_acc_file)
if 'list' == args.command:
list_calendars(service)
elif 'create' == args.command:
create_calendar(service, args.summary, args.timezone, args.public)
elif 'add_owner' == args.command:
add_owner(service, args.id, args.owner_email)
elif 'remove' == args.command:
remove_calendar(service, args.id)
elif 'rename' == args.command:
rename_calendar(service, args.id, args.summary)
if __name__ == '__main__':
if __name__ == "__main__":
main()

0
sync_ics2gcal/py.typed Normal file

@@ -1,111 +1,144 @@
import datetime
import dateutil.parser
import logging
import operator
from typing import List, Dict, Set, Tuple, Union, Callable, NamedTuple
import dateutil.parser
from pytz import utc
from .gcal import (
GoogleCalendar,
EventData,
EventList,
EventTuple,
EventDataKey,
EventDateOrDateTime,
EventDate,
)
from .ical import CalendarConverter, DateDateTime
class CalendarSync():
"""class for syncronize calendar with google
"""
logger = logging.getLogger('CalendarSync')
class ComparedEvents(NamedTuple):
"""Compared events"""
def __init__(self, gcalendar, converter):
self.gcalendar = gcalendar
self.converter = converter
added: EventList
changed: List[EventTuple]
deleted: EventList
class CalendarSync:
"""class for synchronize calendar with Google"""
logger = logging.getLogger("CalendarSync")
def __init__(self, gcalendar: GoogleCalendar, converter: CalendarConverter):
self.gcalendar: GoogleCalendar = gcalendar
self.converter: CalendarConverter = converter
self.to_insert: EventList = []
self.to_update: List[EventTuple] = []
self.to_delete: EventList = []
@staticmethod
def _events_list_compare(items_src, items_dst, key='iCalUID'):
""" compare list of events by key
def _events_list_compare(
items_src: EventList, items_dst: EventList, key: EventDataKey = "iCalUID"
) -> ComparedEvents:
"""compare list of events by key
Arguments:
items_src {list of dict} -- source events
items_dst {list of dict} -- dest events
items_dst {list of dict} -- destination events
key {str} -- name of key to compare (default: {'iCalUID'})
Returns:
tuple -- (items_to_insert,
items_to_update,
items_to_delete)
ComparedEvents -- (added, changed, deleted)
"""
def get_key(item): return item[key]
def get_key(item: EventData) -> str:
return str(item[key])
keys_src = set(map(get_key, items_src))
keys_dst = set(map(get_key, items_dst))
keys_src: Set[str] = set(map(get_key, items_src))
keys_dst: Set[str] = set(map(get_key, items_dst))
keys_to_insert = keys_src - keys_dst
keys_to_update = keys_src & keys_dst
keys_to_delete = keys_dst - keys_src
def items_by_keys(items, key_name, keys):
return list(filter(lambda item: item[key_name] in keys, items))
def items_by_keys(items: EventList, keys: Set[str]) -> EventList:
return list(filter(lambda item: get_key(item) in keys, items))
items_to_insert = items_by_keys(items_src, key, keys_to_insert)
items_to_delete = items_by_keys(items_dst, key, keys_to_delete)
items_to_insert = items_by_keys(items_src, keys_to_insert)
items_to_delete = items_by_keys(items_dst, keys_to_delete)
to_upd_src = items_by_keys(items_src, key, keys_to_update)
to_upd_dst = items_by_keys(items_dst, key, keys_to_update)
to_upd_src = items_by_keys(items_src, keys_to_update)
to_upd_dst = items_by_keys(items_dst, keys_to_update)
to_upd_src.sort(key=get_key)
to_upd_dst.sort(key=get_key)
items_to_update = list(zip(to_upd_src, to_upd_dst))
return items_to_insert, items_to_update, items_to_delete
return ComparedEvents(items_to_insert, items_to_update, items_to_delete)
def _filter_events_to_update(self):
""" filter 'to_update' events by 'updated' datetime
"""
def _filter_events_to_update(self) -> None:
"""filter 'to_update' events by 'updated' datetime"""
def filter_updated(event_tuple):
def filter_updated(event_tuple: EventTuple) -> bool:
new, old = event_tuple
return dateutil.parser.parse(new['updated']) > dateutil.parser.parse(old['updated'])
if "updated" not in new or "updated" not in old:
return True
new_date = dateutil.parser.parse(new["updated"])
old_date = dateutil.parser.parse(old["updated"])
return new_date > old_date
self.to_update = list(filter(filter_updated, self.to_update))
@staticmethod
def _filter_events_by_date(events, date, op):
""" filter events by start datetime
def _filter_events_by_date(
events: EventList,
date: DateDateTime,
op: Callable[[DateDateTime, DateDateTime], bool],
) -> EventList:
"""filter events by start datetime
Arguments:
events -- events list
date {datetime} -- datetime to compare
op {operator} -- comparsion operator
op {operator} -- comparison operator
Returns:
list of filtred events
list of filtered events
"""
def filter_by_date(event):
def filter_by_date(event: EventData) -> bool:
date_cmp = date
event_start = event['start']
event_date = None
event_start: EventDateOrDateTime = event["start"]
event_date: Union[DateDateTime, str, None] = None
compare_dates = False
if 'date' in event_start:
event_date = event_start['date']
if "date" in event_start:
event_date = event_start["date"] # type: ignore
compare_dates = True
elif 'dateTime' in event_start:
event_date = event_start['dateTime']
event_date = dateutil.parser.parse(event_date)
elif "dateTime" in event_start:
event_date = event_start["dateTime"] # type: ignore
event_date = dateutil.parser.parse(str(event_date))
if compare_dates:
date_cmp = datetime.date(date.year, date.month, date.day)
event_date = datetime.date(event_date.year, event_date.month, event_date.day)
event_date = datetime.date(
event_date.year, event_date.month, event_date.day
)
return op(event_date, date_cmp)
return list(filter(filter_by_date, events))
@staticmethod
def _tz_aware_datetime(date):
"""make tz aware datetime from datetime/date (utc if no tzinfo)
def _tz_aware_datetime(date: DateDateTime) -> datetime.datetime:
"""make tz aware datetime from datetime/date (utc if no tz-info)
Arguments:
date - date or datetime / with or without tzinfo
date - date or datetime / with or without tz-info
Returns:
datetime with tzinfo
datetime with tz-info
"""
if not isinstance(date, datetime.datetime):
@@ -114,8 +147,8 @@ class CalendarSync():
date = date.replace(tzinfo=utc)
return date
def prepare_sync(self, start_date):
"""prepare sync lists by comparsion of events
def prepare_sync(self, start_date: DateDateTime) -> None:
"""prepare sync lists by comparison of events
Arguments:
start_date -- date/datetime to start sync
@@ -128,46 +161,52 @@ class CalendarSync():
# divide source events by start datetime
events_src_pending = CalendarSync._filter_events_by_date(
events_src, start_date, operator.ge)
events_src, start_date, operator.ge
)
events_src_past = CalendarSync._filter_events_by_date(
events_src, start_date, operator.lt)
events_src, start_date, operator.lt
)
events_src = None
# first events comparsion
self.to_insert, self.to_update, self.to_delete = CalendarSync._events_list_compare(
events_src_pending, events_dst)
events_src_pending, events_dst = None, None
# first events comparison
(
self.to_insert,
self.to_update,
self.to_delete,
) = CalendarSync._events_list_compare(events_src_pending, events_dst)
# find in events 'to_delete' past events from source, for update (move to past)
_, add_to_update, self.to_delete = CalendarSync._events_list_compare(
events_src_past, self.to_delete)
events_src_past, self.to_delete
)
self.to_update.extend(add_to_update)
events_src_past = None
# find if events 'to_insert' exists in gcalendar, for update them
add_to_update, self.to_insert = self.gcalendar.find_exists(
self.to_insert)
add_to_update, self.to_insert = self.gcalendar.find_exists(self.to_insert)
self.to_update.extend(add_to_update)
add_to_update = None
# exclude outdated events from 'to_update' list, by 'updated' field
self._filter_events_to_update()
self.logger.info('prepared to sync: ( insert: %d, update: %d, delete: %d )',
len(self.to_insert), len(self.to_update), len(self.to_delete))
self.logger.info(
"prepared to sync: ( insert: %d, update: %d, delete: %d )",
len(self.to_insert),
len(self.to_update),
len(self.to_delete),
)
def apply(self):
"""apply sync (insert, update, delete), using prepared lists of events
"""
def clear(self) -> None:
"""clear prepared sync lists (insert, update, delete)"""
self.to_insert.clear()
self.to_update.clear()
self.to_delete.clear()
def apply(self) -> None:
"""apply sync (insert, update, delete), using prepared lists of events"""
self.gcalendar.insert_events(self.to_insert)
self.gcalendar.update_events(self.to_update)
self.gcalendar.delete_events(self.to_delete)
self.logger.info('sync done')
self.clear()
self.to_insert, self.to_update, self.to_delete = [], [], []
self.logger.info("sync done")

@@ -1,52 +1,53 @@
from typing import Dict, Any, Union
import yaml
import dateutil.parser
import datetime
import logging
import logging.config
from . import (
CalendarConverter,
GoogleCalendarService,
GoogleCalendar,
CalendarSync
)
from . import CalendarConverter, GoogleCalendarService, GoogleCalendar, CalendarSync
def load_config():
with open('config.yml', 'r', encoding='utf-8') as f:
ConfigDate = Union[str, datetime.datetime]
def load_config() -> Dict[str, Any]:
with open("config.yml", "r", encoding="utf-8") as f:
result = yaml.safe_load(f)
return result
return result # type: ignore
def get_start_date(date_str):
result = datetime.datetime(1,1,1)
if 'now' == date_str:
def get_start_date(date: ConfigDate) -> datetime.datetime:
if isinstance(date, datetime.datetime):
return date
if "now" == date:
result = datetime.datetime.utcnow()
else:
result = dateutil.parser.parse(date_str)
result = dateutil.parser.parse(date)
return result
def main():
def main() -> None:
config = load_config()
if 'logging' in config:
logging.config.dictConfig(config['logging'])
if "logging" in config:
logging.config.dictConfig(config["logging"])
calendarId = config['calendar']['google_id']
ics_filepath = config['calendar']['source']
srv_acc_file = config['service_account']
calendar_id: str = config["calendar"]["google_id"]
ics_filepath: str = config["calendar"]["source"]
start = get_start_date(config['start_from'])
start = get_start_date(config["start_from"])
converter = CalendarConverter()
converter.load(ics_filepath)
service = GoogleCalendarService.from_srv_acc_file(srv_acc_file)
gcalendar = GoogleCalendar(service, calendarId)
service = GoogleCalendarService.from_config(config)
gcalendar = GoogleCalendar(service, calendar_id)
sync = CalendarSync(gcalendar, converter)
sync.prepare_sync(start)
sync.apply()
if __name__ == '__main__':
if __name__ == "__main__":
main()

@@ -1,93 +1,146 @@
import datetime
from typing import Tuple, Any
import pytest
from pytz import timezone, utc
from sync_ics2gcal import CalendarConverter
from sync_ics2gcal.ical import format_datetime_utc
uid = "UID:uisgtr8tre93wewe0yr8wqy@test.com"
only_start_date = uid + """
only_start_date = (
uid
+ """
DTSTART;VALUE=DATE:20180215
"""
date_val = only_start_date + """
)
date_val = (
only_start_date
+ """
DTEND;VALUE=DATE:20180217
"""
date_duration = only_start_date + """
)
date_duration = (
only_start_date
+ """
DURATION:P2D
"""
datetime_utc_val = uid + """
)
datetime_utc_val = (
uid
+ """
DTSTART;VALUE=DATE-TIME:20180319T092001Z
DTEND:20180321T102501Z
"""
datetime_utc_duration = uid + """
)
datetime_utc_duration = (
uid
+ """
DTSTART;VALUE=DATE-TIME:20180319T092001Z
DURATION:P2DT1H5M
"""
created_updated = date_val + """
)
created_updated = (
date_val
+ """
CREATED:20180320T071155Z
LAST-MODIFIED:20180326T120235Z
"""
)
def ics_test_cal(content):
def ics_test_cal(content: str) -> str:
return "BEGIN:VCALENDAR\r\n{}END:VCALENDAR\r\n".format(content)
def ics_test_event(content):
def ics_test_event(content: str) -> str:
return ics_test_cal("BEGIN:VEVENT\r\n{}END:VEVENT\r\n".format(content))
def test_empty_calendar():
def test_empty_calendar() -> None:
converter = CalendarConverter()
converter.loads(ics_test_cal(""))
evnts = converter.events_to_gcal()
assert evnts == []
def test_empty_event():
def test_empty_event() -> None:
converter = CalendarConverter()
converter.loads(ics_test_event(""))
with pytest.raises(KeyError):
converter.events_to_gcal()
def test_event_no_end():
def test_event_no_end() -> None:
converter = CalendarConverter()
converter.loads(ics_test_event(only_start_date))
with pytest.raises(ValueError):
converter.events_to_gcal()
@pytest.fixture(params=[
("date", ics_test_event(date_val), '2018-02-15', '2018-02-17'),
("date", ics_test_event(date_duration), '2018-02-15', '2018-02-17'),
("dateTime", ics_test_event(datetime_utc_val),
'2018-03-19T09:20:01.000001Z', '2018-03-21T10:25:01.000001Z'),
("dateTime", ics_test_event(datetime_utc_duration), '2018-03-19T09:20:01.000001Z', '2018-03-21T10:25:01.000001Z')],
ids=['date values', 'date duration',
'datetime utc values', 'datetime utc duration']
@pytest.fixture(
params=[
("date", ics_test_event(date_val), "2018-02-15", "2018-02-17"),
("date", ics_test_event(date_duration), "2018-02-15", "2018-02-17"),
(
"dateTime",
ics_test_event(datetime_utc_val),
"2018-03-19T09:20:01.000001Z",
"2018-03-21T10:25:01.000001Z",
),
(
"dateTime",
ics_test_event(datetime_utc_duration),
"2018-03-19T09:20:01.000001Z",
"2018-03-21T10:25:01.000001Z",
),
],
ids=[
"date values",
"date duration",
"datetime utc values",
"datetime utc duration",
],
)
def param_events_start_end(request):
def param_events_start_end(request: Any) -> Any:
return request.param
def test_event_start_end(param_events_start_end):
def test_event_start_end(param_events_start_end: Tuple[str, str, str, str]) -> None:
(date_type, ics_str, start, end) = param_events_start_end
converter = CalendarConverter()
converter.loads(ics_str)
events = converter.events_to_gcal()
assert len(events) == 1
event = events[0]
assert event['start'] == {
date_type: start
}
assert event['end'] == {
date_type: end
}
assert event["start"] == {date_type: start}
assert event["end"] == {date_type: end}
def test_event_created_updated():
def test_event_created_updated() -> None:
converter = CalendarConverter()
converter.loads(ics_test_event(created_updated))
events = converter.events_to_gcal()
assert len(events) == 1
event = events[0]
assert event['created'] == '2018-03-20T07:11:55.000001Z'
assert event['updated'] == '2018-03-26T12:02:35.000001Z'
assert event["created"] == "2018-03-20T07:11:55.000001Z"
assert event["updated"] == "2018-03-26T12:02:35.000001Z"
@pytest.mark.parametrize(
"value,expected_str",
[
(
datetime.datetime(2022, 6, 3, 13, 52, 15, 1, utc),
"2022-06-03T13:52:15.000001Z",
),
(
datetime.datetime(2022, 6, 3, 13, 52, 15, 1, timezone("Europe/Moscow")),
"2022-06-03T11:22:15.000001Z",
),
(datetime.date(2022, 6, 3), "2022-06-03T00:00:00.000001Z"),
],
ids=["utc", "with timezone", "date"],
)
def test_format_datetime_utc(value: datetime.datetime, expected_str: str) -> None:
assert format_datetime_utc(value) == expected_str

@@ -3,92 +3,97 @@ import hashlib
import operator
from copy import deepcopy
from random import shuffle
from typing import Union, List, Dict, Optional, AnyStr
import dateutil.parser
import pytest
from pytz import timezone, utc
from sync_ics2gcal import CalendarSync
from sync_ics2gcal import CalendarSync, DateDateTime
from sync_ics2gcal.gcal import EventDateOrDateTime, EventData, EventList
def sha1(string):
if isinstance(string, str):
string = string.encode('utf8')
def sha1(s: AnyStr) -> str:
h = hashlib.sha1()
h.update(string)
h.update(str(s).encode("utf8") if isinstance(s, str) else s)
return h.hexdigest()
def gen_events(start, stop, start_time, no_time=False):
def gen_events(
start: int,
stop: int,
start_time: DateDateTime,
no_time: bool = False,
) -> EventList:
duration: datetime.timedelta
date_key: str
date_end: str
if no_time:
start_time = datetime.date(
start_time.year, start_time.month, start_time.day)
start_time = datetime.date(start_time.year, start_time.month, start_time.day)
duration = datetime.date(1, 1, 2) - datetime.date(1, 1, 1)
date_key = "date"
suff = ''
date_end = ""
else:
start_time = utc.normalize(
start_time.astimezone(utc)).replace(tzinfo=None)
duration = datetime.datetime(
1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
start_time = utc.normalize(start_time.astimezone(utc)).replace(tzinfo=None) # type: ignore
duration = datetime.datetime(1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
date_key = "dateTime"
suff = 'Z'
date_end = "Z"
result = []
result: EventList = []
for i in range(start, stop):
event_start = start_time + (duration * i)
event_end = event_start + duration
updated = event_start
updated: DateDateTime = event_start
if no_time:
updated = datetime.datetime(
updated.year, updated.month, updated.day, 0, 0, 0, 1, tzinfo=utc)
updated.year, updated.month, updated.day, 0, 0, 0, 1, tzinfo=utc
)
event = {
'summary': 'test event __ {}'.format(i),
'location': 'la la la {}'.format(i),
'description': 'test TEST -- test event {}'.format(i),
event: EventData = {
"summary": "test event __ {}".format(i),
"location": "la la la {}".format(i),
"description": "test TEST -- test event {}".format(i),
"iCalUID": "{}@test.com".format(sha1("test - event {}".format(i))),
"updated": updated.isoformat() + 'Z',
"created": updated.isoformat() + 'Z'
"updated": updated.isoformat() + "Z",
"created": updated.isoformat() + "Z",
"start": {date_key: event_start.isoformat() + date_end}, # type: ignore
"end": {date_key: event_end.isoformat() + date_end}, # type: ignore
}
event['start'] = {date_key: event_start.isoformat() + suff}
event['end'] = {date_key: event_end.isoformat() + suff}
result.append(event)
return result
def gen_list_to_compare(start, stop):
result = []
def gen_list_to_compare(start: int, stop: int) -> EventList:
result: EventList = []
for i in range(start, stop):
result.append({'iCalUID': 'test{:06d}'.format(i)})
result.append({"iCalUID": "test{:06d}".format(i)})
return result
def get_start_date(event):
event_start = event['start']
start_date = None
def get_start_date(event: EventData) -> DateDateTime:
event_start: EventDateOrDateTime = event["start"]
start_date: Optional[str] = None
is_date = False
if 'date' in event_start:
start_date = event_start['date']
if "date" in event_start:
start_date = event_start["date"] # type: ignore
is_date = True
if 'dateTime' in event_start:
start_date = event_start['dateTime']
if "dateTime" in event_start:
start_date = event_start["dateTime"] # type: ignore
result = dateutil.parser.parse(start_date)
result: DateDateTime = dateutil.parser.parse(str(start_date))
if is_date:
result = datetime.date(result.year, result.month, result.day)
return result
def test_compare():
part_len = 20
def test_compare() -> None:
part_len: int = 20
# [1..2n]
lst_src = gen_list_to_compare(1, 1 + part_len * 2)
# [n..3n]
lst_dst = gen_list_to_compare(
1 + part_len, 1 + part_len * 3)
lst_dst = gen_list_to_compare(1 + part_len, 1 + part_len * 3)
lst_src_rnd = deepcopy(lst_src)
lst_dst_rnd = deepcopy(lst_dst)
@@ -96,15 +101,14 @@ def test_compare():
shuffle(lst_src_rnd)
shuffle(lst_dst_rnd)
to_ins, to_upd, to_del = CalendarSync._events_list_compare(
lst_src_rnd, lst_dst_rnd)
to_ins, to_upd, to_del = CalendarSync._events_list_compare(lst_src_rnd, lst_dst_rnd)
assert len(to_ins) == part_len
assert len(to_upd) == part_len
assert len(to_del) == part_len
assert sorted(to_ins, key=lambda x: x['iCalUID']) == lst_src[:part_len]
assert sorted(to_del, key=lambda x: x['iCalUID']) == lst_dst[part_len:]
assert sorted(to_ins, key=lambda x: x["iCalUID"]) == lst_src[:part_len]
assert sorted(to_del, key=lambda x: x["iCalUID"]) == lst_dst[part_len:]
to_upd_ok = list(zip(lst_src[part_len:], lst_dst[:part_len]))
assert len(to_upd) == len(to_upd_ok)
@@ -112,35 +116,29 @@ def test_compare():
assert item in to_upd
@pytest.mark.parametrize("no_time", [True, False], ids=['date', 'dateTime'])
def test_filter_events_by_date(no_time):
msk = timezone('Europe/Moscow')
@pytest.mark.parametrize("no_time", [True, False], ids=["date", "dateTime"])
def test_filter_events_by_date(no_time: bool) -> None:
msk = timezone("Europe/Moscow")
now = utc.localize(datetime.datetime.utcnow())
msk_now = msk.normalize(now.astimezone(msk))
part_len = 5
if no_time:
duration = datetime.date(
1, 1, 2) - datetime.date(1, 1, 1)
duration = datetime.date(1, 1, 2) - datetime.date(1, 1, 1)
else:
duration = datetime.datetime(
1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
duration = datetime.datetime(1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
date_cmp = msk_now + (duration * part_len)
date_cmp: DateDateTime = msk_now + (duration * part_len)
if no_time:
date_cmp = datetime.date(
date_cmp.year, date_cmp.month, date_cmp.day)
date_cmp = datetime.date(date_cmp.year, date_cmp.month, date_cmp.day)
events = gen_events(
1, 1 + (part_len * 2), msk_now, no_time)
events = gen_events(1, 1 + (part_len * 2), msk_now, no_time)
shuffle(events)
events_pending = CalendarSync._filter_events_by_date(
events, date_cmp, operator.ge)
events_past = CalendarSync._filter_events_by_date(
events, date_cmp, operator.lt)
events_pending = CalendarSync._filter_events_by_date(events, date_cmp, operator.ge)
events_past = CalendarSync._filter_events_by_date(events, date_cmp, operator.lt)
assert len(events_pending) == 1 + part_len
assert len(events_past) == part_len - 1
@@ -152,26 +150,52 @@ def test_filter_events_by_date(no_time):
assert get_start_date(event) < date_cmp
def test_filter_events_to_update():
msk = timezone('Europe/Moscow')
def test_filter_events_to_update() -> None:
msk = timezone("Europe/Moscow")
now = utc.localize(datetime.datetime.utcnow())
msk_now = msk.normalize(now.astimezone(msk))
one_hour = datetime.datetime(
1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
one_hour = datetime.datetime(1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
date_upd = msk_now + (one_hour * 5)
count = 10
events_old = gen_events(1, 1 + count, msk_now)
events_new = gen_events(1, 1 + count, date_upd)
sync1 = CalendarSync(None, None)
sync1 = CalendarSync(None, None) # type: ignore
sync1.to_update = list(zip(events_new, events_old))
sync1._filter_events_to_update()
sync2 = CalendarSync(None, None)
sync2 = CalendarSync(None, None) # type: ignore
sync2.to_update = list(zip(events_old, events_new))
sync2._filter_events_to_update()
assert len(sync1.to_update) == count
assert sync2.to_update == []
def test_filter_events_no_updated() -> None:
"""
test filtering events that not have 'updated' field
such events should always pass the filter
"""
now = datetime.datetime.utcnow()
yesterday = now - datetime.timedelta(days=-1)
count = 10
events_old = gen_events(1, 1 + count, now)
events_new = gen_events(1, 1 + count, now)
# 1/2 updated=yesterday, 1/2 no updated field
i = 0
for event in events_new:
if 0 == i % 2:
event["updated"] = yesterday.isoformat() + "Z"
else:
del event["updated"]
i += 1
sync = CalendarSync(None, None) # type: ignore
sync.to_update = list(zip(events_old, events_new))
sync._filter_events_to_update()
assert len(sync.to_update) == count // 2