policyengine-uk 2.52.1__py3-none-any.whl → 2.53.1__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.

Potentially problematic release.


This version of policyengine-uk might be problematic. Click here for more details.

@@ -58,7 +58,7 @@ def calculate_excluded_from_labour_supply_responses(
58
58
  | (adult_index == 0)
59
59
  | (adult_index >= count_adults + 1)
60
60
  )
61
- return excluded
61
+ return excluded.values
62
62
 
63
63
 
64
64
  class FTEImpacts(BaseModel):
@@ -132,8 +132,9 @@ def apply_labour_supply_responses(
132
132
  )
133
133
  reform_income = sim.calculate(target_variable, year, map_to="person")
134
134
 
135
- baseline_income = baseline_income.values
136
- reform_income = reform_income.values
135
+ baseline_income = baseline_income
136
+ reform_income = reform_income
137
+ baseline_income = pd.Series(baseline_income, index=reform_income.index)
137
138
 
138
139
  # Calculate relative changes
139
140
  income_rel_change = np.where(
@@ -154,7 +155,9 @@ def apply_labour_supply_responses(
154
155
  )
155
156
 
156
157
  # Apply extensive margin responses (participation model)
157
- participation_responses = apply_participation_responses(sim=sim, year=year)
158
+ participation_responses = (
159
+ None # = apply_participation_responses(sim=sim, year=year)
160
+ )
158
161
 
159
162
  # Add FTE impacts to the response data
160
163
  fte_impacts = FTEImpacts(
@@ -336,11 +339,10 @@ def apply_progression_responses(
336
339
  response = response_df["total_response"].values
337
340
 
338
341
  # Apply the labour supply response to the simulation
339
- # NOTE: Don't reset calculations as this breaks UC and other benefit calculations
340
- # Instead, just update the employment income with the behavioral response
342
+ sim.reset_calculations()
341
343
  sim.set_input(input_variable, year, employment_income + response)
342
344
 
343
- weight = sim.calculate("household_weight", year, map_to="person")
345
+ weight = sim.calculate("household_weight", year, map_to="person").values
344
346
 
345
347
  result = MicroDataFrame(df, weights=weight)
346
348
 
@@ -38,7 +38,7 @@ def calculate_derivative(
38
38
  Array of marginal rates clipped between 0 and 1
39
39
  """
40
40
  # Get baseline values for input variable and identify adults
41
- input_variable_values = sim.calculate(input_variable, year)
41
+ input_variable_values = sim.calculate(input_variable, year).copy()
42
42
  adult_index = sim.calculate("adult_index")
43
43
  entity_key = sim.tax_benefit_system.variables[input_variable].entity.key
44
44
 
@@ -67,6 +67,10 @@ def calculate_derivative(
67
67
  ~pd.Series(adult_index).isin(range(1, count_adults + 1))
68
68
  ] = np.nan
69
69
 
70
+ # Reset simulation to original state
71
+ sim.reset_calculations()
72
+ sim.set_input(input_variable, year, input_variable_values)
73
+
70
74
  # Clip to ensure rates are between 0 and 1 (0% to 100% retention)
71
75
  return rel_marginal_wages.clip(0, 1)
72
76
 
@@ -96,6 +100,9 @@ def calculate_relative_income_change(
96
100
  reformed_target_values = sim.calculate(
97
101
  target_variable, year, map_to="person"
98
102
  )
103
+ original_target_values = pd.Series(
104
+ original_target_values, index=reformed_target_values.index
105
+ )
99
106
 
100
107
  # Calculate relative change, handling division by zero
101
108
  rel_change = (
@@ -159,6 +166,7 @@ def calculate_derivative_change(
159
166
  count_adults=count_adults,
160
167
  delta=delta,
161
168
  )
169
+ original_deriv = pd.Series(original_deriv, index=reformed_deriv.index)
162
170
 
163
171
  # Calculate relative and absolute changes in marginal rates
164
172
  rel_change = reformed_deriv / original_deriv - 1
@@ -4,67 +4,16 @@ from policyengine_uk.model_api import *
4
4
  class is_benefit_cap_exempt(Variable):
5
5
  value_type = bool
6
6
  entity = BenUnit
7
- label = "Whether exempt from the benefits cap"
7
+ label = (
8
+ "Whether exempt from the benefits cap because of health or disability"
9
+ )
8
10
  definition_period = YEAR
9
11
  reference = "https://www.gov.uk/benefit-cap/when-youre-not-affected"
10
12
 
11
13
  def formula(benunit, period, parameters):
12
- # Check if anyone in benefit unit is over state pension age
13
- person = benunit.members
14
- over_pension_age = person("is_SP_age", period)
15
- has_pensioner = benunit.any(over_pension_age)
16
-
17
- # UC-specific exemptions
18
- # Limited capability for work and work-related activity
19
- has_lcwra = benunit.any(
20
- person("uc_limited_capability_for_WRA", period)
21
- )
22
-
23
- # Carer element in UC indicates caring for someone with disability
24
- gets_uc_carer_element = benunit("uc_carer_element", period) > 0
25
-
26
- # Earnings exemption for UC (£846/month = £10,152/year)
27
- # Note: Only check earned income, not UC amount itself to avoid circular dependency
28
- uc_earned = benunit("uc_earned_income", period)
29
- earnings_threshold = 10_152
30
- meets_earnings_test = uc_earned >= earnings_threshold
31
-
32
- # Disability and carer benefits that exempt from cap
33
- QUAL_PERSONAL_BENEFITS = [
34
- "attendance_allowance",
35
- "carers_allowance",
36
- "dla", # Disability Living Allowance (includes components)
37
- "pip_dl", # PIP daily living component
38
- "pip_m", # PIP mobility component
39
- "iidb", # Industrial injuries disability benefit
40
- ]
41
-
42
- # ESA and Working Tax Credit
43
- QUAL_BENUNIT_BENEFITS = [
44
- "esa_income", # Income-based ESA
45
- "working_tax_credit", # If getting WTC, likely working enough
46
- ]
47
-
48
- qualifying_personal_benefits = add(
49
- benunit, period, QUAL_PERSONAL_BENEFITS
50
- )
51
- qualifying_benunit_benefits = add(
52
- benunit, period, QUAL_BENUNIT_BENEFITS
53
- )
54
-
55
- # Check for Armed Forces Compensation Scheme payments
56
- afcs = benunit("afcs", period) > 0
57
-
58
- # ESA contribution-based with support component
59
- esa_support_component = benunit("esa_contrib", period) > 0
60
-
61
- return (
62
- has_pensioner
63
- | has_lcwra
64
- | gets_uc_carer_element
65
- | meets_earnings_test
66
- | (qualifying_personal_benefits > 0)
67
- | (qualifying_benunit_benefits > 0)
68
- | afcs
69
- | esa_support_component
14
+ exempt_health = benunit(
15
+ "is_benefit_cap_exempt_health_disability", period
70
16
  )
17
+ exempt_other = benunit("is_benefit_cap_exempt_other", period)
18
+ exempt_earnings = benunit("is_benefit_cap_exempt_earnings", period)
19
+ return exempt_health | exempt_earnings | exempt_other
@@ -0,0 +1,66 @@
1
+ from policyengine_uk.model_api import *
2
+
3
+
4
+ class is_benefit_cap_exempt_earnings(Variable):
5
+ value_type = bool
6
+ entity = BenUnit
7
+ label = "Whether exempt from the benefits cap for non-health/disability reasons"
8
+ definition_period = YEAR
9
+ reference = "https://www.gov.uk/benefit-cap/when-youre-not-affected"
10
+
11
+ def formula(benunit, period, parameters):
12
+ # Check if anyone in benefit unit is over state pension age
13
+ person = benunit.members
14
+ over_pension_age = person("is_SP_age", period)
15
+ has_pensioner = benunit.any(over_pension_age)
16
+
17
+ # UC-specific exemptions
18
+ # Limited capability for work and work-related activity
19
+ has_lcwra = benunit.any(
20
+ person("uc_limited_capability_for_WRA", period)
21
+ )
22
+
23
+ # Carer element in UC indicates caring for someone with disability
24
+ gets_uc_carer_element = benunit("uc_carer_element", period) > 0
25
+
26
+ # Earnings exemption for UC (£846/month = £10,152/year)
27
+ # Note: Only check earned income, not UC amount itself to avoid circular dependency
28
+ uc_earned = benunit.sum(
29
+ benunit.members("employment_income", period)
30
+ + benunit.members("self_employment_income", period)
31
+ - benunit.members("income_tax", period)
32
+ - benunit.members("national_insurance", period)
33
+ )
34
+ earnings_threshold = 10_152
35
+ meets_earnings_test = uc_earned >= earnings_threshold
36
+
37
+ # Disability and carer benefits that exempt from cap
38
+ QUAL_PERSONAL_BENEFITS = [
39
+ "attendance_allowance",
40
+ "carers_allowance",
41
+ "dla", # Disability Living Allowance (includes components)
42
+ "pip_dl", # PIP daily living component
43
+ "pip_m", # PIP mobility component
44
+ "iidb", # Industrial injuries disability benefit
45
+ ]
46
+
47
+ # ESA and Working Tax Credit
48
+ QUAL_BENUNIT_BENEFITS = [
49
+ "esa_income", # Income-based ESA
50
+ "working_tax_credit", # If getting WTC, likely working enough
51
+ ]
52
+
53
+ qualifying_personal_benefits = add(
54
+ benunit, period, QUAL_PERSONAL_BENEFITS
55
+ )
56
+ qualifying_benunit_benefits = add(
57
+ benunit, period, QUAL_BENUNIT_BENEFITS
58
+ )
59
+
60
+ # Check for Armed Forces Compensation Scheme payments
61
+ afcs = benunit("afcs", period) > 0
62
+
63
+ # ESA contribution-based with support component
64
+ esa_support_component = benunit("esa_contrib", period) > 0
65
+
66
+ return meets_earnings_test
@@ -0,0 +1,75 @@
1
+ from policyengine_uk.model_api import *
2
+
3
+
4
+ class is_benefit_cap_exempt_health_disability(Variable):
5
+ value_type = bool
6
+ entity = BenUnit
7
+ label = (
8
+ "Whether exempt from the benefits cap because of health or disability"
9
+ )
10
+ definition_period = YEAR
11
+ reference = "https://www.gov.uk/benefit-cap/when-youre-not-affected"
12
+
13
+ def formula(benunit, period, parameters):
14
+ # Check if anyone in benefit unit is over state pension age
15
+ person = benunit.members
16
+ over_pension_age = person("is_SP_age", period)
17
+ has_pensioner = benunit.any(over_pension_age)
18
+
19
+ # UC-specific exemptions
20
+ # Limited capability for work and work-related activity
21
+ has_lcwra = benunit.any(
22
+ person("uc_limited_capability_for_WRA", period)
23
+ )
24
+
25
+ # Carer element in UC indicates caring for someone with disability
26
+ gets_uc_carer_element = benunit("uc_carer_element", period) > 0
27
+
28
+ # Earnings exemption for UC (£846/month = £10,152/year)
29
+ # Note: Only check earned income, not UC amount itself to avoid circular dependency
30
+ uc_earned = benunit.sum(
31
+ benunit.members("employment_income", period)
32
+ + benunit.members("self_employment_income", period)
33
+ - benunit.members("income_tax", period)
34
+ - benunit.members("national_insurance", period)
35
+ )
36
+ earnings_threshold = 10_152
37
+ meets_earnings_test = uc_earned >= earnings_threshold
38
+
39
+ # Disability and carer benefits that exempt from cap
40
+ QUAL_PERSONAL_BENEFITS = [
41
+ "attendance_allowance",
42
+ "carers_allowance",
43
+ "dla", # Disability Living Allowance (includes components)
44
+ "pip_dl", # PIP daily living component
45
+ "pip_m", # PIP mobility component
46
+ "iidb", # Industrial injuries disability benefit
47
+ ]
48
+
49
+ # ESA and Working Tax Credit
50
+ QUAL_BENUNIT_BENEFITS = [
51
+ "esa_income", # Income-based ESA
52
+ "working_tax_credit", # If getting WTC, likely working enough
53
+ ]
54
+
55
+ qualifying_personal_benefits = add(
56
+ benunit, period, QUAL_PERSONAL_BENEFITS
57
+ )
58
+ qualifying_benunit_benefits = add(
59
+ benunit, period, QUAL_BENUNIT_BENEFITS
60
+ )
61
+
62
+ # Check for Armed Forces Compensation Scheme payments
63
+ afcs = benunit("afcs", period) > 0
64
+
65
+ # ESA contribution-based with support component
66
+ esa_support_component = benunit("esa_contrib", period) > 0
67
+
68
+ return (
69
+ has_lcwra
70
+ | gets_uc_carer_element
71
+ | (qualifying_personal_benefits > 0)
72
+ | (qualifying_benunit_benefits > 0)
73
+ | afcs
74
+ | esa_support_component
75
+ )
@@ -0,0 +1,66 @@
1
+ from policyengine_uk.model_api import *
2
+
3
+
4
+ class is_benefit_cap_exempt_other(Variable):
5
+ value_type = bool
6
+ entity = BenUnit
7
+ label = "Whether exempt from the benefits cap for non-health/disability reasons"
8
+ definition_period = YEAR
9
+ reference = "https://www.gov.uk/benefit-cap/when-youre-not-affected"
10
+
11
+ def formula(benunit, period, parameters):
12
+ # Check if anyone in benefit unit is over state pension age
13
+ person = benunit.members
14
+ over_pension_age = person("is_SP_age", period)
15
+ has_pensioner = benunit.any(over_pension_age)
16
+
17
+ # UC-specific exemptions
18
+ # Limited capability for work and work-related activity
19
+ has_lcwra = benunit.any(
20
+ person("uc_limited_capability_for_WRA", period)
21
+ )
22
+
23
+ # Carer element in UC indicates caring for someone with disability
24
+ gets_uc_carer_element = benunit("uc_carer_element", period) > 0
25
+
26
+ # Earnings exemption for UC (£846/month = £10,152/year)
27
+ # Note: Only check earned income, not UC amount itself to avoid circular dependency
28
+ uc_earned = benunit.sum(
29
+ benunit.members("employment_income", period)
30
+ + benunit.members("self_employment_income", period)
31
+ - benunit.members("income_tax", period)
32
+ - benunit.members("national_insurance", period)
33
+ )
34
+ earnings_threshold = 10_152
35
+ meets_earnings_test = uc_earned >= earnings_threshold
36
+
37
+ # Disability and carer benefits that exempt from cap
38
+ QUAL_PERSONAL_BENEFITS = [
39
+ "attendance_allowance",
40
+ "carers_allowance",
41
+ "dla", # Disability Living Allowance (includes components)
42
+ "pip_dl", # PIP daily living component
43
+ "pip_m", # PIP mobility component
44
+ "iidb", # Industrial injuries disability benefit
45
+ ]
46
+
47
+ # ESA and Working Tax Credit
48
+ QUAL_BENUNIT_BENEFITS = [
49
+ "esa_income", # Income-based ESA
50
+ "working_tax_credit", # If getting WTC, likely working enough
51
+ ]
52
+
53
+ qualifying_personal_benefits = add(
54
+ benunit, period, QUAL_PERSONAL_BENEFITS
55
+ )
56
+ qualifying_benunit_benefits = add(
57
+ benunit, period, QUAL_BENUNIT_BENEFITS
58
+ )
59
+
60
+ # Check for Armed Forces Compensation Scheme payments
61
+ afcs = benunit("afcs", period) > 0
62
+
63
+ # ESA contribution-based with support component
64
+ esa_support_component = benunit("esa_contrib", period) > 0
65
+
66
+ return has_pensioner | afcs | esa_support_component
@@ -14,4 +14,16 @@ class is_disabled_for_benefits(Variable):
14
14
  "dla",
15
15
  "pip",
16
16
  ]
17
- return add(person, period, QUALIFYING_BENEFITS) > 0
17
+
18
+ p_claims_lcwra_if_on_pip_dla = 0.8
19
+ p_claims_lcwra_if_not_on_pip_dla = 0.13
20
+
21
+ random_seed = random(person)
22
+
23
+ on_qual_benefits = add(person, period, QUALIFYING_BENEFITS) > 0
24
+
25
+ return np.where(
26
+ on_qual_benefits,
27
+ random_seed < p_claims_lcwra_if_on_pip_dla,
28
+ random_seed < p_claims_lcwra_if_not_on_pip_dla,
29
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-uk
3
- Version: 2.52.1
3
+ Version: 2.53.1
4
4
  Summary: PolicyEngine tax and benefit system for the UK.
5
5
  Project-URL: Homepage, https://github.com/PolicyEngine/policyengine-uk
6
6
  Project-URL: Repository, https://github.com/PolicyEngine/policyengine-uk
@@ -10,9 +10,9 @@ policyengine_uk/data/__init__.py,sha256=J0bZ3WnvPzZ4qfVLYcwOc4lziMUMdbcMqJ3xwjoe
10
10
  policyengine_uk/data/dataset_schema.py,sha256=781beGVnPWJhw2FzcG6he-LtmgxtwS1h6keAz7TPoXI,10036
11
11
  policyengine_uk/data/economic_assumptions.py,sha256=U3wyBs4zVI5-bcMB-GivELC1qG-895l5NPds3cuWb90,6239
12
12
  policyengine_uk/data/uprating_indices.yaml,sha256=kQtfeGWyqge4dbJhs0iF4kTMqovuegill_Zfs8orJi4,2394
13
- policyengine_uk/dynamics/labour_supply.py,sha256=PlmYTGo6G-bZoazB2slpD35F2Wq5dIGlUJOzjc1dnSw,12283
13
+ policyengine_uk/dynamics/labour_supply.py,sha256=o2UIljuEx1tesZj5n_gzbBqvMzbF8Ko5_VVS5Ky6gP0,12250
14
14
  policyengine_uk/dynamics/participation.py,sha256=g5xUqg-Nj2lQny9GrUfI2D_swLx0-9k-486NXtcWwbM,23238
15
- policyengine_uk/dynamics/progression.py,sha256=4Wl3ZE-bYxNTMVGeOGFh22lYtHGPCarrhp8JzuLQs7I,13738
15
+ policyengine_uk/dynamics/progression.py,sha256=ViyOrpn4uOfYW43sCuBcLP8KiJ5hZyhblEV_BIEUtnQ,14067
16
16
  policyengine_uk/parameters/gov/README.md,sha256=bHUep1_2pLHD3Or8SwjStOWXDIbW9OuYxOd4ml8IXcM,13
17
17
  policyengine_uk/parameters/gov/benefit_uprating_cpi.yaml,sha256=2zOSdJeUhDZYYsKE2vLkcK-UbKNoOSVwfac0QIAp02g,250
18
18
  policyengine_uk/parameters/gov/contrib/README.md,sha256=b282dmUFAmj7cXSfiMLyE81q5Y0Gnehy-6atLus-ESs,70
@@ -846,7 +846,10 @@ policyengine_uk/variables/gov/dwp/is_CTC_child_limit_exempt.py,sha256=_kSBwtMuTL
846
846
  policyengine_uk/variables/gov/dwp/is_CTC_eligible.py,sha256=eDWw_fj_dAvE8zZ4XStvxUd06D_D9goDMqvnL1ILTvo,565
847
847
  policyengine_uk/variables/gov/dwp/is_SP_age.py,sha256=yiDWUA5FicwN4PSXVQ9CDXwONj96LFtlsGoT22kYH8s,364
848
848
  policyengine_uk/variables/gov/dwp/is_WTC_eligible.py,sha256=Oc0ZyQYK09U4PQv00HZtVhXMxh5MQGs3s4M-VjJvv_g,2020
849
- policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt.py,sha256=jtaAEjRjhesm6UpauO6Th1FteO-Dkt5g7u7qlrdf1hs,2548
849
+ policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt.py,sha256=Q1_t-Hxg18LX39wTB-Sjc3ItDXRHh3FTHqY8_R64CPg,685
850
+ policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_earnings.py,sha256=CK64_j_Cq7-aF8sCDUXRUf7mAJiodjlyeF3BdFG4Zvk,2547
851
+ policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_health_disability.py,sha256=4PeVQHBrtbtUlCVOJX5tmxhqKdmAwqtPJY91wPqtaIQ,2772
852
+ policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_other.py,sha256=5nfrcIMwAV3Q67yMOpFMP4Bjyus9y4AKQr5Uh_G363M,2569
850
853
  policyengine_uk/variables/gov/dwp/is_child_for_CTC.py,sha256=p1vdgGohyqRWy-0nppBa5McUr3alDPIwWZl9vC_NDWk,336
851
854
  policyengine_uk/variables/gov/dwp/jsa.py,sha256=2m9V-fwcawZzpOLC6TyWEl-Odze9E6vLH5E2h26kBQA,254
852
855
  policyengine_uk/variables/gov/dwp/jsa_contrib.py,sha256=6rdONNAAl2OYAmGfLxx2RNo2g0OyMzCn5Fd-S7GHizQ,234
@@ -1203,7 +1206,7 @@ policyengine_uk/variables/household/demographic/is_benunit_head.py,sha256=71ZUlt
1203
1206
  policyengine_uk/variables/household/demographic/is_blind.py,sha256=AWadKUcP_UYc_ZACpYMOKwRcGBCR1V1_RXYS4UgPrW4,259
1204
1207
  policyengine_uk/variables/household/demographic/is_carer_for_benefits.py,sha256=kDs-rGII5n2KQesgSCNrhfsG2dWlFyZcciyGVq6fkPI,324
1205
1208
  policyengine_uk/variables/household/demographic/is_child.py,sha256=O34xV7eIFnobt-1RH0Z1noi9Z3tm8nD-7Fe7-MUD-CQ,272
1206
- policyengine_uk/variables/household/demographic/is_disabled_for_benefits.py,sha256=pZXIWFDOfABNI8V_NcsogG6c819D22phB2Z03PzH7mw,505
1209
+ policyengine_uk/variables/household/demographic/is_disabled_for_benefits.py,sha256=hJmlm9Zy0D4Ie-aUdxtwgltpp8OpYmOvn_QF3yplmF0,830
1207
1210
  policyengine_uk/variables/household/demographic/is_eldest_child.py,sha256=2jUNxUQkR_bBApfVquZw-HaG6fy5lwKxc9Y81plXCVI,521
1208
1211
  policyengine_uk/variables/household/demographic/is_enhanced_disabled_for_benefits.py,sha256=bIaBuJyEd4PNhWFnBGnX5cbGlkS3gM6SKDuj4s7xT40,453
1209
1212
  policyengine_uk/variables/household/demographic/is_female.py,sha256=4r6_9iL01TrbAMVHoBdzM4JxYHa9v9ZvOVyZe5aW_3k,346
@@ -1387,7 +1390,7 @@ policyengine_uk/variables/misc/spi_imputed.py,sha256=iPVlBF_TisM0rtKvO-3-PQ2UYCe
1387
1390
  policyengine_uk/variables/misc/uc_migrated.py,sha256=zFNcUJaO8gwmbL1iY9GKgUt3G6J9yrCraqBV_5dCvlM,306
1388
1391
  policyengine_uk/variables/misc/categories/lower_middle_or_higher.py,sha256=C54tHYz2DmOyvQYCC1bF8RJwRZinhAq_e3aYC-9F5fM,157
1389
1392
  policyengine_uk/variables/misc/categories/lower_or_higher.py,sha256=81NIbLLabRr9NwjpUZDuV8IV8_mqmp5NM-CZvt55TwE,129
1390
- policyengine_uk-2.52.1.dist-info/METADATA,sha256=i8U-LUiQg8dtLq5OZhja2U3ksoXXBYfVE93aiWytHPc,3995
1391
- policyengine_uk-2.52.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1392
- policyengine_uk-2.52.1.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1393
- policyengine_uk-2.52.1.dist-info/RECORD,,
1393
+ policyengine_uk-2.53.1.dist-info/METADATA,sha256=BM9ZVTfzvrBkhIgH46wifXufZNvNxUd7PBjRcVMmLn0,3995
1394
+ policyengine_uk-2.53.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1395
+ policyengine_uk-2.53.1.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1396
+ policyengine_uk-2.53.1.dist-info/RECORD,,