policyengine 3.1.5__py3-none-any.whl → 3.1.7__py3-none-any.whl

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.
@@ -1,9 +1,14 @@
1
+ from typing import TYPE_CHECKING
1
2
  from uuid import uuid4
2
3
 
3
4
  from pydantic import BaseModel, Field
4
5
 
6
+ from .parameter_value import ParameterValue
5
7
  from .tax_benefit_model_version import TaxBenefitModelVersion
6
8
 
9
+ if TYPE_CHECKING:
10
+ from .parameter_value import ParameterValue
11
+
7
12
 
8
13
  class Parameter(BaseModel):
9
14
  id: str = Field(default_factory=lambda: str(uuid4()))
@@ -13,3 +18,4 @@ class Parameter(BaseModel):
13
18
  data_type: type | None = None
14
19
  tax_benefit_model_version: TaxBenefitModelVersion
15
20
  unit: str | None = None
21
+ parameter_values: list["ParameterValue"] = Field(default_factory=list)
@@ -1,14 +1,16 @@
1
1
  from datetime import datetime
2
+ from typing import TYPE_CHECKING
2
3
  from uuid import uuid4
3
4
 
4
5
  from pydantic import BaseModel, Field
5
6
 
6
- from .parameter import Parameter
7
+ if TYPE_CHECKING:
8
+ from .parameter import Parameter
7
9
 
8
10
 
9
11
  class ParameterValue(BaseModel):
10
12
  id: str = Field(default_factory=lambda: str(uuid4()))
11
- parameter: Parameter | None = None
13
+ parameter: "Parameter | None" = None
12
14
  value: float | int | str | bool | list | None = None
13
15
  start_date: datetime
14
16
  end_date: datetime | None = None
@@ -177,6 +177,9 @@ class PolicyEngineUKLatest(TaxBenefitModelVersion):
177
177
  value=param_at_instant.value,
178
178
  )
179
179
  self.parameter_values.append(parameter_value)
180
+ self.get_parameter(parameter.name).parameter_values.append(
181
+ parameter_value
182
+ )
180
183
 
181
184
  def run(self, simulation: "Simulation") -> "Simulation":
182
185
  from policyengine_uk import Microsimulation
@@ -167,6 +167,9 @@ class PolicyEngineUSLatest(TaxBenefitModelVersion):
167
167
  value=param_at_instant.value,
168
168
  )
169
169
  self.parameter_values.append(parameter_value)
170
+ self.get_parameter(parameter.name).parameter_values.append(
171
+ parameter_value
172
+ )
170
173
 
171
174
  def run(self, simulation: "Simulation") -> "Simulation":
172
175
  from policyengine_us import Microsimulation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine
3
- Version: 3.1.5
3
+ Version: 3.1.7
4
4
  Summary: A package to conduct policy analysis using PolicyEngine tax-benefit models.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License: GNU AFFERO GENERAL PUBLIC LICENSE
@@ -1,12 +1,12 @@
1
1
  policyengine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- policyengine/__pycache__/__init__.cpython-313.pyc,sha256=i0if-AwQ3fDLDZnEs_L7YxJXPz-_BGDRJstrY56T1cU,175
2
+ policyengine/__pycache__/__init__.cpython-313.pyc,sha256=QdDnJpEU322F2GyH3GCCTbAoQy1XElYycMgEbuzy5Lw,175
3
3
  policyengine/core/__init__.py,sha256=KBVhkqzkvjWLDDwk96vquQKL63ZFuLen5AzBOBnO9pg,912
4
4
  policyengine/core/dataset.py,sha256=iJr9-J6w11uMRYy3EEJO9Gveku1m71AA1yzeo-0SiCs,16094
5
5
  policyengine/core/dataset_version.py,sha256=6KeFCRGQto_Yyl4QY4Vo2JFythjaXrNAOHQiwRGESyM,378
6
6
  policyengine/core/dynamic.py,sha256=ng9BjDzxdwjJ0e7zoqXFmq33E1SRbaaPYfW7pjRSSzI,1641
7
7
  policyengine/core/output.py,sha256=cCW4vbzkLdQaT_nJTyDJBl7Hubm7nZeRuR7aVG1dKvg,643
8
- policyengine/core/parameter.py,sha256=5nBCw-6-BCfW-_uFqvAN5zcP_Vfz1mAmQsi3peWAbZA,407
9
- policyengine/core/parameter_value.py,sha256=b0ts1kbWcwjPSYnZm2rlCylmTLPJRLxDL8z3RmxM5OI,377
8
+ policyengine/core/parameter.py,sha256=8RKKuGCDW1OoHPoXI9vF3JY6COc1qhUtMolXTUxPoEs,626
9
+ policyengine/core/parameter_value.py,sha256=ZRBZWFYtaY9TqdgjrCymzOZNmuKOBZsrWBET24DIJ_Q,434
10
10
  policyengine/core/policy.py,sha256=ExMrUDMvNk_uuOL0cSm0UCzDyGka0t_yk6x4U0Kp6Ww,1635
