mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
refactor(modelling): group domain/modelling into generators/scoring/optimisation
domain/modelling/ had grown to 15 flat modules. Group the behavioural ones into subpackages — generators/ (wall/roof/floor Recommendation Generators), scoring/ (overlay applicator, package scorer, role-1/3 scoring), optimisation/ (optimiser + measure dependency) — and leave the shared value-object vocabulary (recommendation, plan, scenario, product, contingencies, simulation) flat at the top, since it is imported everywhere. Pure move + import-path rewrite across 89 import sites; no behaviour change. 136 pass, pyright strict clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
90387c4a36
commit
84ec6da032
24 changed files with 35 additions and 35 deletions
0
domain/modelling/generators/__init__.py
Normal file
0
domain/modelling/generators/__init__.py
Normal file
0
domain/modelling/optimisation/__init__.py
Normal file
0
domain/modelling/optimisation/__init__.py
Normal file
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
0
domain/modelling/scoring/__init__.py
Normal file
0
domain/modelling/scoring/__init__.py
Normal file
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 (
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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 (
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue