policyengine-us 1.404.1__py3-none-any.whl → 1.406.0__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.
- policyengine_us/parameters/gov/states/household/state_agis.yaml +3 -3
- policyengine_us/parameters/gov/usda/school_meals/amount/nslp.yaml +25 -0
- policyengine_us/parameters/gov/usda/school_meals/amount/sbp.yaml +22 -0
- policyengine_us/tests/policy/baseline/gov/states/tax/income/state_agi.yaml +191 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_benefit.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/usda/school_meals/integration.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_daily_subsidy.yaml +8 -0
- policyengine_us/variables/gov/states/tax/income/state_agi.py +47 -0
- {policyengine_us-1.404.1.dist-info → policyengine_us-1.406.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.404.1.dist-info → policyengine_us-1.406.0.dist-info}/RECORD +14 -13
- {policyengine_us-1.404.1.dist-info → policyengine_us-1.406.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.404.1.dist-info → policyengine_us-1.406.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.404.1.dist-info → policyengine_us-1.406.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,13 +2,13 @@ description: All state adjusted gross income variables.
|
|
|
2
2
|
values:
|
|
3
3
|
0000-01-01:
|
|
4
4
|
- al_agi # Alabama
|
|
5
|
-
|
|
5
|
+
# Arkansas allows for a married filing separately structure which requires two separate itemized deductions.
|
|
6
6
|
- az_agi # Arizona
|
|
7
7
|
- ca_agi # California
|
|
8
8
|
# Colorado adopts federal AGI
|
|
9
9
|
- ct_agi # Connecticut
|
|
10
10
|
- dc_agi # DC
|
|
11
|
-
|
|
11
|
+
# Delaware allows for a married filing separately structure which requires two separate itemized deductions.
|
|
12
12
|
- ga_agi # Georgia
|
|
13
13
|
- hi_agi # Hawaii
|
|
14
14
|
- ia_net_income # Iowa
|
|
@@ -30,7 +30,7 @@ values:
|
|
|
30
30
|
# North Dakota adopts federal AGI
|
|
31
31
|
- ne_agi # Nebraska
|
|
32
32
|
- nj_agi # New Jersey
|
|
33
|
-
|
|
33
|
+
# New Mexico adopts federal AGI
|
|
34
34
|
- ny_agi # New York
|
|
35
35
|
- oh_agi # Ohio
|
|
36
36
|
- ok_agi # Oklahoma
|
|
@@ -7,48 +7,66 @@ CONTIGUOUS_US:
|
|
|
7
7
|
2021-07-01: 0.35
|
|
8
8
|
2022-07-01: 0.37
|
|
9
9
|
2023-07-01: 0.40
|
|
10
|
+
2024-07-01: 0.42
|
|
11
|
+
2025-01-01: 0.46
|
|
10
12
|
REDUCED:
|
|
11
13
|
2020-07-01: 3.11
|
|
12
14
|
2021-07-01: 3.26
|
|
13
15
|
2022-07-01: 3.53
|
|
14
16
|
2023-07-01: 3.85
|
|
17
|
+
2024-07-01: 4.03
|
|
18
|
+
2025-01-01: 4.20
|
|
15
19
|
FREE:
|
|
16
20
|
2020-07-01: 3.51
|
|
17
21
|
2021-07-01: 3.66
|
|
18
22
|
2022-07-01: 3.93
|
|
19
23
|
2023-07-01: 4.25
|
|
24
|
+
2024-07-01: 4.43
|
|
25
|
+
2025-01-01: 4.60
|
|
20
26
|
AK:
|
|
21
27
|
PAID:
|
|
22
28
|
2020-07-01: 0.54
|
|
23
29
|
2021-07-01: 0.57
|
|
24
30
|
2022-07-01: 0.61
|
|
25
31
|
2023-07-01: 0.66
|
|
32
|
+
2024-07-01: 0.69
|
|
33
|
+
2025-01-01: 0.71
|
|
26
34
|
REDUCED:
|
|
27
35
|
2020-07-01: 5.30
|
|
28
36
|
2021-07-01: 5.54
|
|
29
37
|
2022-07-01: 5.97
|
|
30
38
|
2023-07-01: 6.50
|
|
39
|
+
2024-07-01: 6.78
|
|
40
|
+
2025-01-01: 7.05
|
|
31
41
|
FREE:
|
|
32
42
|
2020-07-01: 5.70
|
|
33
43
|
2021-07-01: 5.94
|
|
34
44
|
2022-07-01: 6.37
|
|
35
45
|
2023-07-01: 6.90
|
|
46
|
+
2024-07-01: 7.18
|
|
47
|
+
2025-01-01: 7.45
|
|
36
48
|
HI:
|
|
37
49
|
PAID:
|
|
38
50
|
2020-07-01: 0.39
|
|
39
51
|
2021-07-01: 0.41
|
|
40
52
|
2022-07-01: 0.44
|
|
41
53
|
2023-07-01: 0.53
|
|
54
|
+
2024-07-01: 0.55
|
|
55
|
+
2025-01-01: 0.57
|
|
42
56
|
REDUCED:
|
|
43
57
|
2020-07-01: 3.71
|
|
44
58
|
2021-07-01: 3.88
|
|
45
59
|
2022-07-01: 4.20
|
|
46
60
|
2023-07-01: 5.14
|
|
61
|
+
2024-07-01: 5.36
|
|
62
|
+
2025-01-01: 5.58
|
|
47
63
|
FREE:
|
|
48
64
|
2020-07-01: 4.11
|
|
49
65
|
2021-07-01: 4.28
|
|
50
66
|
2022-07-01: 4.60
|
|
51
67
|
2023-07-01: 5.54
|
|
68
|
+
2024-07-01: 5.76
|
|
69
|
+
2025-01-01: 5.98
|
|
52
70
|
|
|
53
71
|
metadata:
|
|
54
72
|
unit: currency-USD
|
|
@@ -59,6 +77,13 @@ metadata:
|
|
|
59
77
|
href: https://www.federalregister.gov/documents/2021/07/16/2021-15107/national-school-lunch-special-milk-and-school-breakfast-programs-national-average-paymentsmaximum
|
|
60
78
|
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2022
|
|
61
79
|
href: https://www.federalregister.gov/documents/2022/07/26/2022-15892/national-school-lunch-special-milk-and-school-breakfast-programs-national-average-paymentsmaximum
|
|
80
|
+
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2023
|
|
81
|
+
href: https://www.federalregister.gov/documents/2023/07/07/2023-14313/national-school-lunch-special-milk-and-school-breakfast-programs-national-average-paymentsmaximum
|
|
82
|
+
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2024
|
|
83
|
+
href: https://www.regulations.gov/document/FNS-2024-0022-0001
|
|
84
|
+
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2025
|
|
85
|
+
href: https://www.govinfo.gov/content/pkg/FR-2025-07-24/pdf/2025-13879.pdf#page=3
|
|
86
|
+
|
|
62
87
|
period: day
|
|
63
88
|
label: National School Lunch Program value
|
|
64
89
|
breakdown:
|
|
@@ -7,48 +7,66 @@ CONTIGUOUS_US:
|
|
|
7
7
|
2021-07-01: 0.33
|
|
8
8
|
2022-07-01: 0.35
|
|
9
9
|
2023-07-01: 0.38
|
|
10
|
+
2024-07-01: 0.39
|
|
11
|
+
2025-01-01: 0.40
|
|
10
12
|
REDUCED:
|
|
11
13
|
2020-07-01: 1.59
|
|
12
14
|
2021-07-01: 1.67
|
|
13
15
|
2022-07-01: 1.81
|
|
14
16
|
2023-07-01: 1.98
|
|
17
|
+
2024-07-01: 2.07
|
|
18
|
+
2025-01-01: 2.16
|
|
15
19
|
FREE:
|
|
16
20
|
2020-07-01: 1.89
|
|
17
21
|
2021-07-01: 1.97
|
|
18
22
|
2022-07-01: 2.11
|
|
19
23
|
2023-07-01: 2.28
|
|
24
|
+
2024-07-01: 2.37
|
|
25
|
+
2025-01-01: 2.46
|
|
20
26
|
AK:
|
|
21
27
|
PAID:
|
|
22
28
|
2020-07-01: 0.49
|
|
23
29
|
2021-07-01: 0.50
|
|
24
30
|
2022-07-01: 0.54
|
|
25
31
|
2023-07-01: 0.58
|
|
32
|
+
2024-07-01: 0.60
|
|
33
|
+
2025-01-01: 0.62
|
|
26
34
|
REDUCED:
|
|
27
35
|
2020-07-01: 2.73
|
|
28
36
|
2021-07-01: 2.85
|
|
29
37
|
2022-07-01: 3.08
|
|
30
38
|
2023-07-01: 3.36
|
|
39
|
+
2024-07-01: 3.50
|
|
40
|
+
2025-01-01: 3.65
|
|
31
41
|
FREE:
|
|
32
42
|
2020-07-01: 3.03
|
|
33
43
|
2021-07-01: 3.15
|
|
34
44
|
2022-07-01: 3.38
|
|
35
45
|
2023-07-01: 3.66
|
|
46
|
+
2024-07-01: 3.80
|
|
47
|
+
2025-01-01: 3.95
|
|
36
48
|
HI:
|
|
37
49
|
PAID:
|
|
38
50
|
2020-07-01: 0.37
|
|
39
51
|
2021-07-01: 0.38
|
|
40
52
|
2022-07-01: 0.40
|
|
41
53
|
2023-07-01: 0.47
|
|
54
|
+
2024-07-01: 0.49
|
|
55
|
+
2025-01-01: 0.51
|
|
42
56
|
REDUCED:
|
|
43
57
|
2020-07-01: 1.91
|
|
44
58
|
2021-07-01: 1.99
|
|
45
59
|
2022-07-01: 2.16
|
|
46
60
|
2023-07-01: 2.65
|
|
61
|
+
2024-07-01: 2.76
|
|
62
|
+
2025-01-01: 2.88
|
|
47
63
|
FREE:
|
|
48
64
|
2020-07-01: 2.21
|
|
49
65
|
2021-07-01: 2.29
|
|
50
66
|
2022-07-01: 2.46
|
|
51
67
|
2023-07-01: 2.95
|
|
68
|
+
2024-07-01: 3.06
|
|
69
|
+
2025-01-01: 3.18
|
|
52
70
|
|
|
53
71
|
metadata:
|
|
54
72
|
unit: currency-USD
|
|
@@ -61,6 +79,10 @@ metadata:
|
|
|
61
79
|
href: https://www.federalregister.gov/documents/2022/07/26/2022-15892/national-school-lunch-special-milk-and-school-breakfast-programs-national-average-paymentsmaximum
|
|
62
80
|
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2023
|
|
63
81
|
href: https://www.federalregister.gov/documents/2023/07/07/2023-14313/national-school-lunch-special-milk-and-school-breakfast-programs-national-average-paymentsmaximum
|
|
82
|
+
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2024
|
|
83
|
+
href: https://www.regulations.gov/document/FNS-2024-0022-0001
|
|
84
|
+
- title: National School Lunch, Special Milk, and School Breakfast Programs, National Average Payments/Maximum Reimbursement Rates - 2025
|
|
85
|
+
href: https://www.govinfo.gov/content/pkg/FR-2025-07-24/pdf/2025-13879.pdf#page=4
|
|
64
86
|
period: day
|
|
65
87
|
label: School Breakfast Program value
|
|
66
88
|
breakdown:
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
- name: Colorado adopts federal AGI
|
|
2
|
+
period: 2023
|
|
3
|
+
input:
|
|
4
|
+
state_code: CO
|
|
5
|
+
filing_status: SINGLE
|
|
6
|
+
age_head: 30
|
|
7
|
+
employment_income: 50_000
|
|
8
|
+
output:
|
|
9
|
+
adjusted_gross_income: 50_000
|
|
10
|
+
state_agi: 50_000
|
|
11
|
+
|
|
12
|
+
- name: Michigan adopts federal AGI
|
|
13
|
+
period: 2023
|
|
14
|
+
input:
|
|
15
|
+
state_code: MI
|
|
16
|
+
filing_status: JOINT
|
|
17
|
+
age_head: 35
|
|
18
|
+
age_spouse: 33
|
|
19
|
+
employment_income: 80_000
|
|
20
|
+
output:
|
|
21
|
+
adjusted_gross_income: 80_000
|
|
22
|
+
state_agi: 80_000
|
|
23
|
+
|
|
24
|
+
- name: Minnesota adopts federal AGI
|
|
25
|
+
period: 2023
|
|
26
|
+
input:
|
|
27
|
+
state_code: MN
|
|
28
|
+
filing_status: SINGLE
|
|
29
|
+
age_head: 45
|
|
30
|
+
employment_income: 60_000
|
|
31
|
+
output:
|
|
32
|
+
adjusted_gross_income: 60_000
|
|
33
|
+
state_agi: 60_000
|
|
34
|
+
|
|
35
|
+
- name: North Carolina adopts federal AGI
|
|
36
|
+
period: 2023
|
|
37
|
+
input:
|
|
38
|
+
state_code: NC
|
|
39
|
+
filing_status: JOINT
|
|
40
|
+
age_head: 40
|
|
41
|
+
age_spouse: 38
|
|
42
|
+
employment_income: 120_000
|
|
43
|
+
output:
|
|
44
|
+
adjusted_gross_income: 120_000
|
|
45
|
+
state_agi: 120_000
|
|
46
|
+
|
|
47
|
+
- name: North Dakota adopts federal AGI
|
|
48
|
+
period: 2023
|
|
49
|
+
input:
|
|
50
|
+
state_code: ND
|
|
51
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
52
|
+
age_head: 35
|
|
53
|
+
employment_income: 45_000
|
|
54
|
+
output:
|
|
55
|
+
adjusted_gross_income: 45_000
|
|
56
|
+
state_agi: 45_000
|
|
57
|
+
|
|
58
|
+
- name: South Carolina adopts federal AGI
|
|
59
|
+
period: 2023
|
|
60
|
+
input:
|
|
61
|
+
state_code: SC
|
|
62
|
+
filing_status: SINGLE
|
|
63
|
+
age_head: 28
|
|
64
|
+
employment_income: 65_000
|
|
65
|
+
output:
|
|
66
|
+
adjusted_gross_income: 65_000
|
|
67
|
+
state_agi: 65_000
|
|
68
|
+
|
|
69
|
+
# States with their own AGI calculations
|
|
70
|
+
- name: California uses state-specific AGI
|
|
71
|
+
period: 2023
|
|
72
|
+
input:
|
|
73
|
+
state_code: CA
|
|
74
|
+
filing_status: JOINT
|
|
75
|
+
age_head: 40
|
|
76
|
+
age_spouse: 38
|
|
77
|
+
employment_income: 150_000
|
|
78
|
+
output:
|
|
79
|
+
adjusted_gross_income: 150_000
|
|
80
|
+
ca_agi: 150_000
|
|
81
|
+
state_agi: 150_000
|
|
82
|
+
|
|
83
|
+
- name: New York uses state-specific AGI
|
|
84
|
+
period: 2023
|
|
85
|
+
input:
|
|
86
|
+
state_code: NY
|
|
87
|
+
filing_status: SINGLE
|
|
88
|
+
age_head: 32
|
|
89
|
+
employment_income: 80_000
|
|
90
|
+
output:
|
|
91
|
+
adjusted_gross_income: 80_000
|
|
92
|
+
ny_agi: 80_000
|
|
93
|
+
state_agi: 80_000
|
|
94
|
+
|
|
95
|
+
- name: Georgia uses state-specific AGI
|
|
96
|
+
period: 2023
|
|
97
|
+
input:
|
|
98
|
+
state_code: GA
|
|
99
|
+
filing_status: JOINT
|
|
100
|
+
age_head: 45
|
|
101
|
+
age_spouse: 43
|
|
102
|
+
employment_income: 95_000
|
|
103
|
+
output:
|
|
104
|
+
adjusted_gross_income: 95_000
|
|
105
|
+
ga_agi: 95_000
|
|
106
|
+
state_agi: 95_000
|
|
107
|
+
|
|
108
|
+
- name: Massachusetts uses state-specific AGI
|
|
109
|
+
period: 2023
|
|
110
|
+
input:
|
|
111
|
+
state_code: MA
|
|
112
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
113
|
+
age_head: 38
|
|
114
|
+
employment_income: 70_000
|
|
115
|
+
output:
|
|
116
|
+
adjusted_gross_income: 70_000
|
|
117
|
+
ma_agi: 70_000
|
|
118
|
+
state_agi: 70_000
|
|
119
|
+
|
|
120
|
+
- name: Virginia uses state-specific AGI
|
|
121
|
+
period: 2023
|
|
122
|
+
input:
|
|
123
|
+
state_code: VA
|
|
124
|
+
filing_status: SINGLE
|
|
125
|
+
age_head: 29
|
|
126
|
+
employment_income: 55_000
|
|
127
|
+
output:
|
|
128
|
+
adjusted_gross_income: 55_000
|
|
129
|
+
va_agi: 55_000
|
|
130
|
+
state_agi: 55_000
|
|
131
|
+
|
|
132
|
+
- name: Illinois uses state-specific base income
|
|
133
|
+
period: 2023
|
|
134
|
+
input:
|
|
135
|
+
state_code: IL
|
|
136
|
+
filing_status: JOINT
|
|
137
|
+
age_head: 50
|
|
138
|
+
age_spouse: 48
|
|
139
|
+
employment_income: 130_000
|
|
140
|
+
output:
|
|
141
|
+
adjusted_gross_income: 130_000
|
|
142
|
+
il_base_income: 130_000
|
|
143
|
+
state_agi: 130_000
|
|
144
|
+
|
|
145
|
+
- name: Pennsylvania uses state-specific eligibility income
|
|
146
|
+
period: 2023
|
|
147
|
+
input:
|
|
148
|
+
state_code: PA
|
|
149
|
+
filing_status: SINGLE
|
|
150
|
+
age_head: 35
|
|
151
|
+
employment_income: 60_000
|
|
152
|
+
output:
|
|
153
|
+
adjusted_gross_income: 60_000
|
|
154
|
+
pa_eligibility_income: 60_000
|
|
155
|
+
state_agi: 60_000
|
|
156
|
+
|
|
157
|
+
# Edge case - Texas has no state income tax
|
|
158
|
+
- name: Texas has no state AGI (no state income tax)
|
|
159
|
+
period: 2023
|
|
160
|
+
input:
|
|
161
|
+
state_code: TX
|
|
162
|
+
filing_status: SINGLE
|
|
163
|
+
age_head: 30
|
|
164
|
+
employment_income: 75_000
|
|
165
|
+
output:
|
|
166
|
+
adjusted_gross_income: 75_000
|
|
167
|
+
state_agi: 0 # No state AGI variables for Texas
|
|
168
|
+
|
|
169
|
+
# Arkansas with individual/joint AGI logic
|
|
170
|
+
- name: Arkansas uses maximum of individual and joint AGI
|
|
171
|
+
period: 2023
|
|
172
|
+
input:
|
|
173
|
+
state_code: AR
|
|
174
|
+
ar_agi_joint: 90_000
|
|
175
|
+
ar_agi_indiv: 70_000
|
|
176
|
+
output:
|
|
177
|
+
# Arkansas will calculate both ar_agi_indiv and ar_agi_joint
|
|
178
|
+
# and use the maximum for state_agi
|
|
179
|
+
state_agi: 90_000 # Maximum of the two
|
|
180
|
+
|
|
181
|
+
# Delaware with individual/joint AGI logic
|
|
182
|
+
- name: Delaware uses maximum of individual and joint AGI
|
|
183
|
+
period: 2023
|
|
184
|
+
input:
|
|
185
|
+
state_code: DE
|
|
186
|
+
de_agi_joint: 60_000
|
|
187
|
+
de_agi_indiv: 80_000
|
|
188
|
+
output:
|
|
189
|
+
# Delaware will calculate both de_agi_indiv and de_agi_joint
|
|
190
|
+
# and use the maximum for state_agi
|
|
191
|
+
state_agi: 80_000 # Maximum of the two
|
|
@@ -20,3 +20,26 @@
|
|
|
20
20
|
school_meal_net_subsidy: 180 * ((3.66 + 1.97) - (0.35 + 0.33))
|
|
21
21
|
free_school_meals: 180 * (3.66 + 1.97 - 0.35 - 0.33)
|
|
22
22
|
reduced_price_school_meals: 0
|
|
23
|
+
|
|
24
|
+
# Test 2025 values
|
|
25
|
+
- name: 2025 values test - Contiguous US FREE tier
|
|
26
|
+
period: 2025
|
|
27
|
+
absolute_error_margin: 0.01
|
|
28
|
+
input:
|
|
29
|
+
people:
|
|
30
|
+
parent: {}
|
|
31
|
+
child:
|
|
32
|
+
age: 10
|
|
33
|
+
is_in_k12_school: true
|
|
34
|
+
spm_units:
|
|
35
|
+
spm_unit:
|
|
36
|
+
members: [parent, child]
|
|
37
|
+
school_meal_fpg_ratio: 1.2 # FREE tier
|
|
38
|
+
snap: 0
|
|
39
|
+
households:
|
|
40
|
+
household:
|
|
41
|
+
members: [parent, child]
|
|
42
|
+
state_code: FL
|
|
43
|
+
output:
|
|
44
|
+
school_meal_tier: FREE
|
|
45
|
+
school_meal_daily_subsidy: 7.06 # NSLP 4.60 + SBP 2.46 (2025 rates)
|
|
@@ -11,3 +11,11 @@
|
|
|
11
11
|
school_meal_tier: FREE
|
|
12
12
|
output:
|
|
13
13
|
school_meal_daily_subsidy: 3.66 + 1.97
|
|
14
|
+
|
|
15
|
+
# Test 2025 values (effective January 1, 2025)
|
|
16
|
+
- name: Contiguous US - 2025 FREE tier
|
|
17
|
+
period: 2025
|
|
18
|
+
input:
|
|
19
|
+
school_meal_tier: FREE
|
|
20
|
+
output:
|
|
21
|
+
school_meal_daily_subsidy: 7.06 # NSLP 4.60 + SBP 2.46
|
|
@@ -8,3 +8,50 @@ class state_agi(Variable):
|
|
|
8
8
|
unit = USD
|
|
9
9
|
definition_period = YEAR
|
|
10
10
|
adds = "gov.states.household.state_agis"
|
|
11
|
+
|
|
12
|
+
def formula(tax_unit, period, parameters):
|
|
13
|
+
# States that adopt the federal AGI
|
|
14
|
+
# Based on comments in state_agis.yaml
|
|
15
|
+
FEDERAL_AGI_STATES = [
|
|
16
|
+
"CO", # Colorado
|
|
17
|
+
"MI", # Michigan
|
|
18
|
+
"MN", # Minnesota
|
|
19
|
+
"NC", # North Carolina
|
|
20
|
+
"ND", # North Dakota
|
|
21
|
+
"NM", # New Mexico
|
|
22
|
+
"SC", # South Carolina
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
# Get the current state
|
|
26
|
+
state_code = tax_unit.household("state_code_str", period)
|
|
27
|
+
|
|
28
|
+
# Get the sum of state-specific AGIs
|
|
29
|
+
state_specific_base = add(
|
|
30
|
+
tax_unit,
|
|
31
|
+
period,
|
|
32
|
+
parameters(period).gov.states.household.state_agis,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Special handling for states that have separate individual and joint AGI calculations
|
|
36
|
+
# Arkansas and Delaware use different AGI calculations based on filing status
|
|
37
|
+
STATES_WITH_INDIVIDUAL_JOINT_AGI = ["AR", "DE"]
|
|
38
|
+
|
|
39
|
+
# Calculate maximum AGI for states with individual/joint distinction
|
|
40
|
+
# This ensures we use the higher of the two calculations
|
|
41
|
+
for state in STATES_WITH_INDIVIDUAL_JOINT_AGI:
|
|
42
|
+
is_state = state_code == state
|
|
43
|
+
indiv_var = f"{state.lower()}_agi_indiv"
|
|
44
|
+
joint_var = f"{state.lower()}_agi_joint"
|
|
45
|
+
indiv_agi = add(tax_unit, period, [indiv_var])
|
|
46
|
+
joint_agi = add(tax_unit, period, [joint_var])
|
|
47
|
+
max_agi = max_(indiv_agi, joint_agi)
|
|
48
|
+
state_specific_base = where(is_state, max_agi, state_specific_base)
|
|
49
|
+
|
|
50
|
+
# Check if the state adopts federal AGI
|
|
51
|
+
uses_federal = np.isin(state_code, FEDERAL_AGI_STATES)
|
|
52
|
+
|
|
53
|
+
# Get federal AGI
|
|
54
|
+
federal_agi = tax_unit("adjusted_gross_income", period)
|
|
55
|
+
|
|
56
|
+
# Return federal AGI for states that adopt it, otherwise state-specific
|
|
57
|
+
return where(uses_federal, federal_agi, state_specific_base)
|
|
@@ -1496,7 +1496,7 @@ policyengine_us/parameters/gov/states/hi/tax/income/rates/surviving_spouse.yaml,
|
|
|
1496
1496
|
policyengine_us/parameters/gov/states/hi/tax/income/subtractions/subtractions.yaml,sha256=cu3w_VALYlIUDOMotEm_ml9QmxHSHDKDzbTN4buwrzc,805
|
|
1497
1497
|
policyengine_us/parameters/gov/states/hi/tax/income/subtractions/military_pay/cap.yaml,sha256=uoW4QDI4tk0M7fC5g7BTnLLgdceFdBICYQjDbY0uKeA,1440
|
|
1498
1498
|
policyengine_us/parameters/gov/states/household/index.yaml,sha256=rHA75ZOkRKkoYkd4zjChiGfJF_G--G2ZfwG3LZLIf6I,85
|
|
1499
|
-
policyengine_us/parameters/gov/states/household/state_agis.yaml,sha256=
|
|
1499
|
+
policyengine_us/parameters/gov/states/household/state_agis.yaml,sha256=g8v3zmB_-csvkhPguTc9wkyBIWYCQ_c1U8GvQIEJ10w,1572
|
|
1500
1500
|
policyengine_us/parameters/gov/states/household/state_cdccs.yaml,sha256=fty017ekyhn18FQZsyD7xYY252N4f00hXO2m4X3yY3I,1441
|
|
1501
1501
|
policyengine_us/parameters/gov/states/household/state_ctcs.yaml,sha256=QpaOJi7kPJNlfGDVpQCX9KmNQ8uJM935g0HMHZFFdow,1321
|
|
1502
1502
|
policyengine_us/parameters/gov/states/household/state_eitcs.yaml,sha256=omnf0hIxS-F9qpDdyyH0L1mJ91R1qQF65-sjsfQZosw,1187
|
|
@@ -3050,8 +3050,8 @@ policyengine_us/parameters/gov/usda/csfp/fpg_limit.yaml,sha256=CtLqDLOOtBSjDsDO4
|
|
|
3050
3050
|
policyengine_us/parameters/gov/usda/csfp/min_age.yaml,sha256=7ooj6hCVj3xQdGCjKdLTdSkb97-TuI91VJmql1P3z6c,376
|
|
3051
3051
|
policyengine_us/parameters/gov/usda/school_meals/categorical_eligibility.yaml,sha256=SWdC8w6Py32eSnhPT0q23_i_RPTFw0pYryRDQxzmQyI,756
|
|
3052
3052
|
policyengine_us/parameters/gov/usda/school_meals/school_days.yaml,sha256=lb1wHgRMwr2rar9_AenI5rVEqP-dBsyJAVfykfpGdxY,346
|
|
3053
|
-
policyengine_us/parameters/gov/usda/school_meals/amount/nslp.yaml,sha256=
|
|
3054
|
-
policyengine_us/parameters/gov/usda/school_meals/amount/sbp.yaml,sha256=
|
|
3053
|
+
policyengine_us/parameters/gov/usda/school_meals/amount/nslp.yaml,sha256=fOgx9uYZezcNYmIB8RxPEgZTXwSlwmvQ5ElX8Lvpobo,3299
|
|
3054
|
+
policyengine_us/parameters/gov/usda/school_meals/amount/sbp.yaml,sha256=NbhCytCY8TuFd7fclU40drc4wPG8qQLByA43O26Qdlo,3283
|
|
3055
3055
|
policyengine_us/parameters/gov/usda/school_meals/income/limit.yaml,sha256=VeFvZeZ8j0vkMLN60x3AKqjhVwVMt0rMAf_wVVD_-OE,487
|
|
3056
3056
|
policyengine_us/parameters/gov/usda/school_meals/income/sources.yaml,sha256=e8eVM2_5uwFgWP3MusGqBz7ipexbFcJFV5ULpnqTnX8,586
|
|
3057
3057
|
policyengine_us/parameters/gov/usda/snap/README.md,sha256=fA48lyX5pFyLm5yBYS96cBIRyDNAX1pz1m7jbYw6Hds,51
|
|
@@ -4912,16 +4912,17 @@ policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/subtractions/mili
|
|
|
4912
4912
|
policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/subtractions/retirement/sc_retirement_cap.yaml,sha256=gQC32zajIaISb11XUjg1ih3povH830ljcjdNL6svm5Q,394
|
|
4913
4913
|
policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/subtractions/retirement/sc_retirement_deduction_indv.yaml,sha256=FOQSybn-Ond-w-efoq8ooNdHKzLXMuBOFs1LvYRd5II,1170
|
|
4914
4914
|
policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/subtractions/retirement/sc_retirement_deduction_survivors.yaml,sha256=UVY5cIaYoqZCSVmos01g0ELNBfwRwiUw_I5djJkRRW8,915
|
|
4915
|
+
policyengine_us/tests/policy/baseline/gov/states/tax/income/state_agi.yaml,sha256=XrNZ5hn8oYOTQcjHJg2kX2TKvUqYWuJDnq1OISS6EBs,4270
|
|
4915
4916
|
policyengine_us/tests/policy/baseline/gov/states/tax/income/state_income_tax.yaml,sha256=OPDi52nx8kZM6N6W3La-OX94BSu7fjFGfxhmcD3xC7Q,1182
|
|
4916
4917
|
policyengine_us/tests/policy/baseline/gov/states/tax/income/state_itemized_deductions.yaml,sha256=fS8Z5X6C4Yjn1weAEIWc6fgGBGaIU3tGBwg9hc13jZg,5322
|
|
4917
4918
|
policyengine_us/tests/policy/baseline/gov/states/tax/income/state_standard_deduction.yaml,sha256=D-RhJbtaZ7ZepUpRGCS3JF3WnNLijSMi93v_V_luUQ0,4889
|
|
4918
4919
|
policyengine_us/tests/policy/baseline/gov/states/tx/dart/tx_dart_benefit_person.yaml,sha256=exDqyJq-1JQIVmLCg8gat-FvWCjIJhZCT4FithuoVHA,2906
|
|
4919
|
-
policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_benefit.yaml,sha256=
|
|
4920
|
+
policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_benefit.yaml,sha256=Y4TPOIactkWT9l_pxocX68LCzH97BbEeyBI_iWbYMVs,2779
|
|
4920
4921
|
policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_eligible_young_child.yaml,sha256=v-v3WOTVVIJtX_3OZYRTvh-G_9pK79VakrTcoLVD9uo,1113
|
|
4921
4922
|
policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/tx_dart_reduced_fare_benefit.yaml,sha256=xNgS8ZNv02tRroS0ydL4IRVGdyU_-icI-rbZFkrFB48,2939
|
|
4922
4923
|
policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_age_eligible.yaml,sha256=XH865IatUm0mbAbwWgUILfp9XdECpZT-yrd3kqT1feI,1783
|
|
4923
4924
|
policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_eligible.yaml,sha256=mzUYLQyoLIf8KeoeF7yKQ5xyIGVB35fX4cNef7F8Lac,2790
|
|
4924
|
-
policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml,sha256=
|
|
4925
|
+
policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml,sha256=tA3qnDcT392VXNpVhBSS7ITSZcIOngB_k8oD6rcE0Sg,4868
|
|
4925
4926
|
policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf_income_limit.yaml,sha256=pNC3o3Ps_6o0EnSDb1mzQrHt10gGZhD7bW15SU_T2tI,388
|
|
4926
4927
|
policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/integration.yaml,sha256=ywuvJ3afrcrtkiXjit6m0LfOCLIfAr3fpm7xXzzcMGg,1297
|
|
4927
4928
|
policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/ut_income_tax_before_credits.yaml,sha256=JmDB8-C4IZ6y0BbyzjyOIFmZuF2a44p5RlKILLdlvEo,198
|
|
@@ -5096,11 +5097,11 @@ policyengine_us/tests/policy/baseline/gov/usda/is_usda_elderly.yaml,sha256=NcQfi
|
|
|
5096
5097
|
policyengine_us/tests/policy/baseline/gov/usda/csfp/commodity_supplemental_food_program.yaml,sha256=5HRzWfGmOmk7baZPGBUSPL5FsU7pKa6yDxWGhA8vTOc,432
|
|
5097
5098
|
policyengine_us/tests/policy/baseline/gov/usda/csfp/integration.yaml,sha256=HrY6IZHAwTtvJbKe3jcqyPdWzX3ucVf2vrT13Wy1lOg,540
|
|
5098
5099
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/free_school_meals.yaml,sha256=5scrkj13rPiGCwbn4j_qo_zVFiFm8qqKueEU46bUu_M,320
|
|
5099
|
-
policyengine_us/tests/policy/baseline/gov/usda/school_meals/integration.yaml,sha256=
|
|
5100
|
+
policyengine_us/tests/policy/baseline/gov/usda/school_meals/integration.yaml,sha256=30mUTMZ0UHI5xxQXJ3FH8PW3yh0hPDkQPToIoR87AoQ,1188
|
|
5100
5101
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/meets_school_meal_categorical_eligibility.yaml,sha256=qdoPOOhUCmXXg9VuW5Ry1FoeieeQVHrZK8qHXlfA1ug,2267
|
|
5101
5102
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/reduced_price_school_meals.yaml,sha256=bssmR8x9haRh62GzlK7MbMXLcRJERc5ATsRAdd24YQg,332
|
|
5102
5103
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_countable_income.yaml,sha256=bAZYn4t3-27uZV3dIyPce7f72DDlzq6C7wA0sIYSrTY,574
|
|
5103
|
-
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_daily_subsidy.yaml,sha256=
|
|
5104
|
+
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_daily_subsidy.yaml,sha256=GKn7piKnwR5xwTmxtGpzQg-2uQ9bIaNtkJibSYILYdo,560
|
|
5104
5105
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_fpg_ratio.yaml,sha256=nhOAnRJ_cpqN9GfXLAxw2oJYrWgep7FIXIhfWO4OvNw,181
|
|
5105
5106
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_net_subsidy.yaml,sha256=tG0qyY9FMP9xzrqCDeM11ERzepd0vziKIaQTmE_Q7JI,330
|
|
5106
5107
|
policyengine_us/tests/policy/baseline/gov/usda/school_meals/school_meal_paid_daily_subsidy.yaml,sha256=6bUsc4xFDAvT7cK1vNB1SSkermTd5gb-qECZHOcOsPk,138
|
|
@@ -7663,7 +7664,7 @@ policyengine_us/variables/gov/states/sc/tax/income/subtractions/retirement/sc_re
|
|
|
7663
7664
|
policyengine_us/variables/gov/states/sc/tax/income/subtractions/retirement/sc_retirement_deduction_indv.py,sha256=heq12iBuxi1DAhNt2hBTCqTeqhfBGf_4LmD1UwFYhWg,1205
|
|
7664
7665
|
policyengine_us/variables/gov/states/sc/tax/income/subtractions/retirement/sc_retirement_deduction_survivors.py,sha256=IDa4phIEeYhhNEPm984Lzw4IdU_o0egKYx-P1ZMgHAA,1403
|
|
7665
7666
|
policyengine_us/variables/gov/states/tax/income/_generate_state_mfs_variables.py,sha256=iwWvzqqJWhFG2LYdrg-O-wJrYor-Zi1j0SLQxualLOI,5229
|
|
7666
|
-
policyengine_us/variables/gov/states/tax/income/state_agi.py,sha256=
|
|
7667
|
+
policyengine_us/variables/gov/states/tax/income/state_agi.py,sha256=Dv2je5jMALWH8nt2QzIjN6vK_OidW4R2TTxP3BKH7l8,2134
|
|
7667
7668
|
policyengine_us/variables/gov/states/tax/income/state_cdcc.py,sha256=OiNkMrBaUyO2cSCQb2-dw9r9LWPub0eRzCKTnVhrGsY,260
|
|
7668
7669
|
policyengine_us/variables/gov/states/tax/income/state_ctc.py,sha256=d-raaxBerVUMFKe-slydIubXcZsoFJvLY40CbS4voT8,239
|
|
7669
7670
|
policyengine_us/variables/gov/states/tax/income/state_eitc.py,sha256=GGK-ZclrfH2iVLfyNxNer_QzkVUWNHHyTrXDJLd1O9k,249
|
|
@@ -8469,8 +8470,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
8469
8470
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
8470
8471
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
8471
8472
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
8472
|
-
policyengine_us-1.
|
|
8473
|
-
policyengine_us-1.
|
|
8474
|
-
policyengine_us-1.
|
|
8475
|
-
policyengine_us-1.
|
|
8476
|
-
policyengine_us-1.
|
|
8473
|
+
policyengine_us-1.406.0.dist-info/METADATA,sha256=CNLbkTzA8DsSk5vyf4bpXxaYcEdd9KrA1f2tqjxC-7Q,1649
|
|
8474
|
+
policyengine_us-1.406.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8475
|
+
policyengine_us-1.406.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
8476
|
+
policyengine_us-1.406.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
8477
|
+
policyengine_us-1.406.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|