policyengine-us 1.432.0__py3-none-any.whl → 1.432.2__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.
@@ -68,13 +68,29 @@ def create_ri_exemption_reform() -> Reform:
68
68
  defined_for = StateCode.RI
69
69
 
70
70
  def formula(tax_unit, period, parameters):
71
- p = parameters(period).gov.contrib.states.ri.dependent_exemption
72
71
 
73
72
  maximum = tax_unit("ri_dependent_exemption_maximum", period)
74
73
  phaseout = tax_unit("ri_dependent_exemption_phaseout", period)
75
74
 
76
75
  return max_(maximum - phaseout, 0)
77
76
 
77
+ class ri_older_dependents_count(Variable):
78
+ value_type = float
79
+ entity = TaxUnit
80
+ label = "Rhode Island older dependents count"
81
+ unit = USD
82
+ definition_period = YEAR
83
+ defined_for = StateCode.RI
84
+
85
+ def formula(tax_unit, period, parameters):
86
+ person = tax_unit.members
87
+ is_dependent = person("is_tax_unit_dependent", period)
88
+ total_dependents = tax_unit.sum(is_dependent)
89
+ eligible_dependent_exemptions = tax_unit(
90
+ "ri_eligible_dependents_count", period
91
+ )
92
+ return max_(0, total_dependents - eligible_dependent_exemptions)
93
+
78
94
  class ri_exemptions(Variable):
79
95
  value_type = float
80
96
  entity = TaxUnit
@@ -88,10 +104,14 @@ def create_ri_exemption_reform() -> Reform:
88
104
 
89
105
  # Calculate personal exemptions base amount
90
106
  filing_status = tax_unit("filing_status", period)
