File size: 2,520 Bytes
550665c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
------------

.. 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('[email protected]')
    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 its beautiful... just like you*).


References
----------

Template for `setup.py` was taken from `kennethreitz/setup.py`_


.. _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