policyengine-us 1.399.0__py3-none-any.whl → 1.399.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-us might be problematic. Click here for more details.

@@ -32,3 +32,181 @@
32
32
  output:
33
33
  nj_pension_retirement_exclusion: 6_000
34
34
  nj_other_retirement_income_exclusion: 3_500
35
+
36
+ - name: taxsim_record_33958_2024.yaml Two eligible people with total income over the exclusion cap
37
+ absolute_error_margin: 2
38
+ period: 2024
39
+ input:
40
+ people:
41
+ person1:
42
+ age: 68
43
+ employment_income: 0.0
44
+ ssi: 0
45
+ wic: 0
46
+ head_start: 0
47
+ early_head_start: 0
48
+ commodity_supplemental_food_program: 0
49
+ qualified_dividend_income: 2969.66335
50
+ long_term_capital_gains: 15745.3645
51
+ short_term_capital_gains: 2146.55175
52
+ taxable_interest_income: 35717.8125
53
+ is_tax_unit_head: true
54
+ person2:
55
+ age: 67
56
+ employment_income: 0.0
57
+ ssi: 0
58
+ wic: 0
59
+ head_start: 0
60
+ early_head_start: 0
61
+ commodity_supplemental_food_program: 0
62
+ qualified_dividend_income: 2969.66335
63
+ long_term_capital_gains: 15745.3645
64
+ short_term_capital_gains: 2146.55175
65
+ taxable_interest_income: 35717.8125
66
+ is_tax_unit_spouse: true
67
+ tax_units:
68
+ tax_unit:
69
+ members: [person1, person2]
70
+ premium_tax_credit: 0
71
+ local_income_tax: 0
72
+ state_sales_tax: 0
73
+ spm_units:
74
+ spm_unit:
75
+ members: [person1, person2]
76
+ snap: 0
77
+ tanf: 0
78
+ free_school_meals: 0
79
+ reduced_price_school_meals: 0
80
+ households:
81
+ household:
82
+ members: [person1, person2]
83
+ state_code: NJ
84
+ output:
85
+ nj_other_retirement_income_exclusion: 56_579
86
+ nj_income_tax: 868
87
+
88
+ - name: One eligible person without eligible income
89
+ absolute_error_margin: 2
90
+ period: 2024
91
+ input:
92
+ people:
93
+ person1:
94
+ age: 68
95
+ employment_income: 0.0
96
+ qualified_dividend_income: 0
97
+ is_tax_unit_head: true
98
+ person2:
99
+ age: 47
100
+ employment_income: 0.0
101
+ commodity_supplemental_food_program: 0
102
+ qualified_dividend_income: 2969.66335
103
+ long_term_capital_gains: 15745.3645
104
+ short_term_capital_gains: 2146.55175
105
+ taxable_interest_income: 35717.8125
106
+ is_tax_unit_spouse: true
107
+ tax_units:
108
+ tax_unit:
109
+ members: [person1, person2]
110
+ premium_tax_credit: 0
111
+ local_income_tax: 0
112
+ state_sales_tax: 0
113
+ spm_units:
114
+ spm_unit:
115
+ members: [person1, person2]
116
+ snap: 0
117
+ tanf: 0
118
+ free_school_meals: 0
119
+ reduced_price_school_meals: 0
120
+ households:
121
+ household:
122
+ members: [person1, person2]
123
+ state_code: NJ
124
+ output:
125
+ nj_other_retirement_income_exclusion: 0
126
+
127
+ - name: One eligible person with eligible income
128
+ absolute_error_margin: 2
129
+ period: 2024
130
+ input:
131
+ people:
132
+ person1:
133
+ age: 30
134
+ employment_income: 0.0
135
+ qualified_dividend_income: 0
136
+ is_tax_unit_head: true
137
+ person2:
138
+ age: 72
139
+ employment_income: 0.0
140
+ qualified_dividend_income: 2969.66335
141
+ long_term_capital_gains: 15745.3645
142
+ short_term_capital_gains: 2146.55175
143
+ taxable_interest_income: 35717.8125
144
+ is_tax_unit_spouse: true
145
+ tax_units:
146
+ tax_unit:
147
+ members: [person1, person2]
148
+ spm_units:
149
+ spm_unit:
150
+ members: [person1, person2]
151
+ households:
152
+ household:
153
+ members: [person1, person2]
154
+ state_code: NJ
155
+ output:
156
+ nj_other_retirement_income_exclusion: 56_579
157
+
158
+ - name: One eligible person with eligible income above the exclusion cap
159
+ absolute_error_margin: 2
160
+ period: 2024
161
+ input:
162
+ people:
163
+ person1:
164
+ age: 30
165
+ employment_income: 0.0
166
+ qualified_dividend_income: 0
167
+ is_tax_unit_head: true
168
+ person2:
169
+ age: 72
170
+ employment_income: 0.0
171
+ taxable_interest_income: 110_000
172
+ is_tax_unit_spouse: true
173
+ tax_units:
174
+ tax_unit:
175
+ members: [person1, person2]
176
+ spm_units:
177
+ spm_unit:
178
+ members: [person1, person2]
179
+ households:
180
+ household:
181
+ members: [person1, person2]
182
+ state_code: NJ
183
+ output:
184
+ nj_other_retirement_income_exclusion: 55_000
185
+
186
+ - name: One eligible person with eligible income above the full exclusion cap
187
+ absolute_error_margin: 2
188
+ period: 2024
189
+ input:
190
+ people:
191
+ person1:
192
+ age: 30
193
+ employment_income: 0.0
194
+ qualified_dividend_income: 0
195
+ is_tax_unit_head: true
196
+ person2:
197
+ age: 72
198
+ employment_income: 0.0
199
+ taxable_interest_income: 160_000
200
+ is_tax_unit_spouse: true
201
+ tax_units:
202
+ tax_unit:
203
+ members: [person1, person2]
204
+ spm_units:
205
+ spm_unit:
206
+ members: [person1, person2]
207
+ households:
208
+ household:
209
+ members: [person1, person2]
210
+ state_code: NJ
211
+ output:
212
+ nj_other_retirement_income_exclusion: 0
@@ -20,14 +20,13 @@ class nj_other_retirement_income_exclusion(Variable):
20
20
 
