policyengine-us 1.432.0__py3-none-any.whl → 1.432.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.
@@ -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
 
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.432.0
3
+ Version: 1.432.1
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
@@ -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
@@ -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.1.dist-info/METADATA,sha256=KLvL6kxOAQA3Yv5LuMostcHCSROKyCgy7J0zCL0HezA,1649
8866
+ policyengine_us-1.432.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8867
+ policyengine_us-1.432.1.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8868
+ policyengine_us-1.432.1.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8869
+ policyengine_us-1.432.1.dist-info/RECORD,,