Google Calendar Simple API
==========================
.. image:: https://badge.fury.io/py/gcsa.svg
:target: https://badge.fury.io/py/gcsa
:alt: PyPi Package
.. image:: https://readthedocs.org/projects/google-calendar-simple-api/badge/?version=latest
:target: https://google-calendar-simple-api.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://github.com/kuzmoyev/Google-Calendar-Simple-API/workflows/Tests/badge.svg
:target: https://github.com/kuzmoyev/Google-Calendar-Simple-API/actions
:alt: Tests
.. image:: https://badgen.net/badge/icon/discord?icon=discord&label
:target: https://discord.gg/mRAegbwYKS
:alt: Discord
`Google Calendar Simple API` or `gcsa` is a library that simplifies event and calendar management in Google Calendars.
It is a Pythonic object oriented adapter for the official API. See the full `documentation`_.
Installation
------------
Using `uv`_:
.. code-block:: bash
uv add gcsa
Using pip:
.. code-block:: bash
pip install gcsa
See `Getting started page`_ for more details and installation options.
Example usage
-------------
List events
~~~~~~~~~~~
.. code-block:: python
from gcsa.google_calendar import GoogleCalendar
calendar = GoogleCalendar('your_email@gmail.com')
for event in calendar:
print(event)
Create event
~~~~~~~~~~~~
.. code-block:: python
from gcsa.event import Event
event = Event(
'The Glass Menagerie',
start=datetime(2020, 7, 10, 19, 0),
location='Záhřebská 468/21',
minutes_before_popup_reminder=15
)
calendar.add_event(event)
Create recurring event
~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
from gcsa.recurrence import Recurrence, DAILY
event = Event(
'Breakfast',
start=date(2020, 7, 16),
recurrence=Recurrence.rule(freq=DAILY)
)
calendar.add_event(event)
**Suggestion**: use beautiful_date_ to create `date` and `datetime` objects in your
projects (*because it's beautiful... just like you*).
References
----------
Template for `setup.py` was taken from `kennethreitz/setup.py`_
.. _uv: https://docs.astral.sh/uv/
.. _documentation: https://google-calendar-simple-api.readthedocs.io/en/latest/?badge=latest
.. _`Getting started page`: https://google-calendar-simple-api.readthedocs.io/en/latest/getting_started.html
.. _beautiful_date: https://github.com/kuzmoyev/beautiful-date
.. _`kennethreitz/setup.py`: https://github.com/kennethreitz/setup.py
Raw data
{
"_id": null,
"home_page": "https://github.com/kuzmoyev/google-calendar-simple-api",
"name": "gcsa",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "python conference calendar hangouts python-library event conferences google-calendar pip recurrence google-calendar-api attendee gcsa",
"author": "Yevhen Kuzmovych",
"author_email": "kuzmovych.yevhen@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/4f/e3/22b6a7628ad8334fd4a62bf90ac2f40cad73675c4663e718b097f15d2d55/gcsa-2.6.0.tar.gz",
"platform": null,
"description": "Google Calendar Simple API\n==========================\n\n.. image:: https://badge.fury.io/py/gcsa.svg\n :target: https://badge.fury.io/py/gcsa\n :alt: PyPi Package\n\n.. image:: https://readthedocs.org/projects/google-calendar-simple-api/badge/?version=latest\n :target: https://google-calendar-simple-api.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://github.com/kuzmoyev/Google-Calendar-Simple-API/workflows/Tests/badge.svg\n :target: https://github.com/kuzmoyev/Google-Calendar-Simple-API/actions\n :alt: Tests\n\n.. image:: https://badgen.net/badge/icon/discord?icon=discord&label\n :target: https://discord.gg/mRAegbwYKS\n :alt: Discord\n\n\n`Google Calendar Simple API` or `gcsa` is a library that simplifies event and calendar management in Google Calendars.\nIt is a Pythonic object oriented adapter for the official API. See the full `documentation`_.\n\nInstallation\n------------\n\nUsing `uv`_:\n\n.. code-block:: bash\n\n uv add gcsa\n\nUsing pip:\n\n.. code-block:: bash\n\n pip install gcsa\n\nSee `Getting started page`_ for more details and installation options.\n\nExample usage\n-------------\n\nList events\n~~~~~~~~~~~\n\n.. code-block:: python\n\n from gcsa.google_calendar import GoogleCalendar\n\n calendar = GoogleCalendar('your_email@gmail.com')\n for event in calendar:\n print(event)\n\n\nCreate event\n~~~~~~~~~~~~\n\n.. code-block:: python\n\n from gcsa.event import Event\n\n event = Event(\n 'The Glass Menagerie',\n start=datetime(2020, 7, 10, 19, 0),\n location='Z\u00e1h\u0159ebsk\u00e1 468/21',\n minutes_before_popup_reminder=15\n )\n calendar.add_event(event)\n\n\nCreate recurring event\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n from gcsa.recurrence import Recurrence, DAILY\n\n event = Event(\n 'Breakfast',\n start=date(2020, 7, 16),\n recurrence=Recurrence.rule(freq=DAILY)\n )\n calendar.add_event(event)\n\n\n**Suggestion**: use beautiful_date_ to create `date` and `datetime` objects in your\nprojects (*because it's beautiful... just like you*).\n\n\nReferences\n----------\n\nTemplate for `setup.py` was taken from `kennethreitz/setup.py`_\n\n\n.. _uv: https://docs.astral.sh/uv/\n.. _documentation: https://google-calendar-simple-api.readthedocs.io/en/latest/?badge=latest\n.. _`Getting started page`: https://google-calendar-simple-api.readthedocs.io/en/latest/getting_started.html\n.. _beautiful_date: https://github.com/kuzmoyev/beautiful-date\n.. _`kennethreitz/setup.py`: https://github.com/kennethreitz/setup.py\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Simple API for Google Calendar management",
"version": "2.6.0",
"project_urls": {
"Homepage": "https://github.com/kuzmoyev/google-calendar-simple-api"
},
"split_keywords": [
"python",
"conference",
"calendar",
"hangouts",
"python-library",
"event",
"conferences",
"google-calendar",
"pip",
"recurrence",
"google-calendar-api",
"attendee",
"gcsa"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7ac46e1ae85ce9d707f1e441716626c0b11c578cf4af4917f969673c60442514",
"md5": "85a4d33f3fbf28ad7df84ef0443eccd3",
"sha256": "fcc495ffc0364d09f873e74214f6692a95fc64d7e12237cde4de68d00be9511f"
},
"downloads": -1,
"filename": "gcsa-2.6.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "85a4d33f3fbf28ad7df84ef0443eccd3",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 49634,
"upload_time": "2025-08-22T11:39:04",
"upload_time_iso_8601": "2025-08-22T11:39:04.324623Z",
"url": "https://files.pythonhosted.org/packages/7a/c4/6e1ae85ce9d707f1e441716626c0b11c578cf4af4917f969673c60442514/gcsa-2.6.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4fe322b6a7628ad8334fd4a62bf90ac2f40cad73675c4663e718b097f15d2d55",
"md5": "d2c0f39bc083f1d15a1be4f699ba005f",
"sha256": "1181ff6bf409b165b872788827a67e7a280cbba784a7b86aef57eeca8d216e9b"
},
"downloads": -1,
"filename": "gcsa-2.6.0.tar.gz",
"has_sig": false,
"md5_digest": "d2c0f39bc083f1d15a1be4f699ba005f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 53239,
"upload_time": "2025-08-22T11:39:05",
"upload_time_iso_8601": "2025-08-22T11:39:05.475928Z",
"url": "https://files.pythonhosted.org/packages/4f/e3/22b6a7628ad8334fd4a62bf90ac2f40cad73675c4663e718b097f15d2d55/gcsa-2.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 11:39:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kuzmoyev",
"github_project": "google-calendar-simple-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "gcsa"
}