policyengine-us 1.413.3__py3-none-any.whl → 1.418.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 (62) hide show
  1. policyengine_us/parameters/gov/contrib/aca/ptc_simplified_bracket/brackets.yaml +6 -6
  2. policyengine_us/parameters/gov/contrib/aca/ptc_simplified_bracket/income_eligibility.yaml +6 -6
  3. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/age_limit.yaml +8 -0
  4. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/amount.yaml +13 -0
  5. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/in_effect.yaml +8 -0
  6. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/min_birth_year.yaml +8 -0
  7. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/amount.yaml +13 -0
  8. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/in_effect.yaml +8 -0
  9. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/max_age.yaml +8 -0
  10. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/min_age.yaml +8 -0
  11. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/rate.yaml +8 -0
  12. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/threshold.yaml +24 -0
  13. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/adult_dependent_credit/amount.yaml +9 -0
  14. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/adult_dependent_credit/min_age.yaml +8 -0
  15. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/child_benefit/age_limit.yaml +8 -0
  16. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/filer_credit/amount.yaml +20 -0
  17. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/filer_credit/eligibility/max_age.yaml +10 -0
  18. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/filer_credit/eligibility/min_age.yaml +8 -0
  19. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/filer_credit/phase_out/rate.yaml +8 -0
  20. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/filer_credit/phase_out/start.yaml +20 -0
  21. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/end_child_poverty_act/in_effect.yaml +8 -0
  22. policyengine_us/parameters/gov/local/tx/harris/rides/age_threshold.yaml +13 -0
  23. policyengine_us/parameters/gov/local/tx/harris/rides/customer_payment_rate.yaml +12 -0
  24. policyengine_us/parameters/gov/states/tx/fpp/age_threshold.yaml +10 -0
  25. policyengine_us/parameters/gov/states/tx/fpp/annual_benefit.yaml +12 -0
  26. policyengine_us/parameters/gov/states/tx/fpp/fpg_percentage.yaml +15 -0
  27. policyengine_us/reforms/congress/tlaib/__init__.py +4 -0
  28. policyengine_us/reforms/congress/tlaib/income_security_package/__init__.py +17 -0
  29. policyengine_us/reforms/congress/tlaib/income_security_package/income_security_package.py +402 -0
  30. policyengine_us/reforms/ctc/ctc_minimum_refundable_amount.py +11 -0
  31. policyengine_us/reforms/reforms.py +6 -0
  32. policyengine_us/tests/policy/baseline/gov/local/tx/harris/in_harris_county_tx.yaml +27 -0
  33. policyengine_us/tests/policy/baseline/gov/local/tx/harris/rides/tx_harris_rides_eligible.yaml +35 -0
  34. policyengine_us/tests/policy/baseline/gov/local/tx/harris/rides/tx_harris_rides_subsidy.yaml +32 -0
  35. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/integration.yaml +133 -0
  36. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_age_eligible.yaml +39 -0
  37. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_benefit.yaml +39 -0
  38. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_income_eligible.yaml +53 -0
  39. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_income_limit.yaml +44 -0
  40. policyengine_us/tests/policy/baseline/household/demographic/geographic/in_nyc.yaml +20 -0
  41. policyengine_us/tests/policy/contrib/aca/ptc_simplified_bracket.yaml +12 -12
  42. policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml +0 -42
  43. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/integration.yaml +154 -0
  44. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/state_integration.yaml +115 -0
  45. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/test_individual_acts.yaml +149 -0
  46. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/unit_tests.yaml +272 -0
  47. policyengine_us/variables/gov/local/tx/harris/in_harris_county_tx.py +12 -0
  48. policyengine_us/variables/gov/local/tx/harris/rides/tx_harris_rides_eligible.py +22 -0
  49. policyengine_us/variables/gov/local/tx/harris/rides/tx_harris_rides_subsidy.py +26 -0
  50. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_age_eligible.py +16 -0
  51. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_benefit.py +15 -0
  52. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_eligible.py +18 -0
  53. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_income_eligible.py +18 -0
  54. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_income_limit.py +24 -0
  55. policyengine_us/variables/household/demographic/geographic/in_nyc.py +12 -3
  56. policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py +9 -0
  57. {policyengine_us-1.413.3.dist-info → policyengine_us-1.418.0.dist-info}/METADATA +1 -1
  58. {policyengine_us-1.413.3.dist-info → policyengine_us-1.418.0.dist-info}/RECORD +61 -14
  59. policyengine_us/parameters/gov/states/tx/index.yaml +0 -4
  60. {policyengine_us-1.413.3.dist-info → policyengine_us-1.418.0.dist-info}/WHEEL +0 -0
  61. {policyengine_us-1.413.3.dist-info → policyengine_us-1.418.0.dist-info}/entry_points.txt +0 -0
  62. {policyengine_us-1.413.3.dist-info → policyengine_us-1.418.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,149 @@
1
+ - name: Only Baby Bonus Act in effect
2
+ period: 2026
3
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
4
+ input:
5
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: true
6
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
7
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
8
+ people:
9
+ baby:
10
+ age: 0
11
+ wic: 0
12
+ parent:
13
+ age: 30
14
+ tax_units:
15
+ tax_unit:
16
+ members: [parent, baby]
17
+ filing_status: SINGLE
18
+ adjusted_gross_income: 35_000
19
+ spm_units:
20
+ spm_unit:
21
+ members: [parent, baby]
22
+ snap: 0
23
+ tanf: 0
24
+ free_school_meals: 0
25
+ reduced_price_school_meals: 0
26
+ households:
27
+ household:
28
+ members: [parent, baby]
29
+ household_state_benefits: 0
30
+ output:
31
+ # Baby gets bonus (Baby Bonus Act is in effect)
32
+ baby_bonus_act_payment: [2_000, 0]
33
+ boost_act_payment: [0, 3_000]
34
+ ecpa_child_benefit: [5_630, 0]
35
+ ecpa_filer_credit: 0
36
+ boost_act_tax: 125
37
+ # Only the baby bonus payment is applied to the household benefits
38
+ household_benefits: 2_000
39
+
40
+ - name: Only BOOST Act in effect
41
+ period: 2026
42
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
43
+ input:
44
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
45
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
46
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
47
+ people:
48
+ baby:
49
+ age: 0
50
+ wic: 0
51
+ parent:
52
+ age: 30
53
+ tax_units:
54
+ tax_unit:
55
+ members: [parent, baby]
56
+ filing_status: SINGLE
57
+ adjusted_gross_income: 35_000
58
+ spm_units:
59
+ spm_unit:
60
+ members: [parent, baby]
61
+ snap: 0
62
+ tanf: 0
63
+ free_school_meals: 0
64
+ reduced_price_school_meals: 0
65
+ households:
66
+ household:
67
+ members: [parent, baby]
68
+ household_state_benefits: 0
69
+ output:
70
+ baby_bonus_act_payment: [2_000, 0]
71
+ boost_act_payment: [0, 3_000]
72
+ ecpa_child_benefit: [5_630, 0]
73
+ ecpa_filer_credit: 0
74
+ boost_act_tax: 125
75
+ household_benefits: 3_000
76
+
77
+ - name: Only End Child Poverty Act in effect
78
+ period: 2026
79
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
80
+ input:
81
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
82
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
83
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
84
+ people:
85
+ baby:
86
+ age: 0
87
+ wic: 0
88
+ parent:
89
+ age: 30
90
+ tax_units:
91
+ tax_unit:
92
+ members: [parent, baby]
93
+ filing_status: SINGLE
94
+ adjusted_gross_income: 20_000
95
+ spm_units:
96
+ spm_unit:
97
+ members: [parent, baby]
98
+ snap: 0
99
+ tanf: 0
100
+ free_school_meals: 0
101
+ reduced_price_school_meals: 0
102
+ households:
103
+ household:
104
+ members: [parent, baby]
105
+ household_state_benefits: 0
106
+ output:
107
+ baby_bonus_act_payment: [2_000, 0]
108
+ boost_act_payment: [0, 3_000]
109
+ ecpa_child_benefit: [5_630, 0]
110
+ ecpa_filer_credit: 700
111
+ boost_act_tax: 0
112
+ household_benefits: 5_630
113
+
114
+ - name: All three acts in effect
115
+ period: 2026
116
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
117
+ input:
118
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: true
119
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
120
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
121
+ people:
122
+ baby:
123
+ age: 0
124
+ wic: 0
125
+ parent:
126
+ age: 30
127
+ tax_units:
128
+ tax_unit:
129
+ members: [parent, baby]
130
+ filing_status: SINGLE
131
+ adjusted_gross_income: 35_000
132
+ spm_units:
133
+ spm_unit:
134
+ members: [parent, baby]
135
+ snap: 0
136
+ tanf: 0
137
+ free_school_meals: 0
138
+ reduced_price_school_meals: 0
139
+ households:
140
+ household:
141
+ members: [parent, baby]
142
+ household_state_benefits: 0
143
+ output:
144
+ baby_bonus_act_payment: [2_000, 0]
145
+ boost_act_payment: [0, 3_000]
146
+ ecpa_child_benefit: [5_630, 0]
147
+ ecpa_filer_credit: 0
148
+ boost_act_tax: 125
149
+ household_benefits: 10_630
@@ -0,0 +1,272 @@
1
+ # Essential unit tests for Income Security Package individual components
2
+ # Tests cover critical logic boundaries and edge cases for each act
3
+
4
+ # Baby Bonus Act Tests
5
+ - name: Baby born in eligibility year receives bonus
6
+ period: 2026
7
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
8
+ input:
9
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: true
10
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
11
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
12
+ people:
13
+ child_eligible:
14
+ age: 0
15
+ birth_year: 2026
16
+ child_ineligible:
17
+ age: 0
18
+ birth_year: 2025
19
+ output:
20
+ baby_bonus_act_payment:
21
+ 2026: [2_000, 0]
22
+
23
+ - name: Baby bonus only paid in birth year
24
+ period: 2027
25
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
26
+ input:
27
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: true
28
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
29
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
30
+ people:
31
+ child_2026:
32
+ age: 1
33
+ birth_year: 2026
34
+ child_2027:
35
+ age: 0
36
+ birth_year: 2027
37
+ output:
38
+ baby_bonus_act_payment:
39
+ 2027: [0, 2_049] # Only 2027 birth, uprated
40
+
41
+ # BOOST Act Payment Tests
42
+ - name: BOOST payment age boundaries
43
+ period: 2026
44
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
45
+ input:
46
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
47
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
48
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
49
+ people:
50
+ age_18:
51
+ age: 18
52
+ age_19:
53
+ age: 19
54
+ age_67:
55
+ age: 67
56
+ age_68:
57
+ age: 68
58
+ output:
59
+ boost_act_payment:
60
+ 2026: [0, 3_000, 3_000, 0]
61
+
62
+ # BOOST Act Tax Tests
63
+ - name: BOOST tax single filer above threshold
64
+ period: 2026
65
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
66
+ input:
67
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
68
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
69
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
70
+ people:
71
+ filer:
72
+ age: 30
73
+ tax_units:
74
+ tax_unit:
75
+ members: [filer]
76
+ filing_status: SINGLE
77
+ adjusted_gross_income: 40_000 # 10k above 30k threshold
78
+ output:
79
+ boost_act_tax:
80
+ 2026: 250 # 10,000 * 0.025
81
+
82
+ - name: BOOST tax joint filers above threshold
83
+ period: 2026
84
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
85
+ input:
86
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
87
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
88
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
89
+ people:
90
+ head:
91
+ age: 40
92
+ spouse:
93
+ age: 38
94
+ tax_units:
95
+ tax_unit:
96
+ members: [head, spouse]
97
+ filing_status: JOINT
98
+ adjusted_gross_income: 80_000 # 20k above 60k threshold
99
+ output:
100
+ boost_act_tax:
101
+ 2026: 500 # 20,000 * 0.025
102
+
103
+ - name: BOOST tax head of household above threshold
104
+ period: 2026
105
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
106
+ input:
107
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
108
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: true
109
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: false
110
+ people:
111
+ head:
112
+ age: 35
113
+ child:
114
+ age: 10
115
+ tax_units:
116
+ tax_unit:
117
+ members: [head, child]
118
+ filing_status: HEAD_OF_HOUSEHOLD
119
+ adjusted_gross_income: 45_000 # 15k above 30k threshold
120
+ output:
121
+ boost_act_tax:
122
+ 2026: 375 # 15,000 * 0.025
123
+
124
+ # ECPA Child Benefit Tests
125
+ - name: ECPA child benefit age boundary at 19
126
+ period: 2026
127
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
128
+ input:
129
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
130
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
131
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
132
+ people:
133
+ age_17:
134
+ age: 17
135
+ age_18:
136
+ age: 18
137
+ age_19:
138
+ age: 19
139
+ output:
140
+ ecpa_child_benefit:
141
+ 2026: [5_630, 5_630, 0]
142
+
143
+ # ECPA Adult Dependent Credit Tests
144
+ - name: ECPA adult dependent credit requires dependent status and age 18+
145
+ period: 2026
146
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
147
+ input:
148
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
149
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
150
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
151
+ people:
152
+ parent:
153
+ age: 45
154
+ child_17:
155
+ age: 17
156
+ is_tax_unit_dependent: true
157
+ adult_dep_18:
158
+ age: 18
159
+ is_tax_unit_dependent: true
160
+ adult_not_dep:
161
+ age: 20
162
+ is_tax_unit_dependent: false
163
+ tax_units:
164
+ tax_unit:
165
+ members: [parent, child_17, adult_dep_18, adult_not_dep]
166
+ output:
167
+ ecpa_adult_dependent_credit:
168
+ 2026: [0, 0, 700, 0]
169
+
170
+ # ECPA Filer Credit Tests
171
+ - name: ECPA filer credit single base amount
172
+ period: 2026
173
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
174
+ input:
175
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
176
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
177
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
178
+ people:
179
+ filer:
180
+ age: 30
181
+ tax_units:
182
+ tax_unit:
183
+ members: [filer]
184
+ filing_status: SINGLE
185
+ adjusted_gross_income: 15_000
186
+ output:
187
+ ecpa_filer_credit:
188
+ 2026: 700
189
+
190
+ - name: ECPA filer credit joint base amount
191
+ period: 2026
192
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
193
+ input:
194
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
195
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
196
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
197
+ people:
198
+ head:
199
+ age: 35
200
+ spouse:
201
+ age: 33
202
+ tax_units:
203
+ tax_unit:
204
+ members: [head, spouse]
205
+ filing_status: JOINT
206
+ adjusted_gross_income: 30_000
207
+ output:
208
+ ecpa_filer_credit:
209
+ 2026: 1_400
210
+
211
+ - name: ECPA filer credit partial phaseout
212
+ period: 2026
213
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
214
+ input:
215
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
216
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
217
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
218
+ people:
219
+ filer:
220
+ age: 40
221
+ tax_units:
222
+ tax_unit:
223
+ members: [filer]
224
+ filing_status: SINGLE
225
+ adjusted_gross_income: 24_000 # 4k above 20k threshold
226
+ output:
227
+ ecpa_filer_credit:
228
+ 2026: 500 # 700 - (4,000 * 0.05)
229
+
230
+ - name: ECPA filer credit full phaseout
231
+ period: 2026
232
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
233
+ input:
234
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
235
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
236
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
237
+ people:
238
+ filer:
239
+ age: 45
240
+ tax_units:
241
+ tax_unit:
242
+ members: [filer]
243
+ filing_status: SINGLE
244
+ adjusted_gross_income: 50_000 # Fully phased out
245
+ output:
246
+ ecpa_filer_credit:
247
+ 2026: 0
248
+
249
+ - name: ECPA filer credit age boundaries
250
+ period: 2026
251
+ reforms: policyengine_us.reforms.congress.tlaib.income_security_package.income_security_package
252
+ input:
253
+ gov.contrib.congress.tlaib.income_security_package.baby_bonus_act.in_effect: false
254
+ gov.contrib.congress.tlaib.income_security_package.boost_act.in_effect: false
255
+ gov.contrib.congress.tlaib.income_security_package.end_child_poverty_act.in_effect: true
256
+ people:
257
+ age_18:
258
+ age: 18
259
+ age_19:
260
+ age: 19
261
+ age_64:
262
+ age: 64
263
+ age_65:
264
+ age: 65
265
+ tax_units:
266
+ tax_unit:
267
+ members: [age_18, age_19, age_64, age_65]
268
+ filing_status: SINGLE
269
+ adjusted_gross_income: 10_000
270
+ output:
271
+ ecpa_filer_credit:
272
+ 2026: 700 # Tax unit level, head must be 19-64
@@ -0,0 +1,12 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_harris_county_tx(Variable):
5
+ value_type = bool
6
+ entity = Household
7
+ definition_period = YEAR
8
+ label = "Is in Harris County, Texas"
9
+
10
+ def formula(household, period, parameters):
11
+ county = household("county_str", period)
12
+ return county == "HARRIS_COUNTY_TX"
@@ -0,0 +1,22 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_harris_rides_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ definition_period = YEAR
8
+ label = "Harris County RIDES eligibility"
9
+ reference = "https://rides.harriscountytx.gov/Registration/Registration-Information"
10
+ defined_for = "in_harris_county_tx"
11
+
12
+ def formula(person, period, parameters):
13
+ p = parameters(period).gov.local.tx.harris.rides
14
+
15
+ # Age eligibility
16
+ age = person("age", period)
17
+ age_eligible = age >= p.age_threshold
18
+
19
+ # Disability eligibility
20
+ has_disability = person("is_disabled", period)
21
+
22
+ return age_eligible | has_disability
@@ -0,0 +1,26 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_harris_rides_subsidy(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ definition_period = YEAR
8
+ label = "Harris County RIDES transportation subsidy"
9
+ reference = "https://rides.harriscountytx.gov/"
10
+ unit = USD
11
+ defined_for = "tx_harris_rides_eligible"
12
+
13
+ def formula(person, period, parameters):
14
+ p = parameters(period).gov.local.tx.harris.rides
15
+
16
+ # Get estimated transportation costs
17
+ # In a real implementation, this would be based on actual trip data
18
+ # For now, we'll use a simplified estimate
19
+ transportation_costs = person(
20
+ "pre_subsidy_transportation_expense", period
21
+ )
22
+
23
+ # RIDES subsidizes 60% of trip costs (customer pays 40%)
24
+ subsidy_rate = 1 - p.customer_payment_rate
25
+
26
+ return transportation_costs * subsidy_rate
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_fpp_age_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Texas Family Planning Program age eligibility"
8
+ definition_period = YEAR
9
+ reference = "https://www.healthytexaswomen.org/healthcare-programs/family-planning-program/fpp-who-can-apply"
10
+ defined_for = StateCode.TX
11
+
12
+ def formula(person, period, parameters):
13
+ age = person("age", period)
14
+ p = parameters(period).gov.states.tx.fpp
15
+ age_threshold = p.age_threshold
16
+ return age <= age_threshold
@@ -0,0 +1,15 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_fpp_benefit(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Texas Family Planning Program benefit"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ reference = (
11
+ "https://www.healthytexaswomen.org/healthcare-programs/family-planning-program/fpp-who-can-apply",
12
+ "https://www.hhs.texas.gov/sites/default/files/documents/texas-womens-health-programs-report-2024.pdf",
13
+ )
14
+ defined_for = "tx_fpp_eligible"
15
+ adds = ["gov.states.tx.fpp.annual_benefit"]
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_fpp_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Texas Family Planning Program eligibility"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.healthytexaswomen.org/healthcare-programs/family-planning-program/fpp-who-can-apply",
11
+ "https://www.hhs.texas.gov/sites/default/files/documents/texas-womens-health-programs-report-2024.pdf",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(person, period, parameters):
16
+ age_eligible = person("tx_fpp_age_eligible", period)
17
+ income_eligible = person.spm_unit("tx_fpp_income_eligible", period)
18
+ return age_eligible & income_eligible
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_fpp_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Texas Family Planning Program income eligibility"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.healthytexaswomen.org/healthcare-programs/family-planning-program/fpp-who-can-apply",
11
+ "https://www.hhs.texas.gov/sites/default/files/documents/texas-womens-health-programs-report-2024.pdf",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ income = spm_unit("spm_unit_net_income", period)
17
+ income_limit = spm_unit("tx_fpp_income_limit", period)
18
+ return income <= income_limit
@@ -0,0 +1,24 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_fpp_income_limit(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas Family Planning Program income limit"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ reference = (
11
+ "https://www.healthytexaswomen.org/healthcare-programs/family-planning-program/fpp-who-can-apply",
12
+ "https://www.hhs.texas.gov/sites/default/files/documents/texas-womens-health-programs-report-2024.pdf",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Get the Federal Poverty Guideline for this SPM unit
18
+ fpg = spm_unit("spm_unit_fpg", period)
19
+
20
+ # Get FPG percentage (250% = 2.5)
21
+ p = parameters(period).gov.states.tx.fpp
22
+
23
+ # Return annual income limit (FPG * percentage)
24
+ return fpg * p.fpg_percentage
@@ -6,6 +6,15 @@ class in_nyc(Variable):
6
6
  entity = Household
7
7
  definition_period = YEAR
8
8
  label = "Is in NYC"
9
- # No formula by design given that in_nyc is included in CPS datasets.
10
- # For details, see the add_household_variables method in the
11
- # policyengine_us/data/datasets/cps/cps.py module.
9
+
10
+ def formula(household, period, parameters):
11
+ county = household("county_str", period)
12
+ possible_counties = [
13
+ "QUEENS_COUNTY_NY",
14
+ "BRONX_COUNTY_NY",
15
+ "RICHMOND_COUNTY_NY",
16
+ "NEW_YORK_COUNTY_NY",
17
+ "KINGS_COUNTY_NY",
18
+ ]
19
+
20
+ return np.isin(county, possible_counties)
@@ -0,0 +1,9 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class pre_subsidy_transportation_expense(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ definition_period = YEAR
8
+ label = "Pre-subsidy transportation expense"
9
+ unit = USD
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.413.3
3
+ Version: 1.418.0
4
4
  Summary: Add your description here.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License-File: LICENSE