feat: initial implementation of Datacat

- Add project structure with UV/hatch build system
- Implement config module (env vars + YAML file support)
- Implement collector module for pylitterbot integration
- Implement metrics module for Datadog submission
- Support LR3, LR4, and Feeder Robot metrics
- Add event emission for state changes
- Add CLI with --once mode for single collection
This commit is contained in:
Tanishq Dubey
2025-12-16 11:49:43 -05:00
commit 3b3f3df53c
13 changed files with 1296 additions and 0 deletions

20
config.example.yaml Normal file
View File

@@ -0,0 +1,20 @@
# Datacat Configuration Example
# Copy this file to config.yaml and update with your credentials
# Whisker/Litter Robot credentials
whisker:
username: "your-email@example.com"
password: "your-password"
# Datadog configuration
datadog:
api_key: "your-datadog-api-key"
app_key: "your-datadog-app-key" # Optional, required for some features
site: "datadoghq.com" # Use "datadoghq.eu" for EU region
metric_prefix: "litterrobot" # Prefix for all metrics
# Collector settings
collector:
poll_interval_seconds: 120 # How often to collect metrics (default: 2 minutes)
include_pets: true # Include pet profile metrics
emit_events: true # Emit Datadog events for state changes