policyengine-api-simulation-client 0.20251210.60__tar.gz → 0.20251216.72__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/PKG-INFO +1 -1
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/__init__.py +8 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/economy_comparison.py +28 -0
- policyengine_api_simulation_client-0.20251216.72/policyengine_api_simulation_client/models/uk_local_authority_breakdown_by_local_authority.py +85 -0
- policyengine_api_simulation_client-0.20251216.72/policyengine_api_simulation_client/models/uk_local_authority_breakdown_with_values.py +71 -0
- policyengine_api_simulation_client-0.20251216.72/policyengine_api_simulation_client/models/uk_local_authority_breakdown_with_values_by_local_authority.py +59 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/pyproject.toml +1 -1
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/README.md +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/__init__.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/__init__.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/default/__init__.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/default/alive_ping_alive_get.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/default/ping_ping_post.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/default/simulate_simulate_economy_comparison_post.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/api/default/started_ping_started_get.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/client.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/errors.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/age_group_baseline_reform_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/baseline_reform_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/budgetary_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/cliff_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/cliff_impact_in_simulation.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/decile_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/decile_impact_average.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/decile_impact_relative.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/economy_comparison_detailed_budget_type_0.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/gender_baseline_reform_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/health_status.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/hours_response.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/http_validation_error.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/inequality_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_decile_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_decile_impact_all.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_decile_impact_deciles.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_wealth_decile_impact_with_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_wealth_decile_impact_with_values_all.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/intra_wealth_decile_impact_with_values_deciles.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/labor_supply_response.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/labor_supply_response_decile.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/labor_supply_response_decile_additional_property.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/labor_supply_response_decile_additional_property_additional_property.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/labor_supply_response_relative_lsr.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/parameter_change_dict.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/parametric_reform.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/ping_request.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/ping_response.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/poverty_gender_breakdown.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/poverty_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/poverty_racial_breakdown_with_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/probe_status.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/program_specific_impact.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/racial_baseline_reform_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/simulation_options.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/simulation_options_country.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/simulation_options_data_type_1.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/simulation_options_scope.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/system_status.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/uk_constituency_breakdown_by_constituency.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/uk_constituency_breakdown_with_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/uk_constituency_breakdown_with_values_by_constituency.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/uk_constituency_breakdown_with_values_outcomes_by_region.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/uk_constituency_breakdown_with_values_outcomes_by_region_additional_property.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/validation_error.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/wealth_decile_impact_with_values.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/wealth_decile_impact_with_values_average.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/models/wealth_decile_impact_with_values_relative.py +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/py.typed +0 -0
- {policyengine_api_simulation_client-0.20251210.60 → policyengine_api_simulation_client-0.20251216.72}/policyengine_api_simulation_client/types.py +0 -0
|
@@ -50,6 +50,11 @@ from .uk_constituency_breakdown_with_values_outcomes_by_region import UKConstitu
|
|
|
50
50
|
from .uk_constituency_breakdown_with_values_outcomes_by_region_additional_property import (
|
|
51
51
|
UKConstituencyBreakdownWithValuesOutcomesByRegionAdditionalProperty,
|
|
52
52
|
)
|
|
53
|
+
from .uk_local_authority_breakdown_by_local_authority import UKLocalAuthorityBreakdownByLocalAuthority
|
|
54
|
+
from .uk_local_authority_breakdown_with_values import UKLocalAuthorityBreakdownWithValues
|
|
55
|
+
from .uk_local_authority_breakdown_with_values_by_local_authority import (
|
|
56
|
+
UKLocalAuthorityBreakdownWithValuesByLocalAuthority,
|
|
57
|
+
)
|
|
53
58
|
from .validation_error import ValidationError
|
|
54
59
|
from .wealth_decile_impact_with_values import WealthDecileImpactWithValues
|
|
55
60
|
from .wealth_decile_impact_with_values_average import WealthDecileImpactWithValuesAverage
|
|
@@ -102,6 +107,9 @@ __all__ = (
|
|
|
102
107
|
"UKConstituencyBreakdownWithValuesByConstituency",
|
|
103
108
|
"UKConstituencyBreakdownWithValuesOutcomesByRegion",
|
|
104
109
|
"UKConstituencyBreakdownWithValuesOutcomesByRegionAdditionalProperty",
|
|
110
|
+
"UKLocalAuthorityBreakdownByLocalAuthority",
|
|
111
|
+
"UKLocalAuthorityBreakdownWithValues",
|
|
112
|
+
"UKLocalAuthorityBreakdownWithValuesByLocalAuthority",
|
|
105
113
|
"ValidationError",
|
|
106
114
|
"WealthDecileImpactWithValues",
|
|
107
115
|
"WealthDecileImpactWithValuesAverage",
|
|
@@ -21,6 +21,7 @@ if TYPE_CHECKING:
|
|
|
21
21
|
from ..models.poverty_impact import PovertyImpact
|
|
22
22
|
from ..models.poverty_racial_breakdown_with_values import PovertyRacialBreakdownWithValues
|
|
23
23
|
from ..models.uk_constituency_breakdown_with_values import UKConstituencyBreakdownWithValues
|
|
24
|
+
from ..models.uk_local_authority_breakdown_with_values import UKLocalAuthorityBreakdownWithValues
|
|
24
25
|
from ..models.wealth_decile_impact_with_values import WealthDecileImpactWithValues
|
|
25
26
|
|
|
26
27
|
|
|
@@ -43,6 +44,7 @@ class EconomyComparison:
|
|
|
43
44
|
intra_wealth_decile (IntraWealthDecileImpactWithValues | None):
|
|
44
45
|
labor_supply_response (LaborSupplyResponse):
|
|
45
46
|
constituency_impact (None | UKConstituencyBreakdownWithValues):
|
|
47
|
+
local_authority_impact (None | UKLocalAuthorityBreakdownWithValues):
|
|
46
48
|
cliff_impact (CliffImpact | None):
|
|
47
49
|
model_version (None | str | Unset):
|
|
48
50
|
data_version (None | str | Unset):
|
|
@@ -60,6 +62,7 @@ class EconomyComparison:
|
|
|
60
62
|
intra_wealth_decile: IntraWealthDecileImpactWithValues | None
|
|
61
63
|
labor_supply_response: LaborSupplyResponse
|
|
62
64
|
constituency_impact: None | UKConstituencyBreakdownWithValues
|
|
65
|
+
local_authority_impact: None | UKLocalAuthorityBreakdownWithValues
|
|
63
66
|
cliff_impact: CliffImpact | None
|
|
64
67
|
model_version: None | str | Unset = UNSET
|
|
65
68
|
data_version: None | str | Unset = UNSET
|
|
@@ -71,6 +74,7 @@ class EconomyComparison:
|
|
|
71
74
|
from ..models.intra_wealth_decile_impact_with_values import IntraWealthDecileImpactWithValues
|
|
72
75
|
from ..models.poverty_racial_breakdown_with_values import PovertyRacialBreakdownWithValues
|
|
73
76
|
from ..models.uk_constituency_breakdown_with_values import UKConstituencyBreakdownWithValues
|
|
77
|
+
from ..models.uk_local_authority_breakdown_with_values import UKLocalAuthorityBreakdownWithValues
|
|
74
78
|
from ..models.wealth_decile_impact_with_values import WealthDecileImpactWithValues
|
|
75
79
|
|
|
76
80
|
budget = self.budget.to_dict()
|
|
@@ -117,6 +121,12 @@ class EconomyComparison:
|
|
|
117
121
|
else:
|
|
118
122
|
constituency_impact = self.constituency_impact
|
|
119
123
|
|
|
124
|
+
local_authority_impact: dict[str, Any] | None
|
|
125
|
+
if isinstance(self.local_authority_impact, UKLocalAuthorityBreakdownWithValues):
|
|
126
|
+
local_authority_impact = self.local_authority_impact.to_dict()
|
|
127
|
+
else:
|
|
128
|
+
local_authority_impact = self.local_authority_impact
|
|
129
|
+
|
|
120
130
|
cliff_impact: dict[str, Any] | None
|
|
121
131
|
if isinstance(self.cliff_impact, CliffImpact):
|
|
122
132
|
cliff_impact = self.cliff_impact.to_dict()
|
|
@@ -151,6 +161,7 @@ class EconomyComparison:
|
|
|
151
161
|
"intra_wealth_decile": intra_wealth_decile,
|
|
152
162
|
"labor_supply_response": labor_supply_response,
|
|
153
163
|
"constituency_impact": constituency_impact,
|
|
164
|
+
"local_authority_impact": local_authority_impact,
|
|
154
165
|
"cliff_impact": cliff_impact,
|
|
155
166
|
}
|
|
156
167
|
)
|
|
@@ -175,6 +186,7 @@ class EconomyComparison:
|
|
|
175
186
|
from ..models.poverty_impact import PovertyImpact
|
|
176
187
|
from ..models.poverty_racial_breakdown_with_values import PovertyRacialBreakdownWithValues
|
|
177
188
|
from ..models.uk_constituency_breakdown_with_values import UKConstituencyBreakdownWithValues
|
|
189
|
+
from ..models.uk_local_authority_breakdown_with_values import UKLocalAuthorityBreakdownWithValues
|
|
178
190
|
from ..models.wealth_decile_impact_with_values import WealthDecileImpactWithValues
|
|
179
191
|
|
|
180
192
|
d = dict(src_dict)
|
|
@@ -267,6 +279,21 @@ class EconomyComparison:
|
|
|
267
279
|
|
|
268
280
|
constituency_impact = _parse_constituency_impact(d.pop("constituency_impact"))
|
|
269
281
|
|
|
282
|
+
def _parse_local_authority_impact(data: object) -> None | UKLocalAuthorityBreakdownWithValues:
|
|
283
|
+
if data is None:
|
|
284
|
+
return data
|
|
285
|
+
try:
|
|
286
|
+
if not isinstance(data, dict):
|
|
287
|
+
raise TypeError()
|
|
288
|
+
local_authority_impact_type_0 = UKLocalAuthorityBreakdownWithValues.from_dict(data)
|
|
289
|
+
|
|
290
|
+
return local_authority_impact_type_0
|
|
291
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
292
|
+
pass
|
|
293
|
+
return cast(None | UKLocalAuthorityBreakdownWithValues, data)
|
|
294
|
+
|
|
295
|
+
local_authority_impact = _parse_local_authority_impact(d.pop("local_authority_impact"))
|
|
296
|
+
|
|
270
297
|
def _parse_cliff_impact(data: object) -> CliffImpact | None:
|
|
271
298
|
if data is None:
|
|
272
299
|
return data
|
|
@@ -313,6 +340,7 @@ class EconomyComparison:
|
|
|
313
340
|
intra_wealth_decile=intra_wealth_decile,
|
|
314
341
|
labor_supply_response=labor_supply_response,
|
|
315
342
|
constituency_impact=constituency_impact,
|
|
343
|
+
local_authority_impact=local_authority_impact,
|
|
316
344
|
cliff_impact=cliff_impact,
|
|
317
345
|
model_version=model_version,
|
|
318
346
|
data_version=data_version,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="UKLocalAuthorityBreakdownByLocalAuthority")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class UKLocalAuthorityBreakdownByLocalAuthority:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
average_household_income_change (float):
|
|
17
|
+
relative_household_income_change (float):
|
|
18
|
+
x (int):
|
|
19
|
+
y (int):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
average_household_income_change: float
|
|
23
|
+
relative_household_income_change: float
|
|
24
|
+
x: int
|
|
25
|
+
y: int
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
average_household_income_change = self.average_household_income_change
|
|
30
|
+
|
|
31
|
+
relative_household_income_change = self.relative_household_income_change
|
|
32
|
+
|
|
33
|
+
x = self.x
|
|
34
|
+
|
|
35
|
+
y = self.y
|
|
36
|
+
|
|
37
|
+
field_dict: dict[str, Any] = {}
|
|
38
|
+
field_dict.update(self.additional_properties)
|
|
39
|
+
field_dict.update(
|
|
40
|
+
{
|
|
41
|
+
"average_household_income_change": average_household_income_change,
|
|
42
|
+
"relative_household_income_change": relative_household_income_change,
|
|
43
|
+
"x": x,
|
|
44
|
+
"y": y,
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
return field_dict
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
52
|
+
d = dict(src_dict)
|
|
53
|
+
average_household_income_change = d.pop("average_household_income_change")
|
|
54
|
+
|
|
55
|
+
relative_household_income_change = d.pop("relative_household_income_change")
|
|
56
|
+
|
|
57
|
+
x = d.pop("x")
|
|
58
|
+
|
|
59
|
+
y = d.pop("y")
|
|
60
|
+
|
|
61
|
+
uk_local_authority_breakdown_by_local_authority = cls(
|
|
62
|
+
average_household_income_change=average_household_income_change,
|
|
63
|
+
relative_household_income_change=relative_household_income_change,
|
|
64
|
+
x=x,
|
|
65
|
+
y=y,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
uk_local_authority_breakdown_by_local_authority.additional_properties = d
|
|
69
|
+
return uk_local_authority_breakdown_by_local_authority
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def additional_keys(self) -> list[str]:
|
|
73
|
+
return list(self.additional_properties.keys())
|
|
74
|
+
|
|
75
|
+
def __getitem__(self, key: str) -> Any:
|
|
76
|
+
return self.additional_properties[key]
|
|
77
|
+
|
|
78
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
79
|
+
self.additional_properties[key] = value
|
|
80
|
+
|
|
81
|
+
def __delitem__(self, key: str) -> None:
|
|
82
|
+
del self.additional_properties[key]
|
|
83
|
+
|
|
84
|
+
def __contains__(self, key: str) -> bool:
|
|
85
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.uk_local_authority_breakdown_with_values_by_local_authority import (
|
|
11
|
+
UKLocalAuthorityBreakdownWithValuesByLocalAuthority,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
T = TypeVar("T", bound="UKLocalAuthorityBreakdownWithValues")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@_attrs_define
|
|
19
|
+
class UKLocalAuthorityBreakdownWithValues:
|
|
20
|
+
"""
|
|
21
|
+
Attributes:
|
|
22
|
+
by_local_authority (UKLocalAuthorityBreakdownWithValuesByLocalAuthority):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
by_local_authority: UKLocalAuthorityBreakdownWithValuesByLocalAuthority
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
by_local_authority = self.by_local_authority.to_dict()
|
|
30
|
+
|
|
31
|
+
field_dict: dict[str, Any] = {}
|
|
32
|
+
field_dict.update(self.additional_properties)
|
|
33
|
+
field_dict.update(
|
|
34
|
+
{
|
|
35
|
+
"by_local_authority": by_local_authority,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
return field_dict
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
43
|
+
from ..models.uk_local_authority_breakdown_with_values_by_local_authority import (
|
|
44
|
+
UKLocalAuthorityBreakdownWithValuesByLocalAuthority,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
d = dict(src_dict)
|
|
48
|
+
by_local_authority = UKLocalAuthorityBreakdownWithValuesByLocalAuthority.from_dict(d.pop("by_local_authority"))
|
|
49
|
+
|
|
50
|
+
uk_local_authority_breakdown_with_values = cls(
|
|
51
|
+
by_local_authority=by_local_authority,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
uk_local_authority_breakdown_with_values.additional_properties = d
|
|
55
|
+
return uk_local_authority_breakdown_with_values
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def additional_keys(self) -> list[str]:
|
|
59
|
+
return list(self.additional_properties.keys())
|
|
60
|
+
|
|
61
|
+
def __getitem__(self, key: str) -> Any:
|
|
62
|
+
return self.additional_properties[key]
|
|
63
|
+
|
|
64
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
65
|
+
self.additional_properties[key] = value
|
|
66
|
+
|
|
67
|
+
def __delitem__(self, key: str) -> None:
|
|
68
|
+
del self.additional_properties[key]
|
|
69
|
+
|
|
70
|
+
def __contains__(self, key: str) -> bool:
|
|
71
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.uk_local_authority_breakdown_by_local_authority import UKLocalAuthorityBreakdownByLocalAuthority
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="UKLocalAuthorityBreakdownWithValuesByLocalAuthority")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class UKLocalAuthorityBreakdownWithValuesByLocalAuthority:
|
|
18
|
+
""" """
|
|
19
|
+
|
|
20
|
+
additional_properties: dict[str, UKLocalAuthorityBreakdownByLocalAuthority] = _attrs_field(init=False, factory=dict)
|
|
21
|
+
|
|
22
|
+
def to_dict(self) -> dict[str, Any]:
|
|
23
|
+
field_dict: dict[str, Any] = {}
|
|
24
|
+
for prop_name, prop in self.additional_properties.items():
|
|
25
|
+
field_dict[prop_name] = prop.to_dict()
|
|
26
|
+
|
|
27
|
+
return field_dict
|
|
28
|
+
|
|
29
|
+
@classmethod
|
|
30
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
31
|
+
from ..models.uk_local_authority_breakdown_by_local_authority import UKLocalAuthorityBreakdownByLocalAuthority
|
|
32
|
+
|
|
33
|
+
d = dict(src_dict)
|
|
34
|
+
uk_local_authority_breakdown_with_values_by_local_authority = cls()
|
|
35
|
+
|
|
36
|
+
additional_properties = {}
|
|
37
|
+
for prop_name, prop_dict in d.items():
|
|
38
|
+
additional_property = UKLocalAuthorityBreakdownByLocalAuthority.from_dict(prop_dict)
|
|
39
|
+
|
|
40
|
+
additional_properties[prop_name] = additional_property
|
|
41
|
+
|
|
42
|
+
uk_local_authority_breakdown_with_values_by_local_authority.additional_properties = additional_properties
|
|
43
|
+
return uk_local_authority_breakdown_with_values_by_local_authority
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def additional_keys(self) -> list[str]:
|
|
47
|
+
return list(self.additional_properties.keys())
|
|
48
|
+
|
|
49
|
+
def __getitem__(self, key: str) -> UKLocalAuthorityBreakdownByLocalAuthority:
|
|
50
|
+
return self.additional_properties[key]
|
|
51
|
+
|
|
52
|
+
def __setitem__(self, key: str, value: UKLocalAuthorityBreakdownByLocalAuthority) -> None:
|
|
53
|
+
self.additional_properties[key] = value
|
|
54
|
+
|
|
55
|
+
def __delitem__(self, key: str) -> None:
|
|
56
|
+
del self.additional_properties[key]
|
|
57
|
+
|
|
58
|
+
def __contains__(self, key: str) -> bool:
|
|
59
|
+
return key in self.additional_properties
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|