Model/infrastructure
Khalim Conn-Kowlessar caee4de2f4 feat(ingestion): relocate EpcClientService to infrastructure + SolarRepo (#1133)
Move the EpcClientService package (client + _retry + exceptions + tests) from
the dying backend/ tree to infrastructure/epc_client/ as the New-EPC-API Fetcher;
update the two callers (address2UPRN, a script). All 14 client tests pass.

Add SolarRepository port + SolarPostgresRepository persisting Google Solar
building insights as JSONB (solar_building_insights table), one row per Property.
The EPC repo half of this slice already landed in #1129. pyright strict clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 19:45:26 +00:00
..
epc_client feat(ingestion): relocate EpcClientService to infrastructure + SolarRepo (#1133) 2026-05-30 19:45:26 +00:00
postgres feat(ingestion): relocate EpcClientService to infrastructure + SolarRepo (#1133) 2026-05-30 19:45:26 +00:00
solar GoogleSolarApiClient raises BuildingInsightsNotFoundError on 404 entity-not-found 🟩 2026-05-21 15:52:52 +00:00
__init__.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
address2uprn_queue_client.py get rid of comments 2026-05-20 13:21:11 +00:00
csv_s3_client.py some excel files are formatted differently 2026-05-20 17:36:20 +00:00
s3_client.py get rid of comments 2026-05-20 13:21:11 +00:00
s3_uri.py get rid of comments 2026-05-20 13:21:11 +00:00
sqs_client.py get rid of comments 2026-05-20 13:21:11 +00:00