Watcher
Local development
Run, debug, and test Watcher locally
Prerequisites
uvand Python 3.13.- GCP credentials with access to Spanner and Secret Manager.
Required environment
export SPANNER_INSTANCE_ID="..."
export SPANNER_DATABASE_ID="..."Optional environment
export GRACE_PERIOD_MINUTES=60
export SENTRY_ENVIRONMENT="development"
export GCP_PROJECT_ID="..."Google Application Credentials
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"Run locally
# From repo root
uv run --package watcher main.pyTests
# From repo root
uv run --package watcher pytest -qDebugging
- Spanner errors usually indicate missing ADC or incorrect instance/database.
- Missing Sentry DSN will cause startup failures.
Last updated on