11
11
  policyengine/core/simulation.py,sha256=yvvved75XMcGP3Bj9E2tmKRxvI-DQVZv7k4uTETwBm0,1134
12
12
  policyengine/core/tax_benefit_model.py,sha256=2Yc1RlQrUG7djDMZbJOQH4Ns86_lOnLeISCGR4-9zMo,176
@@ -21,19 +21,19 @@ policyengine/tax_benefit_models/us.py,sha256=G51dAmHo8NJLb2mnbne6iO5eNaatCGUd_2u
21
21
  policyengine/tax_benefit_models/uk/__init__.py,sha256=AiA74iED5FEryvUCMfVZi6pYDYuTfQcj9B01h8J5xFA,1105
22
22
  policyengine/tax_benefit_models/uk/analysis.py,sha256=O4eYJYF7tsgiuLuiWMU0OXq7ss6U8-vzlg6nC2U8sgU,3175
23
23
  policyengine/tax_benefit_models/uk/datasets.py,sha256=-lmj4eG2my2GGmMMkxI1iXobGQW5irBgylEwyV0xU6c,8039
24
- policyengine/tax_benefit_models/uk/model.py,sha256=HNdqsAKErDw9nruOdj4SiGF2KMopccaGDJ4RTXkdJ1U,9612
24
+ policyengine/tax_benefit_models/uk/model.py,sha256=djCLLBeik9ZGFqe5WXUNVcu1JXjh0U8MXakvncasUj0,9754
25
25
  policyengine/tax_benefit_models/uk/outputs.py,sha256=2mYLwQW4QNvrOHtHfm_ACqE9gbmuLxvcCyldRU46s0o,3543
26
26
  policyengine/tax_benefit_models/us/__init__.py,sha256=zP-UUQqOc9g0ymyHkweJdi4RVXQDKSR6SUxavUKvV0s,1101
27
27
  policyengine/tax_benefit_models/us/analysis.py,sha256=Xf-DT0QjVySs0QG_koCwgvOeWI_scLtv3S3SP8u8ZWc,3253
28
28
  policyengine/tax_benefit_models/us/datasets.py,sha256=UwY5GcrVRl7zdmtqKE5TykYRNtOsGzyDm8kRkc98hyw,14708
29
- policyengine/tax_benefit_models/us/model.py,sha256=lhffJLnE4tr-ch_tHiyH2zP4IMX9_swWomUllb9WdbM,16421
29
+ policyengine/tax_benefit_models/us/model.py,sha256=x3xRoIpXV2idVr0IwPJzujLHqu3qeO-iWN2Sv7Tuj9Q,16563
30
30
  policyengine/tax_benefit_models/us/outputs.py,sha256=GT8Eur8DfB9cPQRbSljEl9RpKSNHW80Fq_CBXCybvIU,3519
31
31
  policyengine/utils/__init__.py,sha256=1X-VYAWLyB9A0YRHwsGWrqQHns1WfeZ7ISC6DMU5myM,140
32
32
  policyengine/utils/dates.py,sha256=HnAqyl8S8EOYp8ibsnMTmECYoDWCSqwL-7A2_qKgxSc,1510
33
33
  policyengine/utils/parametric_reforms.py,sha256=4P3U39-4pYTU4BN6JjgmVLUkCkBhRfZJ6UIWTlsjyQE,1155
34
34
  policyengine/utils/plotting.py,sha256=ZAzTWz38vIaW0c3Nt4Un1kfrNoXLyHCDd1pEJIlsRg4,5335
35
- policyengine-3.1.5.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
36
- policyengine-3.1.5.dist-info/METADATA,sha256=OrYJJBzGq6CZeokXm7gCprOYUPPJe0d4unqvivTPyXU,45889
37
- policyengine-3.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- policyengine-3.1.5.dist-info/top_level.txt,sha256=_23UPobfkneHQkpJ0e0OmDJfhCUfoXj_F2sTckCGOH4,13
39
- policyengine-3.1.5.dist-info/RECORD,,
35
+ policyengine-3.1.7.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
36
+ policyengine-3.1.7.dist-info/METADATA,sha256=stN3kD7499L_CWLa2RQwzpb_GYtJ8kC5RiDIY-1Tpww,45889
37
+ policyengine-3.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
+ policyengine-3.1.7.dist-info/top_level.txt,sha256=_23UPobfkneHQkpJ0e0OmDJfhCUfoXj_F2sTckCGOH4,13
39
+ policyengine-3.1.7.dist-info/RECORD,,