diff --git a/domain/modelling/generators/__init__.py b/domain/modelling/generators/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/domain/modelling/floor_recommendation.py b/domain/modelling/generators/floor_recommendation.py similarity index 100% rename from domain/modelling/floor_recommendation.py rename to domain/modelling/generators/floor_recommendation.py diff --git a/domain/modelling/roof_recommendation.py b/domain/modelling/generators/roof_recommendation.py similarity index 100% rename from domain/modelling/roof_recommendation.py rename to domain/modelling/generators/roof_recommendation.py diff --git a/domain/modelling/wall_recommendation.py b/domain/modelling/generators/wall_recommendation.py similarity index 100% rename from domain/modelling/wall_recommendation.py rename to domain/modelling/generators/wall_recommendation.py diff --git a/domain/modelling/optimisation/__init__.py b/domain/modelling/optimisation/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/domain/modelling/measure_dependency.py b/domain/modelling/optimisation/measure_dependency.py similarity index 97% rename from domain/modelling/measure_dependency.py rename to domain/modelling/optimisation/measure_dependency.py index 758ae789..5cdd68a4 100644 --- a/domain/modelling/measure_dependency.py +++ b/domain/modelling/optimisation/measure_dependency.py @@ -18,7 +18,7 @@ dwelling is not already mechanically ventilated (legacy `has_ventilation`). from typing import Optional from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.optimiser import MeasureDependency, ScoredOption +from domain.modelling.optimisation.optimiser import MeasureDependency, ScoredOption from domain.modelling.recommendation import Cost, MeasureOption from domain.modelling.simulation import EpcSimulation, VentilationOverlay from repositories.product.product_repository import ProductRepository diff --git a/domain/modelling/optimiser.py b/domain/modelling/optimisation/optimiser.py similarity index 99% rename from domain/modelling/optimiser.py rename to domain/modelling/optimisation/optimiser.py index e3a32c26..4c838629 100644 --- a/domain/modelling/optimiser.py +++ b/domain/modelling/optimisation/optimiser.py @@ -24,7 +24,7 @@ from dataclasses import dataclass from typing import Optional, Protocol, Sequence from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.package_scorer import Score +from domain.modelling.scoring.package_scorer import Score from domain.modelling.recommendation import MeasureOption from domain.modelling.simulation import EpcSimulation diff --git a/domain/modelling/plan.py b/domain/modelling/plan.py index 405d6253..86063ebd 100644 --- a/domain/modelling/plan.py +++ b/domain/modelling/plan.py @@ -13,9 +13,9 @@ and its final-package (role-3) attributed **impact**. See CONTEXT.md. from dataclasses import dataclass from datatypes.epc.domain.epc import Epc -from domain.modelling.package_scorer import Score +from domain.modelling.scoring.package_scorer import Score from domain.modelling.recommendation import Cost -from domain.modelling.scoring import MeasureImpact +from domain.modelling.scoring.scoring import MeasureImpact @dataclass(frozen=True) diff --git a/domain/modelling/scoring/__init__.py b/domain/modelling/scoring/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/domain/modelling/overlay_applicator.py b/domain/modelling/scoring/overlay_applicator.py similarity index 100% rename from domain/modelling/overlay_applicator.py rename to domain/modelling/scoring/overlay_applicator.py diff --git a/domain/modelling/package_scorer.py b/domain/modelling/scoring/package_scorer.py similarity index 95% rename from domain/modelling/package_scorer.py rename to domain/modelling/scoring/package_scorer.py index bacf9e18..d9c88cf6 100644 --- a/domain/modelling/package_scorer.py +++ b/domain/modelling/scoring/package_scorer.py @@ -11,7 +11,7 @@ from dataclasses import dataclass from typing import Sequence from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.overlay_applicator import apply_simulations +from domain.modelling.scoring.overlay_applicator import apply_simulations from domain.modelling.simulation import EpcSimulation from domain.sap10_calculator.calculator import SapCalculator, SapResult diff --git a/domain/modelling/scoring.py b/domain/modelling/scoring/scoring.py similarity index 98% rename from domain/modelling/scoring.py rename to domain/modelling/scoring/scoring.py index c0558d8a..19fc2016 100644 --- a/domain/modelling/scoring.py +++ b/domain/modelling/scoring/scoring.py @@ -18,7 +18,7 @@ from dataclasses import dataclass from typing import Sequence from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.package_scorer import PackageScorer, Score +from domain.modelling.scoring.package_scorer import PackageScorer, Score from domain.modelling.recommendation import MeasureOption from domain.modelling.simulation import EpcSimulation diff --git a/orchestration/modelling_orchestrator.py b/orchestration/modelling_orchestrator.py index 86939839..64617607 100644 --- a/orchestration/modelling_orchestrator.py +++ b/orchestration/modelling_orchestrator.py @@ -5,25 +5,25 @@ from typing import Final, Optional from datatypes.epc.domain.epc import Epc from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.floor_recommendation import recommend_floor_insulation -from domain.modelling.measure_dependency import ventilation_dependency -from domain.modelling.optimiser import ( +from domain.modelling.generators.floor_recommendation import recommend_floor_insulation +from domain.modelling.optimisation.measure_dependency import ventilation_dependency +from domain.modelling.optimisation.optimiser import ( MeasureDependency, OptimisedPackage, ScoredOption, optimise_package, ) -from domain.modelling.package_scorer import PackageScorer, Score +from domain.modelling.scoring.package_scorer import PackageScorer, Score from domain.modelling.plan import Plan, PlanMeasure from domain.modelling.recommendation import MeasureOption, Recommendation -from domain.modelling.roof_recommendation import recommend_loft_insulation +from domain.modelling.generators.roof_recommendation import recommend_loft_insulation from domain.modelling.scenario import Scenario -from domain.modelling.scoring import ( +from domain.modelling.scoring.scoring import ( MeasureImpact, independent_option_impacts, marginal_impacts, ) -from domain.modelling.wall_recommendation import recommend_cavity_wall +from domain.modelling.generators.wall_recommendation import recommend_cavity_wall from domain.sap10_calculator.calculator import SapCalculator from repositories.product.product_repository import ProductRepository from repositories.unit_of_work import UnitOfWork diff --git a/tests/domain/modelling/test_elmhurst_cascade_pins.py b/tests/domain/modelling/test_elmhurst_cascade_pins.py index 16202022..dd53df22 100644 --- a/tests/domain/modelling/test_elmhurst_cascade_pins.py +++ b/tests/domain/modelling/test_elmhurst_cascade_pins.py @@ -17,13 +17,13 @@ from __future__ import annotations from typing import Final from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.package_scorer import PackageScorer, Score +from domain.modelling.scoring.package_scorer import PackageScorer, Score from domain.modelling.product import Product from domain.modelling.recommendation import Recommendation -from domain.modelling.floor_recommendation import recommend_floor_insulation -from domain.modelling.roof_recommendation import recommend_loft_insulation +from domain.modelling.generators.floor_recommendation import recommend_floor_insulation +from domain.modelling.generators.roof_recommendation import recommend_loft_insulation from domain.modelling.simulation import EpcSimulation -from domain.modelling.wall_recommendation import recommend_cavity_wall +from domain.modelling.generators.wall_recommendation import recommend_cavity_wall from domain.sap10_calculator.calculator import Sap10Calculator, SapResult from repositories.product.product_repository import ProductRepository from tests.domain.modelling._elmhurst_recommendation import ( diff --git a/tests/domain/modelling/test_floor_recommendation.py b/tests/domain/modelling/test_floor_recommendation.py index 8ed2871f..1ce5bd7f 100644 --- a/tests/domain/modelling/test_floor_recommendation.py +++ b/tests/domain/modelling/test_floor_recommendation.py @@ -9,10 +9,10 @@ from datatypes.epc.domain.epc_property_data import ( EpcPropertyData, SapBuildingPart, ) -from domain.modelling.overlay_applicator import apply_simulations +from domain.modelling.scoring.overlay_applicator import apply_simulations from domain.modelling.product import Product from domain.modelling.recommendation import Recommendation -from domain.modelling.floor_recommendation import recommend_floor_insulation +from domain.modelling.generators.floor_recommendation import recommend_floor_insulation from repositories.product.product_repository import ProductRepository from tests.domain.sap10_calculator.worksheet._elmhurst_worksheet_000490 import ( build_epc, diff --git a/tests/domain/modelling/test_measure_dependency.py b/tests/domain/modelling/test_measure_dependency.py index 3c6cdd4c..f1271cf9 100644 --- a/tests/domain/modelling/test_measure_dependency.py +++ b/tests/domain/modelling/test_measure_dependency.py @@ -6,11 +6,11 @@ dwelling's existing ventilation. See CONTEXT.md (Measure Dependency) / ADR-0016. from typing import Optional from datatypes.epc.domain.epc_property_data import EpcPropertyData -from domain.modelling.measure_dependency import ( +from domain.modelling.optimisation.measure_dependency import ( MEASURES_NEEDING_VENTILATION, ventilation_dependency, ) -from domain.modelling.optimiser import MeasureDependency +from domain.modelling.optimisation.optimiser import MeasureDependency from domain.modelling.product import Product from domain.modelling.simulation import EpcSimulation, VentilationOverlay from repositories.product.product_repository import ProductRepository diff --git a/tests/domain/modelling/test_optimiser.py b/tests/domain/modelling/test_optimiser.py index 1631b69a..61d0fbcc 100644 --- a/tests/domain/modelling/test_optimiser.py +++ b/tests/domain/modelling/test_optimiser.py @@ -14,14 +14,14 @@ from datatypes.epc.domain.epc_property_data import ( BuildingPartIdentifier, EpcPropertyData, ) -from domain.modelling.optimiser import ( +from domain.modelling.optimisation.optimiser import ( MeasureDependency, OptimisedPackage, ScoredOption, optimise, optimise_package, ) -from domain.modelling.package_scorer import Score +from domain.modelling.scoring.package_scorer import Score from domain.modelling.recommendation import Cost, MeasureOption from domain.modelling.simulation import ( BuildingPartOverlay, diff --git a/tests/domain/modelling/test_overlay_applicator.py b/tests/domain/modelling/test_overlay_applicator.py index 3a60bbcd..27a79cc2 100644 --- a/tests/domain/modelling/test_overlay_applicator.py +++ b/tests/domain/modelling/test_overlay_applicator.py @@ -14,7 +14,7 @@ from domain.modelling.simulation import ( EpcSimulation, VentilationOverlay, ) -from domain.modelling.overlay_applicator import apply_simulations +from domain.modelling.scoring.overlay_applicator import apply_simulations from tests.domain.sap10_calculator.worksheet._elmhurst_worksheet_000490 import ( build_epc, ) diff --git a/tests/domain/modelling/test_package_scorer.py b/tests/domain/modelling/test_package_scorer.py index ffe50cd5..9310e0e6 100644 --- a/tests/domain/modelling/test_package_scorer.py +++ b/tests/domain/modelling/test_package_scorer.py @@ -9,7 +9,7 @@ from datatypes.epc.domain.epc_property_data import ( BuildingPartIdentifier, EpcPropertyData, ) -from domain.modelling.package_scorer import PackageScorer, Score +from domain.modelling.scoring.package_scorer import PackageScorer, Score from domain.modelling.simulation import BuildingPartOverlay, EpcSimulation from domain.sap10_calculator.calculator import Sap10Calculator, SapResult from tests.domain.sap10_calculator.worksheet._elmhurst_worksheet_000490 import ( diff --git a/tests/domain/modelling/test_plan.py b/tests/domain/modelling/test_plan.py index fe6828ba..d2e3a68b 100644 --- a/tests/domain/modelling/test_plan.py +++ b/tests/domain/modelling/test_plan.py @@ -8,10 +8,10 @@ band). Single-phase, flat post-retrofit figures (ADR-0005 / ADR-0017). from __future__ import annotations from datatypes.epc.domain.epc import Epc -from domain.modelling.package_scorer import Score +from domain.modelling.scoring.package_scorer import Score from domain.modelling.plan import Plan, PlanMeasure from domain.modelling.recommendation import Cost -from domain.modelling.scoring import MeasureImpact +from domain.modelling.scoring.scoring import MeasureImpact def _measure(measure_type: str, total: float, rate: float) -> PlanMeasure: diff --git a/tests/domain/modelling/test_roof_recommendation.py b/tests/domain/modelling/test_roof_recommendation.py index f801ee7d..baa2845b 100644 --- a/tests/domain/modelling/test_roof_recommendation.py +++ b/tests/domain/modelling/test_roof_recommendation.py @@ -8,10 +8,10 @@ from datatypes.epc.domain.epc_property_data import ( EpcPropertyData, SapBuildingPart, ) -from domain.modelling.overlay_applicator import apply_simulations +from domain.modelling.scoring.overlay_applicator import apply_simulations from domain.modelling.product import Product from domain.modelling.recommendation import Recommendation -from domain.modelling.roof_recommendation import recommend_loft_insulation +from domain.modelling.generators.roof_recommendation import recommend_loft_insulation from repositories.product.product_repository import ProductRepository from tests.domain.sap10_calculator.worksheet._elmhurst_worksheet_000490 import ( build_epc, diff --git a/tests/domain/modelling/test_scoring.py b/tests/domain/modelling/test_scoring.py index af286018..97169667 100644 --- a/tests/domain/modelling/test_scoring.py +++ b/tests/domain/modelling/test_scoring.py @@ -10,9 +10,9 @@ from datatypes.epc.domain.epc_property_data import ( BuildingPartIdentifier, EpcPropertyData, ) -from domain.modelling.package_scorer import PackageScorer, Score +from domain.modelling.scoring.package_scorer import PackageScorer, Score from domain.modelling.recommendation import MeasureOption -from domain.modelling.scoring import ( +from domain.modelling.scoring.scoring import ( MeasureImpact, independent_option_impacts, marginal_impacts, diff --git a/tests/domain/modelling/test_wall_recommendation.py b/tests/domain/modelling/test_wall_recommendation.py index 2f850a8a..182ce2a3 100644 --- a/tests/domain/modelling/test_wall_recommendation.py +++ b/tests/domain/modelling/test_wall_recommendation.py @@ -8,10 +8,10 @@ from datatypes.epc.domain.epc_property_data import ( EpcPropertyData, SapBuildingPart, ) -from domain.modelling.overlay_applicator import apply_simulations +from domain.modelling.scoring.overlay_applicator import apply_simulations from domain.modelling.product import Product from domain.modelling.recommendation import Recommendation -from domain.modelling.wall_recommendation import recommend_cavity_wall +from domain.modelling.generators.wall_recommendation import recommend_cavity_wall from repositories.product.product_repository import ProductRepository from tests.domain.sap10_calculator.worksheet._elmhurst_worksheet_000490 import ( build_epc, diff --git a/tests/repositories/plan/test_plan_postgres_repository.py b/tests/repositories/plan/test_plan_postgres_repository.py index d698a470..975a7e38 100644 --- a/tests/repositories/plan/test_plan_postgres_repository.py +++ b/tests/repositories/plan/test_plan_postgres_repository.py @@ -14,10 +14,10 @@ from sqlalchemy import Engine from sqlmodel import Session, col, select from datatypes.epc.domain.epc import Epc -from domain.modelling.package_scorer import Score +from domain.modelling.scoring.package_scorer import Score from domain.modelling.plan import Plan, PlanMeasure from domain.modelling.recommendation import Cost -from domain.modelling.scoring import MeasureImpact +from domain.modelling.scoring.scoring import MeasureImpact from infrastructure.postgres.plan_table import PlanRow, RecommendationRow from repositories.plan.plan_postgres_repository import PlanPostgresRepository