From 94975f3bac55b24cb0582489efa5c90b76ea1f98 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 26 May 2026 10:43:16 +0000 Subject: [PATCH] deleted scaffolding packages folders --- packages/fetchers/README.md | 19 --------------- packages/fetchers/pyproject.toml | 19 --------------- packages/fetchers/src/fetchers/__init__.py | 4 ---- packages/repos/README.md | 27 ---------------------- packages/repos/pyproject.toml | 19 --------------- packages/repos/src/repos/__init__.py | 4 ---- packages/utils/README.md | 15 ------------ packages/utils/pyproject.toml | 15 ------------ packages/utils/src/utils/__init__.py | 4 ---- 9 files changed, 126 deletions(-) delete mode 100644 packages/fetchers/README.md delete mode 100644 packages/fetchers/pyproject.toml delete mode 100644 packages/fetchers/src/fetchers/__init__.py delete mode 100644 packages/repos/README.md delete mode 100644 packages/repos/pyproject.toml delete mode 100644 packages/repos/src/repos/__init__.py delete mode 100644 packages/utils/README.md delete mode 100644 packages/utils/pyproject.toml delete mode 100644 packages/utils/src/utils/__init__.py diff --git a/packages/fetchers/README.md b/packages/fetchers/README.md deleted file mode 100644 index ebe47f74..00000000 --- a/packages/fetchers/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# domna-fetchers - -External API clients. Each fetcher is responsible for one external system — `EpcClientService` for the gov EPC API, `GeospatialFetcher` for Ordnance Survey, `SolarFetcher` for Google Solar, `FuelRatesFetcher` for Ofgem, `CarbonFactorsFetcher` for Defra. - -**Boundary**: makes HTTP calls + returns raw or lightly-mapped responses. No DB, no business logic. Modelling services never depend on fetchers — only orchestrators do (per [ADR-0003](../../docs/adr/0003-strict-ingestion-modelling-separation.md)). - -## Layout - -``` -src/fetchers/ -├── __init__.py -├── epc_client.py # wraps backend/epc_client/ -├── geospatial.py -├── solar.py -├── fuel_rates_fetcher.py -└── carbon_factors_fetcher.py -``` - -`backend/epc_client/` will fold into `epc_client.py` during the migration; until then this module re-exports from the legacy location. diff --git a/packages/fetchers/pyproject.toml b/packages/fetchers/pyproject.toml deleted file mode 100644 index 69404681..00000000 --- a/packages/fetchers/pyproject.toml +++ /dev/null @@ -1,19 +0,0 @@ -[project] -name = "domna-fetchers" -version = "0.1.0" -description = "External API clients — gov EPC, Ofgem, Google Solar, Defra, etc." -requires-python = ">=3.11" -dependencies = [ - "domna-domain", - "httpx>=0.27", -] - -[tool.uv.sources] -domna-domain = { workspace = true } - -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - -[tool.hatch.build.targets.wheel] -packages = ["src/fetchers"] diff --git a/packages/fetchers/src/fetchers/__init__.py b/packages/fetchers/src/fetchers/__init__.py deleted file mode 100644 index 74646907..00000000 --- a/packages/fetchers/src/fetchers/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -"""External API clients for Ara and sibling services. - -One fetcher per external system. No DB, no business logic. See README.md. -""" diff --git a/packages/repos/README.md b/packages/repos/README.md deleted file mode 100644 index 990b66db..00000000 --- a/packages/repos/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# domna-repos - -Persistence layer. One repo per aggregate; owns the SQL for its tables. Callers see only domain objects from `domna-domain`. - -**Boundary**: depends on `domna-domain` for types. No external IO except the DB. No business logic — services do that. - -## Repos (per [PRD §7.3](../../ara_backend_design.md)) - -``` -src/repos/ -├── __init__.py -├── unit_of_work.py -├── property_repo.py -├── epc_cache_repo.py -├── site_notes_repo.py -├── landlord_overrides_repo.py -├── recommendations_repo.py -├── generic_data_repo.py -├── fuel_rates_repo.py -├── carbon_factors_repo.py -├── heating_system_assumptions_repo.py -└── subtask_repo.py -``` - -Each repo has a `Fake*Repo` companion in its service's test tree (typically `services/ara/tests/fakes/`) — dict-backed, no DB. - -DDL migrations are scoped to sub-PRD (iii); during Phase 0 repos may delegate into the legacy `backend/app/db/db_funcs.*` modules. diff --git a/packages/repos/pyproject.toml b/packages/repos/pyproject.toml deleted file mode 100644 index 53689812..00000000 --- a/packages/repos/pyproject.toml +++ /dev/null @@ -1,19 +0,0 @@ -[project] -name = "domna-repos" -version = "0.1.0" -description = "Persistence layer — one repo per aggregate. Owns the SQL." -requires-python = ">=3.11" -dependencies = [ - "domna-domain", - "sqlalchemy>=2.0", -] - -[tool.uv.sources] -domna-domain = { workspace = true } - -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - -[tool.hatch.build.targets.wheel] -packages = ["src/repos"] diff --git a/packages/repos/src/repos/__init__.py b/packages/repos/src/repos/__init__.py deleted file mode 100644 index a981395a..00000000 --- a/packages/repos/src/repos/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -"""Persistence layer for the Ara domain aggregates. - -One repo per aggregate. Owns SQL; exposes domain objects. See README.md. -""" diff --git a/packages/utils/README.md b/packages/utils/README.md deleted file mode 100644 index 1fba6457..00000000 --- a/packages/utils/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# domna-utils - -Cross-cutting infrastructure helpers. Nothing domain-specific — anything in here should be portable across services. - -## Will live here (migrating from `utils/` and `backend/utils/`) - -- Logging — `logger.py` -- S3 — `s3.py` -- Pandas helpers — `pandas_utils.py` -- CloudWatch URL builder — `cloudwatch.py` -- SQS subtask helpers — `subtasks.py` - -## Will NOT live here - -Service-specific parsers (Osmosis condition report, full-SAP parser, SharePoint integration) move into the service that owns them, not here. diff --git a/packages/utils/pyproject.toml b/packages/utils/pyproject.toml deleted file mode 100644 index cf739bbd..00000000 --- a/packages/utils/pyproject.toml +++ /dev/null @@ -1,15 +0,0 @@ -[project] -name = "domna-utils" -version = "0.1.0" -description = "Cross-cutting infrastructure helpers — logging, S3, CloudWatch, SQS tasks." -requires-python = ">=3.11" -dependencies = [ - "boto3>=1.34", -] - -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - -[tool.hatch.build.targets.wheel] -packages = ["src/utils"] diff --git a/packages/utils/src/utils/__init__.py b/packages/utils/src/utils/__init__.py deleted file mode 100644 index d010a3be..00000000 --- a/packages/utils/src/utils/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -"""Cross-cutting infrastructure helpers — logging, S3, CloudWatch, SQS tasks. - -Nothing domain-specific belongs here. See README.md. -"""