A Python project for integrating with Google Calendar via a service account, intended as the foundation for an LLM-powered calendar assistant.
- Authenticates with Google Calendar API using a service account
- Lists calendars accessible to the service account
- Creates calendar events programmatically
- Queries upcoming events within a date range
- Python 3.12+
- A Google Cloud service account with Calendar API access
- The target Google Calendar shared with the service account
-
Clone the repo:
git clone https://github.com/juandagalo/langraph-travel-recommendation.git cd calenda-llm -
Install dependencies using uv:
uv sync
-
Place your Google service account credentials file (
.json) in the project root. -
Share your Google Calendar with the service account email.
List accessible calendars:
uv run python list_calendars.pyRun the integration test (creates a test event and lists upcoming events):
uv run python test-calendar.py.
├── main.py # Entry point
├── list_calendars.py # Lists calendars accessible to the service account
├── test-calendar.py # Creates a test event and queries upcoming events
├── pyproject.toml # Project metadata and dependencies
└── uv.lock # Locked dependency versions
- The service account credentials file (
.json) is excluded from version control. Never commit it. - Python version is pinned via
.python-version.