Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gcsa-slots-0.1.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

gcsa_slots-0.1.1-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

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

Hashes for gcsa-slots-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9c0101b90c61ba181ddc09fe0fe78f08833bae7adab798e3b6e0be343f769407
MD5 de78ca80a6c71c07dde9917f49f6cfde
BLAKE2b-256 c6ebfcfa77ba0044811d1268081d6b2c52a4c6de10cd82550f51c98959e8efea

See more details on using hashes here.

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

Hashes for gcsa_slots-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08b57c7584249615a237dd2e39768b9825a0a5db633c86ed162fdded081b7863
MD5 7fb977cd27d35af8b428ac3a34b06580
BLAKE2b-256 86b42ac87bf49c11b8306a29f50670adcce4d257aa45b4242d77b754007fb32a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page