policyengine-us 1.403.2__py3-none-any.whl → 1.405.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.

Files changed (28) hide show
  1. policyengine_us/parameters/gov/states/household/state_agis.yaml +3 -3
  2. policyengine_us/parameters/gov/states/tx/dart/monthly_pass_cost/full_fare.yaml +11 -0
  3. policyengine_us/parameters/gov/states/tx/dart/monthly_pass_cost/reduced_fare.yaml +11 -0
  4. policyengine_us/parameters/gov/states/tx/dart/qualifying_programs.yaml +19 -0
  5. policyengine_us/parameters/gov/states/tx/dart/reduced_fare/age_threshold/child.yaml +23 -0
  6. policyengine_us/parameters/gov/states/tx/dart/reduced_fare/age_threshold/senior.yaml +10 -0
  7. policyengine_us/tests/policy/baseline/gov/states/tax/income/state_agi.yaml +191 -0
  8. policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_benefit.yaml +132 -0
  9. policyengine_us/tests/policy/baseline/gov/states/tx/dart/free_ride/tx_dart_free_ride_eligible_young_child.yaml +56 -0
  10. policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_age_eligible.yaml +90 -0
  11. policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_eligible.yaml +146 -0
  12. policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml +206 -0
  13. policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/tx_dart_reduced_fare_benefit.yaml +145 -0
  14. policyengine_us/tests/policy/baseline/gov/states/tx/dart/tx_dart_benefit_person.yaml +141 -0
  15. policyengine_us/tests/test_batched.py +9 -5
  16. policyengine_us/variables/gov/states/tax/income/state_agi.py +47 -0
  17. policyengine_us/variables/gov/states/tx/dart/free_ride/tx_dart_free_ride_benefit.py +18 -0
  18. policyengine_us/variables/gov/states/tx/dart/free_ride/tx_dart_free_ride_eligible_young_child.py +19 -0
  19. policyengine_us/variables/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_age_eligible.py +23 -0
  20. policyengine_us/variables/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_eligible.py +40 -0
  21. policyengine_us/variables/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.py +18 -0
  22. policyengine_us/variables/gov/states/tx/dart/reduced_fare/tx_dart_reduced_fare_benefit.py +17 -0
  23. policyengine_us/variables/gov/states/tx/dart/tx_dart_benefit_person.py +18 -0
  24. {policyengine_us-1.403.2.dist-info → policyengine_us-1.405.0.dist-info}/METADATA +1 -1
  25. {policyengine_us-1.403.2.dist-info → policyengine_us-1.405.0.dist-info}/RECORD +28 -8
  26. {policyengine_us-1.403.2.dist-info → policyengine_us-1.405.0.dist-info}/WHEEL +0 -0
  27. {policyengine_us-1.403.2.dist-info → policyengine_us-1.405.0.dist-info}/entry_points.txt +0 -0
  28. {policyengine_us-1.403.2.dist-info → policyengine_us-1.405.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
- - ar_agi # Arkansas
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
- - de_agi # Delaware
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
- - nm_modified_gross_income # New Mexico
33
+ # New Mexico adopts federal AGI
34
34
  - ny_agi # New York
35
35
  - oh_agi # Ohio
36
36
  - ok_agi # Oklahoma
@@ -0,0 +1,11 @@
1
+ description: Dallas Area Rapid Transit (DART) charges the full fare 31 Day Pass at this price.
2
+ values:
3
+ 2025-01-01: 126
4
+
5
+ metadata:
6
+ unit: currency-USD
7
+ period: month
8
+ label: DART 31 Day Pass full cost
9
+ reference:
10
+ - title: Dallas Area Rapid Transit (DART) Fares
11
+ href: https://www.dart.org/fare/general-fares-and-overview/fares
@@ -0,0 +1,11 @@
1
+ description: Dallas Area Rapid Transit (DART) charges the reduced fare 31 Day Pass at this price.
2
+ values:
3
+ 2025-01-01: 63
4
+
5
+ metadata:
6
+ unit: currency-USD
7
+ period: month
8
+ label: DART 31 Day Pass reduced fare cost
9
+ reference:
10
+ - title: Dallas Area Rapid Transit (DART) Reduced Fares
11
+ href: https://www.dart.org/fare/general-fares-and-overview/reduced-fares
@@ -0,0 +1,19 @@
1
+ description: Dallas Area Rapid Transit (DART) provides the Discount GoPass Program to individuals enrolled in these assistance programs.
2
+ values:
3
+ 2024-01-01:
4
+ - chip
5
+ - medicaid
6
+ - is_medicare_eligible # medicare
7
+ - wic
8
+ - snap
9
+ - tanf
10
+ # Comprehensive Energy Assistance Program (CEAP)
11
+ # Housing Choice Voucher Program (Section 8)
12
+
13
+ metadata:
14
+ label: DART Discount GoPass qualifying assistance programs
15
+ reference:
16
+ - title: Dallas Area Rapid Transit (DART) Discount GoPass Tap Card
17
+ href: https://www.dart.org/fare/general-fares-and-overview/discount-gopass-tap-card
18
+ - title: Ask DART, What is the Discount GoPass® Tap card?
19
+ href: https://dartdaily.dart.org/home/ask-dart-what-is-the-discount-gopass-tap-card
@@ -0,0 +1,23 @@
1
+ description: Dallas Area Rapid Transit (DART) provides the Reduced Fare Program to applicants who are within these age brackets.
2
+ metadata:
3
+ threshold_unit: year
4
+ amount_unit: bool
5
+ period: year
6
+ type: single_amount
7
+ label: DART Reduced Fare Program child age threshold
8
+ reference:
9
+ - title: Dallas Area Rapid Transit (DART) Reduced Fare GoPass Tap Card
10
+ href: https://www.dart.org/fare/general-fares-and-overview/reduced-fares#college
11
+ brackets:
12
+ - threshold:
13
+ 2021-01-01: 0
14
+ amount:
15
+ 2021-01-01: false
16
+ - threshold:
17
+ 2021-01-01: 5 # Children under 5 years old ride for free
18
+ amount:
19
+ 2021-01-01: true
20
+ - threshold:
21
+ 2021-01-01: 15
22
+ amount:
23
+ 2021-01-01: false
@@ -0,0 +1,10 @@
1
+ description: Dallas Area Rapid Transit (DART) provides the Reduced Fare Program to seniors of this age or older.
2
+ values:
3
+ 2021-01-01: 65
4
+ metadata:
5
+ unit: year
6
+ period: year
7
+ label: DART Reduced Fare Program senior age threshold
8
+ reference:
9
+ - title: Dallas Area Rapid Transit (DART) Reduced Fare GoPass Tap Card
10
+ href: https://www.dart.org/fare/general-fares-and-overview/reduced-fares
@@ -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
@@ -0,0 +1,132 @@
1
+ - name: Eligible child under 5 years old receives free monthly pass benefit
2
+ period: 2025
3
+ input:
4
+ people:
5
+ child:
6
+ age: 3
7
+ households:
8
+ household:
9
+ members: [child]
10
+ state_code: TX
11
+ output:
12
+ # $126 monthly pass * 12 months = $1,512 annual benefit
13
+ tx_dart_free_ride_benefit: 1_512
14
+
15
+ - name: Child exactly 5 years old does not receive free ride benefit
16
+ period: 2025
17
+ input:
18
+ people:
19
+ child:
20
+ age: 5
21
+ households:
22
+ household:
23
+ members: [child]
24
+ state_code: TX
25
+ output:
26
+ tx_dart_free_ride_benefit: 0
27
+
28
+ - name: Older child age 10 does not receive free ride benefit
29
+ period: 2025
30
+ input:
31
+ people:
32
+ child:
33
+ age: 10
34
+ households:
35
+ household:
36
+ members: [child]
37
+ state_code: TX
38
+ output:
39
+ tx_dart_free_ride_benefit: 0
40
+
41
+ - name: Adult does not receive free ride benefit
42
+ period: 2025
43
+ input:
44
+ people:
45
+ adult:
46
+ age: 35
47
+ households:
48
+ household:
49
+ members: [adult]
50
+ state_code: TX
51
+ output:
52
+ tx_dart_free_ride_benefit: 0
53
+
54
+ - name: Multi-person household with one eligible young child
55
+ period: 2025
56
+ input:
57
+ people:
58
+ parent1:
59
+ age: 32
60
+ parent2:
61
+ age: 30
62
+ child1:
63
+ age: 2
64
+ child2:
65
+ age: 8
66
+ households:
67
+ household:
68
+ members: [parent1, parent2, child1, child2]
69
+ state_code: TX
70
+ output:
71
+ tx_dart_free_ride_benefit: [0, 0, 1_512, 0]
72
+
73
+ - name: Infant under 1 year old receives free ride benefit
74
+ period: 2025
75
+ input:
76
+ people:
77
+ infant:
78
+ age: 0
79
+ households:
80
+ household:
81
+ members: [infant]
82
+ state_code: TX
83
+ output:
84
+ # $126 monthly pass * 12 months = $1,512 annual benefit
85
+ tx_dart_free_ride_benefit: 1_512
86
+
87
+ - name: Child at age 4 boundary receives free ride benefit
88
+ period: 2025
89
+ input:
90
+ people:
91
+ child:
92
+ age: 4
93
+ households:
94
+ household:
95
+ members: [child]
96
+ state_code: TX
97
+ output:
98
+ # $126 monthly pass * 12 months = $1,512 annual benefit
99
+ tx_dart_free_ride_benefit: 1_512
100
+
101
+ - name: Elderly person does not receive free ride benefit
102
+ period: 2025
103
+ input:
104
+ people:
105
+ senior:
106
+ age: 70
107
+ households:
108
+ household:
109
+ members: [senior]
110
+ state_code: TX
111
+ output:
112
+ tx_dart_free_ride_benefit: 0
113
+
114
+ - name: Multiple young children each receive free ride benefit
115
+ period: 2025
116
+ input:
117
+ people:
118
+ parent:
119
+ age: 28
120
+ child1:
121
+ age: 1
122
+ child2:
123
+ age: 3
124
+ child3:
125
+ age: 4
126
+ households:
127
+ household:
128
+ members: [parent, child1, child2, child3]
129
+ state_code: TX
130
+ output:
131
+ # Each eligible child gets $1,512 annual benefit
132
+ tx_dart_free_ride_benefit: [0, 1_512, 1_512, 1_512]
@@ -0,0 +1,56 @@
1
+ - name: Child under 5 rides free
2
+ period: 2025
3
+ input:
4
+ state_code: TX
5
+ age: 2
6
+ output:
7
+ tx_dart_free_ride_eligible_young_child: true
8
+
9
+ - name: 4-year-old rides free
10
+ period: 2025
11
+ input:
12
+ state_code: TX
13
+ age: 4
14
+ output:
15
+ tx_dart_free_ride_eligible_young_child: true
16
+
17
+ - name: 5-year-old does not ride free
18
+ period: 2025
19
+ input:
20
+ state_code: TX
21
+ age: 5
22
+ output:
23
+ tx_dart_free_ride_eligible_young_child: false
24
+
25
+ - name: Adult does not ride free
26
+ period: 2025
27
+ input:
28
+ state_code: TX
29
+ age: 30
30
+ output:
31
+ tx_dart_free_ride_eligible_young_child: false
32
+
33
+ - name: Senior does not ride free through free ride program
34
+ period: 2025
35
+ input:
36
+ state_code: TX
37
+ age: 65
38
+ output:
39
+ tx_dart_free_ride_eligible_young_child: false
40
+
41
+ - name: Multi-person household with toddler
42
+ period: 2025
43
+ input:
44
+ people:
45
+ parent1:
46
+ age: 35
47
+ parent2:
48
+ age: 33
49
+ child:
50
+ age: 3
51
+ households:
52
+ household:
53
+ members: [parent1, parent2, child]
54
+ state_code: TX
55
+ output:
56
+ tx_dart_free_ride_eligible_young_child: [false, false, true]
@@ -0,0 +1,90 @@
1
+ - name: 4-year-old not age eligible for reduced fare
2
+ period: 2025
3
+ input:
4
+ state_code: TX
5
+ age: 4
6
+ output:
7
+ tx_dart_reduced_fare_age_eligible: false
8
+
9
+ - name: 5-year-old child eligible (minimum age)
10
+ period: 2025
11
+ input:
12
+ state_code: TX
13
+ age: 5
14
+ output:
15
+ tx_dart_reduced_fare_age_eligible: true
16
+
17
+ - name: 10-year-old child eligible
18
+ period: 2025
19
+ input:
20
+ state_code: TX
21
+ age: 10
22
+ output:
23
+ tx_dart_reduced_fare_age_eligible: true
24
+
25
+ - name: 14-year-old child eligible (maximum age)
26
+ period: 2025
27
+ input:
28
+ state_code: TX
29
+ age: 14
30
+ output:
31
+ tx_dart_reduced_fare_age_eligible: true
32
+
33
+ - name: 15-year-old not child eligible
34
+ period: 2025
35
+ input:
36
+ state_code: TX
37
+ age: 15
38
+ output:
39
+ tx_dart_reduced_fare_age_eligible: false
40
+
41
+ - name: 30-year-old adult not age eligible
42
+ period: 2025
43
+ input:
44
+ state_code: TX
45
+ age: 30
46
+ output:
47
+ tx_dart_reduced_fare_age_eligible: false
48
+
49
+ - name: 64-year-old not senior eligible
50
+ period: 2025
51
+ input:
52
+ state_code: TX
53
+ age: 64
54
+ output:
55
+ tx_dart_reduced_fare_age_eligible: false
56
+
57
+ - name: 65-year-old senior eligible (minimum age)
58
+ period: 2025
59
+ input:
60
+ state_code: TX
61
+ age: 65
62
+ output:
63
+ tx_dart_reduced_fare_age_eligible: true
64
+
65
+ - name: 70-year-old senior eligible
66
+ period: 2025
67
+ input:
68
+ state_code: TX
69
+ age: 70
70
+ output:
71
+ tx_dart_reduced_fare_age_eligible: true
72
+
73
+ - name: Multi-generation household age eligibility
74
+ period: 2025
75
+ input:
76
+ people:
77
+ grandparent:
78
+ age: 68
79
+ parent:
80
+ age: 40
81
+ child:
82
+ age: 12
83
+ toddler:
84
+ age: 3
85
+ households:
86
+ household:
87
+ members: [grandparent, parent, child, toddler]
88
+ state_code: TX
89
+ output:
90
+ tx_dart_reduced_fare_age_eligible: [true, false, true, false]