91
- personal_exemptions = where(
92
- filing_status == filing_status.possible_values.JOINT,
93
- 2,
94
- 1,
107
+ older_dependents = tax_unit("ri_older_dependents_count", period)
108
+ personal_exemptions = (
109
+ where(
110
+ filing_status == filing_status.possible_values.JOINT,
111
+ 2,
112
+ 1,
113
+ )
114
+ + older_dependents
95
115
  )
96
116
  personal_exemption_base = personal_exemptions * p_base.amount
97
117
 
@@ -118,6 +138,7 @@ def create_ri_exemption_reform() -> Reform:
118
138
  self.update_variable(ri_dependent_exemption_phaseout)
119
139
  self.update_variable(ri_dependent_exemption)
120
140
  self.update_variable(ri_exemptions)
141
+ self.update_variable(ri_older_dependents_count)
121
142
 
122
143
  return reform
123
144
 
@@ -3,7 +3,7 @@
3
3
  input:
4
4
  state_code: OH
5
5
  oh_modified_agi: 19_999
6
- cdcc: 2_000
6
+ cdcc_potential: 2_000
7
7
  output:
8
8
  oh_cdcc: 2_000
9
9
 
@@ -12,7 +12,7 @@
12
12
  input:
13
13
  state_code: OH
14
14
  oh_modified_agi: 20_000
15
- cdcc: 2_000
15
+ cdcc_potential: 2_000
16
16
  output:
17
17
  oh_cdcc: 500
18
18
 
@@ -21,7 +21,7 @@
21
21
  input:
22
22
  state_code: OH
23
23
  oh_modified_agi: 39_999
24
- cdcc: 2_000
24
+ cdcc_potential: 2_000
25
25
  output:
26
26
  oh_cdcc: 500
27
27
 
@@ -30,6 +30,6 @@
30
30
  input:
31
31
  state_code: OH
32
32
  oh_modified_agi: 40_000
33
- cdcc: 2_000
33
+ cdcc_potential: 2_000
34
34
  output:
35
35
  oh_cdcc: 0
@@ -122,3 +122,62 @@
122
122
  state_fips: 39 # OH
123
123
  output: # expected results from patched TAXSIM35 2024-03-09 version
124
124
  oh_income_tax: 2_818.55
125
+
126
+ - name: 0-OH.yaml
127
+ absolute_error_margin: 2
128
+ period: 2024
129
+ input:
130
+ people:
131
+ person1:
132
+ age: 70
133
+ employment_income: 10000.0
134
+ ssi: 0
135
+ wic: 0
136
+ head_start: 0
137
+ early_head_start: 0
138
+ commodity_supplemental_food_program: 0
139
+ deductible_mortgage_interest: 13333.333
140
+ qualified_dividend_income: 9822.7325
141
+ is_tax_unit_head: true
142
+ person2:
143
+ age: 70
144
+ employment_income: 10000.0
145
+ ssi: 0
146
+ wic: 0
147
+ head_start: 0
148
+ early_head_start: 0
149
+ commodity_supplemental_food_program: 0
150
+ qualified_dividend_income: 9822.7325
151
+ is_tax_unit_spouse: true
152
+ person3:
153
+ age: 5
154
+ employment_income: 0
155
+ ssi: 0
156
+ wic: 0
157
+ head_start: 0
158
+ early_head_start: 0
159
+ commodity_supplemental_food_program: 0
160
+ is_tax_unit_dependent: true
161
+ is_tax_unit_head: false
162
+ is_tax_unit_spouse: false
163
+ tax_units:
164
+ tax_unit:
165
+ members: [person1, person2, person3]
166
+ premium_tax_credit: 0
167
+ local_income_tax: 0
168
+ state_sales_tax: 0
169
+ tax_unit_childcare_expenses: 6000.0
170
+ spm_units:
171
+ spm_unit:
172
+ members: [person1, person2, person3]
173
+ snap: 0
174
+ tanf: 0
175
+ free_school_meals: 0
176
+ reduced_price_school_meals: 0
177
+ households:
178
+ household:
179
+ members: [person1, person2, person3]
180
+ state_fips: 39
181
+ output:
182
+ oh_cdcc: 165
183
+ oh_income_tax: 273
@@ -28,4 +28,4 @@
28
28
  pr_net_taxable_income: 100_000
29
29
  state_code: PR
30
30
  output:
31
- pr_normal_tax: 21_135
31
+ pr_normal_tax: 21_135
@@ -25,7 +25,7 @@
25
25
  members: [parent, child1, child2]
26
26
  state_name: RI
27
27
  output:
28
- ri_exemptions: 10_150 # 1 personal (5_050) + 1 dependent (5_100)
28
+ ri_exemptions: 15_200 # 1 personal (5_050) + 1 dependent (5_100) + 1 older dependent (5_050)
29
29
 
30
30
  - name: RI exemption reform - restrict to children under 13
31
31
  period: 2025
@@ -54,7 +54,7 @@
54
54
  members: [parent, child1, child2]
55
55
  state_name: RI
56
56
  output:
57
- ri_exemptions: 10_150 # 1 personal (5_050) + 1 dependent (5_100)
57
+ ri_exemptions: 15_200 # 1 personal (5_050) + 1 dependent (5_100) + 1 older dependent (5_050)
58
58
 
59
59
  - name: RI exemption reform - AGI phaseout
60
60
  period: 2025
@@ -16,8 +16,8 @@ class oh_cdcc(Variable):
16
16
  p = parameters(period).gov.states.oh.tax.income.credits.cdcc
17
17
 
18
18
  agi = tax_unit("oh_modified_agi", period)
19
- # Ohio matches the federal credit taken
20
- us_cdcc = tax_unit("cdcc", period)
19
+ # Ohio matches the potential federal credit
20
+ us_cdcc = tax_unit("cdcc_potential", period)
21
21
 
22
22
  rate = p.match.calc(agi)
23
23
  # qualify for full CDCC amount when AGI < 20_000
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.432.0
3
+ Version: 1.432.2
4
4
  Summary: Add your description here.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License-File: LICENSE
@@ -3400,7 +3400,7 @@ policyengine_us/reforms/states/ri/__init__.py,sha256=BG3Wr6c3tcsIiMfCvqZMsiZp9qa
3400
3400
  policyengine_us/reforms/states/ri/ctc/__init__.py,sha256=L95JQFkq-Srt-n7CSXWytzly6nkhtbrTzomeodskTio,48
3401
3401
  policyengine_us/reforms/states/ri/ctc/ri_ctc_reform.py,sha256=Jm35tP17Bl6hg1Ub5fI9-mzzhx4Hi6XPlRs-Y3do0uI,6023
3402
3402
  policyengine_us/reforms/states/ri/exemption/__init__.py,sha256=hEkhBVlshUVIG8KPHpnoTp1Gg69syHmIote4WlCjOOE,63
3403
- policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py,sha256=Ebk7kihz9HtBdcoBSp6k4gIFsxt8wHU1C2mBt9DSUhU,5153
3403
+ policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py,sha256=c90gXlYL2RUM9xwR-iJBJ1WoNpyYONgLc8m905NaMH0,5952
3404
3404
  policyengine_us/reforms/tax_exempt/__init__.py,sha256=v3EbtUk6a2jsi9MrOlyb8ckzPyX7EgG7qkI7QXoSGto,65
3405
3405
  policyengine_us/reforms/tax_exempt/tax_exempt_reform.py,sha256=bkW91XMJ-jd23nhq4-PfWJv0YW2whVn98cQikbq6-Z8,2427
3406
3406
  policyengine_us/reforms/treasury/__init__.py,sha256=406jIbu32B57tUKhVLflWxlXf3S4SWjclVqlEtMeMwg,92
@@ -5002,13 +5002,13 @@ policyengine_us/tests/policy/baseline/gov/states/ny/tax/income/taxable_income/de
5002
5002
  policyengine_us/tests/policy/baseline/gov/states/ny/tax/income/taxable_income/deductions/itemized/ny_itemized_deductions_reduction_based_on_charitable_deduction.yaml,sha256=1uzaus-lN19vtzMfTWANUuajpsp32F498fNIomh8c1A,1115
5003
5003
  policyengine_us/tests/policy/baseline/gov/states/ny/tax/income/taxable_income/deductions/itemized/ny_itemized_deductions_reduction_based_on_charitable_deduction_applies.yaml,sha256=bVrcl4Ol2QiDmbCShC_CAcWEhxGPef_pB5-dpZAmIkI,440
5004
5004
  policyengine_us/tests/policy/baseline/gov/states/ny/tax/income/taxable_income/deductions/itemized/ny_itemizes.yaml,sha256=YmmMVqSYoSIAe8cyA2FZ34M3ysZ8GTyKn_delt9YuRs,749
5005
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml,sha256=l9C2izlnx98tcrzI7WZSBX1ZrYNia5zMK0iNdX0FbTk,3756
5005
+ policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml,sha256=YmY4_8L6eOLZYuEwTpGAVnQkYVRjCzvBxdb3grKFv7c,5245
5006
5006
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/oh_income_tax_before_non_refundable_credits.yaml,sha256=U-UhhYcKc2B93NIvgLUJAUj7fgtc56WU1dl3dSFi5FM,622
5007
5007
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/oh_income_tax_before_refundable_credits.yaml,sha256=Ypv2xQF3bdw4qekYQPh1CarA2XgdIT7VssfKtAwPen8,499
5008
5008
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/oh_taxable_income.yaml,sha256=qwA5S8vkIJ7DE3GpAdqpa8si40ch4Ykvr3BG2qQ1kiU,362
5009
5009
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/oh_withheld_income_tax.yaml,sha256=j5vyHphfUCP1ek1wqhTLjimKUPgOuQ0DPOCN6P-YYXU,717
5010
5010
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_adoption_credit_person.yaml,sha256=-9cXlAAFMxEPAZvJeadmlHR3M95Au8Bzg1eGJtGJBWk,8029
5011
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml,sha256=2gc-fjguRHoJybVY2629-Zubo239gAu0SBxKssjeT0Q,805
5011
+ policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml,sha256=S5xTfUR0qlSZMRLDrkFw8XC0meePGsr23idirYrrTek,845
5012
5012
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_eitc.yaml,sha256=k28r4TnrtjbonrHVvpCYVueo7qmnLCedQk_NLaKUKBs,351
5013
5013
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_exemption_credits.yaml,sha256=1Qy9uKJJcnZOEpFjI0HnU_kVWbkGJLjfj3jTeh9oV0E,523
5014
5014
  policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_non_public_school_credits.yaml,sha256=pldAs0s9-mHtBrL6bv5kuyhUWZz8bmAM5-w6ZfYqHqo,2061
@@ -5340,7 +5340,7 @@ policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/subtractions/seni
5340
5340
  policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/subtractions/social_security/wv_social_security_benefits_subtraction_eligible.yaml,sha256=14LNSRJcEUKcNrs0TeQbBbDIyo_oEjl796L89IRRrtY,2401
5341
5341
  policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/subtractions/social_security/wv_social_security_benefits_subtraction_person.yaml,sha256=FYlFFRNZkMEs3-BBc9aoLKqjQE1vYQYMrAw9w3OyvYA,7445
5342
5342
  policyengine_us/tests/policy/baseline/gov/tax/income/integration.yaml,sha256=1kwIJmcmqG6X5kZjCga-hfsclylJB0fWVXSdh08OZHM,706
5343
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml,sha256=fkJdbmE0JISDmF0tskZ5eLaklrByWNz8UHD5SxlZBZg,535
5343
+ policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml,sha256=79H2cj93JYnaUZGdG9zNatvf1s3SHzgkxJU6Ujzhm7Q,536
5344
5344
  policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/credits/earned_income/integration.yaml,sha256=-9Q9J78TOZuPG8LLK5PqHM4dgi9PmT3KB08jgPNTHFU,1570
5345
5345
  policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/credits/earned_income/pr_earned_income_credit.yaml,sha256=ya84wBvd6bTepawJlWt_1xrzHoshmorBhMThd7V3fqo,4076
5346
5346
  policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/credits/earned_income/pr_earned_income_credit_eligible_person.yaml,sha256=05_kLBxBq9we-w72eJj9fq_1fEeFnqv7P_mG0dl3e84,1196
@@ -5570,7 +5570,7 @@ policyengine_us/tests/policy/contrib/states/mt/ctc/mt_ctc.yaml,sha256=WYTHmavj-l
5570
5570
  policyengine_us/tests/policy/contrib/states/ny/ny_working_families_tax_credit.yaml,sha256=XPIBSvoA_fbz56jj5oyphaglco44oMwSvLPB5yJNhMM,8232
5571
5571
  policyengine_us/tests/policy/contrib/states/or/rebate/or_rebate_state_tax_exempt.yaml,sha256=P7cuxKGo0GrJrOHoHHrZFfW53cH_IJbwj4mzt3OYq58,1220
5572
5572
  policyengine_us/tests/policy/contrib/states/ri/ctc_reform_test.yaml,sha256=hptunGKb3A4Aey4IYMJn1MVrCXn6i3gORV-oyI9OxTQ,6022
5573
- policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml,sha256=FbL_WhGkZ9q8qODbSPxwzZMOXY4wXHkW9P7_7lPvO_k,3986
5573
+ policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml,sha256=_BgiVNMgoQMCdCvbjW_U3YhNYkI4WgVkIifZWbvpDuI,4042
5574
5574
  policyengine_us/tests/policy/contrib/tax_exempt/tax_exempt_reform.yaml,sha256=T-NrLa5NoAj3Hu4E4sb-Sbi71aDvbloGG3MLtZOsmgA,2412
5575
5575
  policyengine_us/tests/policy/contrib/taxsim/taxsim_v10.yaml,sha256=0an6UXc229i52BUulZsvpTEphDUi8S6OhG3OT9SjiD4,68577
5576
5576
  policyengine_us/tests/policy/contrib/taxsim/taxsim_v11.yaml,sha256=5JSMXOJ-Dt44jx5yYcJUnBNlY6BfTc5-x_uT9ZigDWs,72309
@@ -7823,7 +7823,7 @@ policyengine_us/variables/gov/states/oh/tax/income/adjusted_gross_income/oh_agi.
7823
7823
  policyengine_us/variables/gov/states/oh/tax/income/adjusted_gross_income/oh_agi_person.py,sha256=LoUnZBXkTujGUfetDxbpxOXFlbQsV2AXuDkTOIlsUfI,529
7824
7824
  policyengine_us/variables/gov/states/oh/tax/income/credits/oh_adoption_credit.py,sha256=FXnBvIxYL9zT-QWXlF7A0yhGHuJu9fnnn-CAEnpcM1s,1277
7825
7825
  policyengine_us/variables/gov/states/oh/tax/income/credits/oh_adoption_credit_person.py,sha256=M-NIT-8jbJ6mASNeaWaOePDV1cyjW1tJDOXYgr2vQIM,1906
7826
- policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py,sha256=1toxvE0VJ_Ef7nBX4a0AefMlS10dRf_s3v7QJspyc4s,859
7826
+ policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py,sha256=teTAL6mQYW_gJwdVfJ1ShunL7KPIRIejJoFlh-mwD4w,873
7827
7827
  policyengine_us/variables/gov/states/oh/tax/income/credits/oh_eitc.py,sha256=O1peErUAnf95DquJw46o3bld3GE6Iu2LjFc8tm8JGPM,650
7828
7828
  policyengine_us/variables/gov/states/oh/tax/income/credits/oh_exemption_credit.py,sha256=xJDlL2gxeKV4Iz24J2BESUMVqg2NOv1_BuFYZjHHtoA,844
7829
7829
  policyengine_us/variables/gov/states/oh/tax/income/credits/oh_has_taken_oh_lump_sum_credits.py,sha256=dA6112zBx2tbPb-VrzRmoe24PmtEm76vLbYcO8kgdAc,473
@@ -8862,8 +8862,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
8862
8862
  policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
8863
8863
  policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
8864
8864
  policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
8865
- policyengine_us-1.432.0.dist-info/METADATA,sha256=D_R708Q96MUhlrgP8pWYgjV6wwp7Z2p1W2SR8QgMItI,1649
8866
- policyengine_us-1.432.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8867
- policyengine_us-1.432.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8868
- policyengine_us-1.432.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8869
- policyengine_us-1.432.0.dist-info/RECORD,,
8865
+ policyengine_us-1.432.2.dist-info/METADATA,sha256=AjUd7Vssk4VOvZRaeu9jnMp9b5Js7-5MTUaDcmiweFE,1649
8866
+ policyengine_us-1.432.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8867
+ policyengine_us-1.432.2.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8868
+ policyengine_us-1.432.2.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8869
+ policyengine_us-1.432.2.dist-info/RECORD,,