21
21
  # determine age eligibility for head and spouse
22
22
  person = tax_unit.members
23
- is_head = person("is_tax_unit_head", period)
24
- is_spouse = person("is_tax_unit_spouse", period)
23
+ head_or_spouse = person("is_tax_unit_head_or_spouse", period)
25
24
  age_eligible = person("age", period) >= p.age_threshold
26
- age_eligible_unit = tax_unit.sum(age_eligible & (is_head | is_spouse))
25
+ eligible_person = age_eligible & head_or_spouse
27
26
 
28
27
  # calculate age-eligible pension income
29
28
  pension = person("nj_eligible_pension_income", period)
30
- pension_income = tax_unit.sum(age_eligible * pension)
29
+ pension_income = tax_unit.sum(eligible_person * pension)
31
30
 
32
31
  fraction = tax_unit("nj_retirement_exclusion_fraction", period)
33
32
  filing_status = tax_unit("filing_status", period)
@@ -47,5 +46,6 @@ class nj_other_retirement_income_exclusion(Variable):
47
46
  limit = p.other_retirement_income.earned_income_threshold
48
47
  earnings_eligible = earnings <= limit
49
48
 
49
+ age_eligible_unit = tax_unit.any(eligible_person)
50
50
  # return unused exclusion if age and earnings eligible
51
51
  return age_eligible_unit * earnings_eligible * unused_exclusion
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.399.0
3
+ Version: 1.399.1
4
4
  Summary: Add your description here.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License-File: LICENSE
