$npx skillfedfor your agent

gcal-sync

A python library for syncing Google Calendar to local storage

With conditionsPyPI InternetReleased Jul 202676.2K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — gcal_sync-9.1.0-py3-none-any.whl
v9.1.0 · released 2026-07-19 · Python >=3.13 · 3 runtime deps: aiohttp, ical, pydantic

Yes, if you need asyncio-native Google Calendar access and are comfortable implementing OAuth authentication yourself. The library is actively maintained, has no known vulnerabilities, and offers a lighter alternative to full Google API clients. Not suitable if you require Python versions below 3.13 or need comprehensive API coverage beyond event listing and syncing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.13 or later.
  • You must implement your own AbstractAuth subclass to provide Google OAuth credentials.
  • Low friction install with three straightforward runtime dependencies.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

last release 2026-07-19 (26 days) · last repo commit 2026-08-14 · 13 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,239 downloads/mo, #14,641 on PyPI

Verify before relying

pip install gcal-sync

from gcal_sync.auth import AbstractAuth
from gcal_sync.api import GoogleCalendarService

class MyAuth(AbstractAuth):
    async def async_get_access_token(self) -> str:
        return "..."

service = GoogleCalendarService(MyAuth(aiohttp.ClientSession()))
calendar = await service.async_get_calendar("primary")
  • Whether the library handles all common Google Calendar API use cases or only a subset of the full API surface.
  • Performance characteristics and scalability limits for local sync with large calendars.
  • Whether recurring event expansion handles all recurrence rule edge cases correctly.
Same gist for agents: .md · .json

What it is and what it does

gcal-sync is an asyncio Python library that wraps the Google Calendar API with a simpler, more focused interface than general-purpose Google API clients. It lets you fetch calendar events, filter by time or search terms, and optionally sync events down to local storage for efficient repeated queries. The library handles recurring event expansion automatically, either server-side during fetch or locally during queries against synced data.

The library is designed for applications that need reliable, streamlined access to calendar data without the overhead of a full Google API client. You provide authentication credentials through a custom AbstractAuth implementation, then use GoogleCalendarService to list events or manage local sync via CalendarEventSyncManager. It depends on aiohttp for HTTP, ical for recurrence rule handling, and pydantic for data validation.

Use it for

  • Fetch and display upcoming events from a primary or shared calendar in a web or desktop application.
  • Build a local cache of calendar events to support high-frequency queries without repeated API calls.
  • Search calendar events by keyword and iterate through paginated results asynchronously.
  • Expand recurring events at query time to get individual occurrences for a given date range.
  • Integrate calendar data into a home automation or scheduling system with minimal API client boilerplate.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need asyncio-native Google Calendar access and are comfortable implementing OAuth authentication yourself.

The library is actively maintained, has no known vulnerabilities, and offers a lighter alternative to full Google API clients. Not suitable if you require Python versions below 3.13 or need comprehensive API coverage beyond event listing and syncing.

Install

gcal-sync on PyPI

Before you install

Low friction install with three straightforward runtime dependencies. Actively maintained with a recent release and ongoing commits.

Requires Python 3.13 or later. You must implement your own AbstractAuth subclass to provide Google OAuth credentials.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

Quickstart

pip install gcal-sync

from gcal_sync.auth import AbstractAuth
from gcal_sync.api import GoogleCalendarService

class MyAuth(AbstractAuth):
    async def async_get_access_token(self) -> str:
        return "..."

service = GoogleCalendarService(MyAuth(aiohttp.ClientSession()))
calendar = await service.async_get_calendar("primary")

Verify before relying

  • Whether the library handles all common Google Calendar API use cases or only a subset of the full API surface.
  • Performance characteristics and scalability limits for local sync with large calendars.
  • Whether recurring event expansion handles all recurrence rule edge cases correctly.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.13
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
aiohttpicalpydantic
MaintenanceActively maintained 26 days since the last release
Last repo commit
First released
Downloads76,239 / month, #14,641 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: gcal_sync-9.1.0-py3-none-any.whl

Tags

Capabilities
google calendar api pythonsync calendar to local storageasyncio calendar librarygoogle calendar events asyncrecurring events expansioncalendar sync managerlightweight calendar api
Topics
google-calendarasynciosync-local-storage

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “sync calendar to local storage”

  • gcal-syncAn asyncio library for reading and syncing Google Calendar events to…
  • vdirsyncerVdirsyncer is a command-line tool that synchronizes calendars and…
  • icaleventsDownloads, parses, and queries iCalendar (.ics) sources from URLs or…

Give your agent the search over MCP, or paste the wish link into any chat.

More Internet packages

botocore Worth it
PyPI · Internet · released Aug 2026

Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.

Install it if you need programmatic access to AWS services.

permissive licensepure Python · 3.10+
1.5Bdownloads / mo
aiobotocore Worth it
PyPI · Internet · released Aug 2026

Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.

Install it if you need to call AWS services from async Python code; it is the standard way to do so.

Apache-2.0pure Python · 3.10+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
filelock Worth it
PyPI · Libraries · released Aug 2026

Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.

MITpure Python · 3.10+
717.1Mdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
googleapis-common-protos Worth it
PyPI · Internet · released Aug 2026

Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.

Apache-2.0pure Python · 3.10+
513.7Mdownloads / mo

See also aiogoogle · PyCronofy · langchain-google-calendar-tools · google-cloud-scheduler · google-apps-meet · ical · recurring-ical-events · gkeepapi · caldav · TGScheduler