feat(planner): wire DuckDB analytics + market-data endpoint

- analytics.py: open/close_analytics_db registered in app lifecycle
- GET /planner/api/market-data?city_slug=<slug>: returns per-city
  planner defaults from DuckDB planner_defaults serving table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Deeman
2026-02-21 23:26:06 +01:00
parent 47db8c2418
commit a2de1a0206
4 changed files with 128 additions and 0 deletions

View File

@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
### Added
- `analytics.py`: DuckDB read-only reader (`open_analytics_db`, `close_analytics_db`,
`fetch_analytics`) registered in app lifecycle (startup/shutdown)
- `GET /planner/api/market-data?city_slug=<slug>`: returns per-city planner defaults from
DuckDB `planner_defaults` serving table; falls back to `{}` when analytics DB unavailable
### Added
- `transform/sqlmesh_padelnomics` workspace member: SQLMesh 4-layer model pipeline over DuckDB
- Raw: `raw_overpass_courts`, `raw_playtomic_tenants`, `raw_eurostat_population`