@@ -4662,7 +4662,7 @@ policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/deductions/proper
4662
4662
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/deductions/property_tax/nj_property_tax_deduction.yaml,sha256=TR56yFSmYQs5XPVb8aE7ANxxL46GiWspi1nifQP_Oq0,591
4663
4663
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/deductions/property_tax/nj_property_tax_deduction_eligible.yaml,sha256=yH0PhQvWhxKjiawUDEyjFDxyZZqzU-ZTHUK8jsD7ugw,1253
4664
4664
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/deductions/property_tax/nj_taking_property_tax_deduction.yaml,sha256=0LcaRtKByc_0bNG1DjFDR36sSQfpb9qcBpYxVyTf3UY,1257
4665
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exclusions/nj_other_retirement_income_exclusion.yaml,sha256=mVm3awNgdaw3XStaNx0toqdPIAe_DwA-vOAyB7BH17s,1090
4665
+ policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exclusions/nj_other_retirement_income_exclusion.yaml,sha256=84rnOIRn20fgHqE0dear8Ec73oFbatkSkesNAngQHhA,5756
4666
4666
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exclusions/nj_other_retirement_special_exclusion.yaml,sha256=Xt8brjSzALkTzHRFJxVc6QQp9WLPnOHk-CioUdN06LA,1934
4667
4667
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exclusions/nj_pension_retirement_exclusion.yaml,sha256=kCiyXfpMpkh0hbEHezBDDJupQzDisRzTcZYMi4uUw5k,10803
4668
4668
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exemptions/nj_blind_or_disabled_exemption.yaml,sha256=LxBmjgpJ1IcDmRlzJZHuAddsIcYi_8KJy4dZFU9JErI,5211
@@ -7309,7 +7309,7 @@ policyengine_us/variables/gov/states/nj/tax/income/credits/property_tax_credit/n
7309
7309
  policyengine_us/variables/gov/states/nj/tax/income/deductions/nj_medical_expense_deduction.py,sha256=JyZYuhvlHXZk5pL38J6MWbMuUp35b5FkZbeeDTxRfvg,909
7310
7310
  policyengine_us/variables/gov/states/nj/tax/income/deductions/nj_total_deductions.py,sha256=pG0bP16_OBiRpce9eN33Mvxb8C_F3UhULtdCtma0qPc,295
7311
7311
  policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_eligible_pension_income.py,sha256=_0PlLLieWNnG-L9IP_JUd-1CbiF68geFOw2EKFDMGzE,1180
7312
- policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_other_retirement_income_exclusion.py,sha256=r0V6OKd0VALLq7PObJcxwAbhM2ip9UU_ch7akw1mJgw,2156
7312
+ policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_other_retirement_income_exclusion.py,sha256=k9KR_e29Jr3pKihBIr6PbKZ0dDvQFfnexkLZnCCelrA,2154
7313
7313
  policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_other_retirement_special_exclusion.py,sha256=wNLOSstyPvOudFJhTAsqXA3XWGwVAaqBB18pTaSZQxU,1613
7314
7314
  policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_pension_retirement_exclusion.py,sha256=_Amb2yZc-15iMh3O9oC52p3Lze0fJTK-8JqqqFJc8Ww,963
7315
7315
  policyengine_us/variables/gov/states/nj/tax/income/exclusions/nj_retirement_exclusion_fraction.py,sha256=-H-mRwHR_BORGhxPzagYSa70gVq2lh1V2ChlyK7duVw,1521
@@ -8420,8 +8420,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
8420
8420
  policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
8421
8421
  policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
8422
8422
  policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
8423
- policyengine_us-1.399.0.dist-info/METADATA,sha256=C56JoQAWHvt2n0sLwSOq0xoUydi32Niom9zSbixQHQg,1649
8424
- policyengine_us-1.399.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8425
- policyengine_us-1.399.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8426
- policyengine_us-1.399.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8427
- policyengine_us-1.399.0.dist-info/RECORD,,
8423
+ policyengine_us-1.399.1.dist-info/METADATA,sha256=x_RY35mIRPapHYT8diheQYKQpkCyIC33AEH_eGFuAJs,1649
8424
+ policyengine_us-1.399.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8425
+ policyengine_us-1.399.1.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8426
+ policyengine_us-1.399.1.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8427
+ policyengine_us-1.399.1.dist-info/RECORD,,