Quick start
Start Calendarpit without cloning a repository and connect your application.
Start Calendarpit
Install and start with Homebrew:
brew install iktakahiro/tap/calendarpit
calendarpit serveOr use Docker:
docker run --rm \
-p 127.0.0.1:4173:4173 \
-v calendarpit-data:/data \
ghcr.io/iktakahiro/calendarpit:latestBoth commands start the API, the local OAuth server, and the admin UI on the same origin.
You do not need any of the following:
- A Google account or Google Cloud project
- An external database
- A
.envfile - Provider credentials
For Compose and standalone downloads, see Installation.
Open the admin UI
Open http://127.0.0.1:4173. Changes made through the API appear there automatically.
The built-in fixture includes:
- Test users
alexandsam - Three calendars
- A planning event on
2026-10-19
Where data is stored
- CLI:
.calendarpit/calendarpit.sqliteunder your current directory. - Docker: the mounted volume.
For disposable tests, use in-memory storage:
- CLI: pass
--database :memory:. - Docker: pass
-e CALENDARPIT_DATABASE=:memory:.
See Storage and restarts.
Connect your app
- Follow Connect your app to point your SDK and OAuth flow at Calendarpit.
- Use Fixtures to register local client credentials and exact callback URIs.
The built-in sample-app / local-sample-secret credentials are public test values. Their callback is http://127.0.0.1:4175/callback.
Optional source sample
The source sample walks through approval, event creation, FreeBusy, watch delivery, and revocation. It is separate from the distributed server. For setup, see the development guide.
Next steps
- Run and configure: ports, fixtures, and environment variables.
- Test control API: reset state and drain deliveries between tests.
- Scope and limitations: implemented compatibility and explicit exclusions.