Simple API for Google Calendar management with slots extension (dates and times available for scheduling)
Project description
Google Calendar Simple API Slots or gcsa-slots is an extension for Google Calendar Simple API library with slots (dates and times available for scheduling).
Installation
pip install gcsa-slots
See Getting started page for more details and installation options.
Example usage
List slots from free ranges (dates and times without events, available for scheduling)
from gcsa_slots.google_calendar import GoogleCalendar
calendar = GoogleCalendar("your_email@gmail.com")
for slot in calendar.get_slots(60): # 60 minutes
print(slot)
# 2023-03-06 09:00:00-03:00 - 2023-03-06 10:00:00-03:00
# 2023-03-06 11:00:00-03:00 - 2023-03-06 12:00:00-03:00
# 2023-03-06 14:00:00-03:00 - 2023-03-06 15:00:00-03:00
# 2023-03-06 15:00:00-03:00 - 2023-03-06 16:00:00-03:00
# 2023-03-07 09:00:00-03:00 - 2023-03-07 10:00:00-03:00
# 2023-03-07 10:00:00-03:00 - 2023-03-07 11:00:00-03:00
# 2023-03-07 11:00:00-03:00 - 2023-03-07 12:00:00-03:00
# 2023-03-08 09:00:00-03:00 - 2023-03-08 10:00:00-03:00
# 2023-03-08 10:00:00-03:00 - 2023-03-08 11:00:00-03:00
# 2023-03-08 14:00:00-03:00 - 2023-03-08 15:00:00-03:00
# 2023-03-08 15:00:00-03:00 - 2023-03-08 16:00:00-03:00
# ...
List slots from slot-event ranges (an event that determines availability for scheduling)
from gcsa_slots.google_calendar import GoogleCalendar
calendar = GoogleCalendar("your_email@gmail.com")
for slot in calendar.get_slots(60, slot_summary="Free"): # 60 minutes
print(slot)
# 2023-03-06 09:00:00-03:00 - 2023-03-06 10:00:00-03:00
# 2023-03-06 11:00:00-03:00 - 2023-03-06 12:00:00-03:00
# 2023-03-06 14:00:00-03:00 - 2023-03-06 15:00:00-03:00
# 2023-03-06 15:00:00-03:00 - 2023-03-06 16:00:00-03:00
# 2023-03-07 09:00:00-03:00 - 2023-03-07 10:00:00-03:00
# 2023-03-07 10:00:00-03:00 - 2023-03-07 11:00:00-03:00
# 2023-03-07 11:00:00-03:00 - 2023-03-07 12:00:00-03:00
# 2023-03-08 09:00:00-03:00 - 2023-03-08 10:00:00-03:00
# 2023-03-08 10:00:00-03:00 - 2023-03-08 11:00:00-03:00
# 2023-03-08 14:00:00-03:00 - 2023-03-08 15:00:00-03:00
# 2023-03-08 15:00:00-03:00 - 2023-03-08 16:00:00-03:00
# ...
List slots specifying time range, slot interval, max events per slot and calendar ID
from gcsa_slots.google_calendar import GoogleCalendar
calendar = GoogleCalendar("your_email@gmail.com")
calendar_id = "your calendar id"
for slot in calendar.get_slots(
45,
slot_summary="fReE",
case_sensitive=False,
time_min=datetime(2023, 3, 6),
time_max=datetime(2023, 3, 7),
events_per_slot=3,
calendar_id=calendar_id,
):
print(slot)
Create event in first available slot
from gcsa_slots.google_calendar import GoogleCalendar
calendar = GoogleCalendar("your_email@gmail.com")
slots = calendar.get_slots(90, slot_summary="Free")
slot = next(slots)
slot.summary = "This is a test!"
calendar.add_event(slot)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gcsa-slots-0.1.1.tar.gz.
File metadata
- Download URL: gcsa-slots-0.1.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.9.6 requests/2.28.2 setuptools/44.0.0 requests-toolbelt/0.10.1 tqdm/4.65.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c0101b90c61ba181ddc09fe0fe78f08833bae7adab798e3b6e0be343f769407
|
|
| MD5 |
de78ca80a6c71c07dde9917f49f6cfde
|
|
| BLAKE2b-256 |
c6ebfcfa77ba0044811d1268081d6b2c52a4c6de10cd82550f51c98959e8efea
|
File details
Details for the file gcsa_slots-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gcsa_slots-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.9.6 requests/2.28.2 setuptools/44.0.0 requests-toolbelt/0.10.1 tqdm/4.65.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08b57c7584249615a237dd2e39768b9825a0a5db633c86ed162fdded081b7863
|
|
| MD5 |
7fb977cd27d35af8b428ac3a34b06580
|
|
| BLAKE2b-256 |
86b42ac87bf49c11b8306a29f50670adcce4d257aa45b4242d77b754007fb32a
|