policyengine-us 1.413.0__py3-none-any.whl → 1.439.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.
Files changed (480) hide show
  1. policyengine_us/parameters/gov/aca/state_rating_area_cost.yaml +511 -12
  2. policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml +23 -6
  3. policyengine_us/parameters/gov/bls/cpi/cpi_u.yaml +21 -18
  4. policyengine_us/parameters/gov/bls/cpi/cpi_w.yaml +25 -22
  5. policyengine_us/parameters/gov/contrib/aca/ptc_simplified_bracket/brackets.yaml +6 -6
  6. policyengine_us/parameters/gov/contrib/aca/ptc_simplified_bracket/income_eligibility.yaml +6 -6
  7. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/adult_dependent_credit/amount.yaml +9 -0
  8. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/adult_dependent_credit/min_age.yaml +8 -0
  9. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/child_benefit/age_limit.yaml +8 -0
  10. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/filer_credit/amount.yaml +20 -0
  11. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/filer_credit/eligibility/max_age.yaml +10 -0
  12. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/filer_credit/eligibility/min_age.yaml +8 -0
  13. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/filer_credit/phase_out/rate.yaml +8 -0
  14. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/filer_credit/phase_out/start.yaml +20 -0
  15. policyengine_us/parameters/gov/contrib/congress/tlaib/economic_dignity_for_all_agenda/end_child_poverty_act/in_effect.yaml +8 -0
  16. policyengine_us/parameters/gov/contrib/ctc/per_child_phase_out/avoid_overlap.yaml +7 -0
  17. policyengine_us/parameters/gov/contrib/harris/capital_gains/rates.yaml +12 -0
  18. policyengine_us/parameters/gov/contrib/harris/capital_gains/thresholds.yaml +168 -0
  19. policyengine_us/parameters/gov/contrib/states/ri/ctc/age_limit.yaml +9 -0
  20. policyengine_us/parameters/gov/contrib/states/ri/ctc/amount.yaml +9 -0
  21. policyengine_us/parameters/gov/contrib/states/ri/ctc/in_effect.yaml +9 -0
  22. policyengine_us/parameters/gov/contrib/states/ri/ctc/phaseout/rate.yaml +9 -0
  23. policyengine_us/parameters/gov/contrib/states/ri/ctc/phaseout/threshold.yaml +23 -0
  24. policyengine_us/parameters/gov/contrib/states/ri/ctc/refundability/cap.yaml +9 -0
  25. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/age_limit.yaml +9 -0
  26. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/amount.yaml +9 -0
  27. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/age_limit/in_effect.yaml +9 -0
  28. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/age_limit/threshold.yaml +9 -0
  29. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/amount.yaml +15 -0
  30. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/in_effect.yaml +9 -0
  31. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/phaseout/rate.yaml +9 -0
  32. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/phaseout/threshold.yaml +23 -0
  33. policyengine_us/parameters/gov/dhs/immigration/qualified_noncitizen_status.yaml +18 -0
  34. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +60 -51
  35. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +60 -51
  36. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/earned.yaml +13 -0
  37. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/unearned.yaml +23 -0
  38. policyengine_us/parameters/gov/irs/ald/student_loan_interest/reduction/start.yaml +7 -1
  39. policyengine_us/parameters/gov/irs/capital_gains/rates.yaml +17 -0
  40. policyengine_us/parameters/gov/irs/capital_gains/thresholds.yaml +182 -0
  41. policyengine_us/parameters/gov/irs/credits/ctc/amount/base.yaml +14 -9
  42. policyengine_us/parameters/gov/irs/credits/ctc/refundable/individual_max.yaml +14 -7
  43. policyengine_us/parameters/gov/irs/credits/eitc/max.yaml +73 -81
  44. policyengine_us/parameters/gov/irs/deductions/qbi/phase_out/start.yaml +19 -7
  45. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/amount.yaml +10 -52
  46. policyengine_us/parameters/gov/irs/deductions/standard/amount.yaml +16 -59
  47. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/catch_up/limit/401k.yaml +8 -1
  48. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/catch_up/limit/ira.yaml +7 -0
  49. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml +6 -0
  50. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/ira.yaml +5 -0
  51. policyengine_us/parameters/gov/irs/income/amt/exemption/amount.yaml +15 -59
  52. policyengine_us/parameters/gov/irs/income/amt/exemption/phase_out/start.yaml +11 -60
  53. policyengine_us/parameters/gov/irs/income/bracket.yaml +114 -213
  54. policyengine_us/parameters/gov/local/tx/harris/rides/age_threshold.yaml +13 -0
  55. policyengine_us/parameters/gov/local/tx/harris/rides/customer_payment_rate.yaml +12 -0
  56. policyengine_us/parameters/gov/states/ca/tax/income/agi/subtractions.yaml +1 -0
  57. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/joint.yaml +10 -0
  58. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/single.yaml +10 -0
  59. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/joint.yaml +10 -0
  60. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/single.yaml +10 -0
  61. policyengine_us/parameters/gov/states/co/tax/income/credits/refundable.yaml +11 -0
  62. policyengine_us/parameters/gov/states/co/tax/income/credits/sales_tax_refund/amount/scale.yaml +1 -1
  63. policyengine_us/parameters/gov/states/co/tax/income/credits/tabor/joint.yaml +12 -0
  64. policyengine_us/parameters/gov/states/co/tax/income/credits/tabor/single.yaml +12 -0
  65. policyengine_us/parameters/gov/states/de/tax/income/credits/refundable.yaml +2 -2
  66. policyengine_us/parameters/gov/states/de/tax/income/credits/relief_rebate/amount.yaml +1 -1
  67. policyengine_us/parameters/gov/states/ga/tax/income/credits/itemizer/amount.yaml +14 -0
  68. policyengine_us/parameters/gov/states/ga/tax/income/credits/non_refundable.yaml +8 -2
  69. policyengine_us/parameters/gov/states/ga/tax/income/credits/surplus_tax_rebate/amount.yaml +5 -5
  70. policyengine_us/parameters/gov/states/hi/tax/income/alternative_tax/availability.yaml +2 -3
  71. policyengine_us/parameters/gov/states/hi/tax/income/credits/act_115_rebate/joint.yaml +20 -0
  72. policyengine_us/parameters/gov/states/hi/tax/income/credits/act_115_rebate/single.yaml +20 -0
  73. policyengine_us/parameters/gov/states/hi/tax/income/credits/refundable.yaml +6 -0
  74. policyengine_us/parameters/gov/states/id/tax/income/credits/2022_rebate/floor.yaml +1 -1
  75. policyengine_us/parameters/gov/states/id/tax/income/credits/2022_rebate/rate.yaml +1 -1
  76. policyengine_us/parameters/gov/states/id/tax/income/credits/refundable.yaml +4 -4
  77. policyengine_us/parameters/gov/states/id/tax/income/credits/special_seasonal_rebate/floor.yaml +5 -5
  78. policyengine_us/parameters/gov/states/id/tax/income/credits/special_seasonal_rebate/rate.yaml +1 -1
  79. policyengine_us/parameters/gov/states/il/tax/income/credits/income_tax_rebate/amount/dependent.yaml +10 -0
  80. policyengine_us/parameters/gov/states/il/tax/income/credits/income_tax_rebate/amount/joint.yaml +20 -0
  81. policyengine_us/parameters/gov/states/il/tax/income/credits/income_tax_rebate/amount/other.yaml +20 -0
  82. policyengine_us/parameters/gov/states/il/tax/income/credits/income_tax_rebate/max_dependents.yaml +10 -0
  83. policyengine_us/parameters/gov/states/il/tax/income/credits/refundable.yaml +5 -0
  84. policyengine_us/parameters/gov/states/in/tax/income/credits/automatic_refund_rebate/amount/additional.yaml +10 -0
  85. policyengine_us/parameters/gov/states/in/tax/income/credits/automatic_refund_rebate/amount/base.yaml +12 -0
  86. policyengine_us/parameters/gov/states/in/tax/income/credits/refundable.yaml +6 -1
  87. policyengine_us/parameters/gov/states/ma/dta/tcap/gross_income/earned.yaml +2 -2
  88. policyengine_us/parameters/gov/states/ma/eec/ccfa/income/countable_income/sources.yaml +3 -3
  89. policyengine_us/parameters/gov/states/ma/tax/income/credits/refundable.yaml +12 -0
  90. policyengine_us/parameters/gov/states/ma/tax/income/credits/taxpayer_refund_rebate/rate.yaml +10 -0
  91. policyengine_us/parameters/gov/states/me/tax/income/credits/refundable.yaml +6 -0
  92. policyengine_us/parameters/gov/states/me/tax/income/credits/relief_rebate/amount.yaml +10 -0
  93. policyengine_us/parameters/gov/states/me/tax/income/credits/relief_rebate/income_limit.yaml +21 -0
  94. policyengine_us/parameters/gov/states/mn/tax/income/credits/cwfc/ctc/age_limit.yaml +14 -0
  95. policyengine_us/parameters/gov/states/mt/tax/income/credits/non_refundable.yaml +1 -4
  96. policyengine_us/parameters/gov/states/mt/tax/income/credits/rebate/amount.yaml +5 -5
  97. policyengine_us/parameters/gov/states/nm/tax/income/modified_gross_income.yaml +0 -1
  98. policyengine_us/parameters/gov/states/pa/tax/income/credits/eitc/match.yaml +10 -0
  99. policyengine_us/parameters/gov/states/pa/tax/income/credits/refundable.yaml +6 -0
  100. policyengine_us/parameters/gov/states/pa/tax/income/forgiveness/base.yaml +0 -1
  101. policyengine_us/parameters/gov/states/pa/tax/income/forgiveness/dependent_rate.yaml +0 -1
  102. policyengine_us/parameters/gov/states/pa/tax/income/forgiveness/eligibility_income_sources.yaml +1 -1
  103. policyengine_us/parameters/gov/states/pa/tax/income/forgiveness/rate_increment.yaml +0 -1
  104. policyengine_us/parameters/gov/states/pa/tax/income/forgiveness/tax_back.yaml +0 -1
  105. policyengine_us/parameters/gov/states/pa/tax/income/rate.yaml +0 -1
  106. policyengine_us/parameters/gov/states/ri/tax/income/credits/child_tax_rebate/amount.yaml +1 -1
  107. policyengine_us/parameters/gov/states/ri/tax/income/credits/child_tax_rebate/limit/age.yaml +1 -1
  108. policyengine_us/parameters/gov/states/ri/tax/income/credits/child_tax_rebate/limit/child.yaml +1 -1
  109. policyengine_us/parameters/gov/states/ri/tax/income/credits/child_tax_rebate/limit/income.yaml +5 -5
  110. policyengine_us/parameters/gov/states/ri/tax/income/credits/refundable.yaml +1 -4
  111. policyengine_us/parameters/gov/states/sc/tax/income/credits/2022_rebate/amount.yaml +12 -0
  112. policyengine_us/parameters/gov/states/sc/tax/income/credits/non_refundable.yaml +7 -1
  113. policyengine_us/parameters/gov/states/tx/dta/csfp/fpg_limit.yaml +10 -0
  114. policyengine_us/parameters/gov/states/tx/fpp/age_threshold.yaml +10 -0
  115. policyengine_us/parameters/gov/states/tx/fpp/annual_benefit.yaml +12 -0
  116. policyengine_us/parameters/gov/states/tx/fpp/fpg_percentage.yaml +15 -0
  117. policyengine_us/parameters/gov/states/tx/tanf/age_threshold/minor_child.yaml +13 -0
  118. policyengine_us/parameters/gov/states/tx/tanf/age_threshold/student_dependent.yaml +13 -0
  119. policyengine_us/parameters/gov/states/tx/tanf/income/deductions/child_support.yaml +14 -0
  120. policyengine_us/parameters/gov/states/tx/tanf/income/deductions/dependent_care.yaml +23 -0
  121. policyengine_us/parameters/gov/states/tx/tanf/income/deductions/work_expense.yaml +13 -0
  122. policyengine_us/parameters/gov/states/tx/tanf/income/disregards/applicant_fraction.yaml +12 -0
  123. policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_cap.yaml +13 -0
  124. policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_months.yaml +14 -0
  125. policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_rate.yaml +13 -0
  126. policyengine_us/parameters/gov/states/tx/tanf/income/sources/earned.yaml +15 -0
  127. policyengine_us/parameters/gov/states/tx/tanf/income/sources/unearned.yaml +28 -0
  128. policyengine_us/parameters/gov/states/tx/tanf/minimum_grant.yaml +13 -0
  129. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/additional_person.yaml +17 -0
  130. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/caretaker_with_second_parent.yaml +81 -0
  131. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/caretaker_without_second_parent.yaml +85 -0
  132. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/non_caretaker.yaml +85 -0
  133. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/recognizable_needs/additional_person.yaml +17 -0
  134. policyengine_us/parameters/gov/states/tx/tanf/needs_standard/recognizable_needs/rate.yaml +17 -0
  135. policyengine_us/parameters/gov/states/tx/tanf/ottanf/payment_amount.yaml +13 -0
  136. policyengine_us/parameters/gov/states/tx/tanf/payment_standard/additional_person.yaml +19 -0
  137. policyengine_us/parameters/gov/states/tx/tanf/payment_standard/caretaker_with_second_parent.yaml +105 -0
  138. policyengine_us/parameters/gov/states/tx/tanf/payment_standard/caretaker_without_second_parent.yaml +112 -0
  139. policyengine_us/parameters/gov/states/tx/tanf/payment_standard/non_caretaker.yaml +111 -0
  140. policyengine_us/parameters/gov/states/tx/tanf/resources/resource_limit.yaml +13 -0
  141. policyengine_us/parameters/gov/states/tx/tanf/resources/vehicle_exemption.yaml +11 -0
  142. policyengine_us/parameters/gov/states/tx/twc/README.md +1 -0
  143. policyengine_us/parameters/gov/states/tx/twc/ccs/README.md +1 -0
  144. policyengine_us/parameters/gov/states/tx/twc/ccs/age_threshold/child.yaml +11 -0
  145. policyengine_us/parameters/gov/states/tx/twc/ccs/age_threshold/disabled_child.yaml +11 -0
  146. policyengine_us/parameters/gov/states/tx/twc/ccs/age_threshold/infant.yaml +11 -0
  147. policyengine_us/parameters/gov/states/tx/twc/ccs/age_threshold/school_age.yaml +11 -0
  148. policyengine_us/parameters/gov/states/tx/twc/ccs/age_threshold/toddler.yaml +11 -0
  149. policyengine_us/parameters/gov/states/tx/twc/ccs/assets/limit.yaml +11 -0
  150. policyengine_us/parameters/gov/states/tx/twc/ccs/copay/rate/additional_child.yaml +13 -0
  151. policyengine_us/parameters/gov/states/tx/twc/ccs/copay/rate/first_child.yaml +55 -0
  152. policyengine_us/parameters/gov/states/tx/twc/ccs/copay/rate/maximum.yaml +11 -0
  153. policyengine_us/parameters/gov/states/tx/twc/ccs/income/smi_rate.yaml +11 -0
  154. policyengine_us/parameters/gov/states/tx/twc/ccs/income/sources.yaml +23 -0
  155. policyengine_us/parameters/gov/states/tx/twc/ccs/payment/rates.yaml +10459 -0
  156. policyengine_us/parameters/gov/states/tx/twc/ccs/region/alamo.yaml +25 -0
  157. policyengine_us/parameters/gov/states/tx/twc/ccs/region/borderplex.yaml +18 -0
  158. policyengine_us/parameters/gov/states/tx/twc/ccs/region/brazos_valley.yaml +19 -0
  159. policyengine_us/parameters/gov/states/tx/twc/ccs/region/cameron_county.yaml +13 -0
  160. policyengine_us/parameters/gov/states/tx/twc/ccs/region/capital_area.yaml +13 -0
  161. policyengine_us/parameters/gov/states/tx/twc/ccs/region/central_texas.yaml +19 -0
  162. policyengine_us/parameters/gov/states/tx/twc/ccs/region/coastal_bend.yaml +24 -0
  163. policyengine_us/parameters/gov/states/tx/twc/ccs/region/concho_valley.yaml +25 -0
  164. policyengine_us/parameters/gov/states/tx/twc/ccs/region/dallas_county.yaml +13 -0
  165. policyengine_us/parameters/gov/states/tx/twc/ccs/region/deep_east.yaml +24 -0
  166. policyengine_us/parameters/gov/states/tx/twc/ccs/region/east_texas.yaml +26 -0
  167. policyengine_us/parameters/gov/states/tx/twc/ccs/region/golden_crescent.yaml +19 -0
  168. policyengine_us/parameters/gov/states/tx/twc/ccs/region/gulf_coast.yaml +25 -0
  169. policyengine_us/parameters/gov/states/tx/twc/ccs/region/heart_of_texas.yaml +18 -0
  170. policyengine_us/parameters/gov/states/tx/twc/ccs/region/lower_rio.yaml +15 -0
  171. policyengine_us/parameters/gov/states/tx/twc/ccs/region/middle_rio.yaml +21 -0
  172. policyengine_us/parameters/gov/states/tx/twc/ccs/region/north_central.yaml +26 -0
  173. policyengine_us/parameters/gov/states/tx/twc/ccs/region/north_texas.yaml +23 -0
  174. policyengine_us/parameters/gov/states/tx/twc/ccs/region/northeast_texas.yaml +21 -0
  175. policyengine_us/parameters/gov/states/tx/twc/ccs/region/panhandle.yaml +38 -0
  176. policyengine_us/parameters/gov/states/tx/twc/ccs/region/permian_basin.yaml +29 -0
  177. policyengine_us/parameters/gov/states/tx/twc/ccs/region/rural_capital.yaml +21 -0
  178. policyengine_us/parameters/gov/states/tx/twc/ccs/region/south_plains.yaml +27 -0
  179. policyengine_us/parameters/gov/states/tx/twc/ccs/region/south_texas.yaml +15 -0
  180. policyengine_us/parameters/gov/states/tx/twc/ccs/region/southeast.yaml +15 -0
  181. policyengine_us/parameters/gov/states/tx/twc/ccs/region/tarrant_county.yaml +13 -0
  182. policyengine_us/parameters/gov/states/tx/twc/ccs/region/texoma.yaml +15 -0
  183. policyengine_us/parameters/gov/states/tx/twc/ccs/region/west_central.yaml +31 -0
  184. policyengine_us/parameters/gov/states/tx/twc/ccs/work_requirements/single_parent.yaml +11 -0
  185. policyengine_us/parameters/gov/states/tx/twc/ccs/work_requirements/two_parent.yaml +11 -0
  186. policyengine_us/parameters/gov/states/tx/uct/lifeline/fpg_limit.yaml +10 -0
  187. policyengine_us/parameters/gov/states/tx/uct/lifeline/supplement.yaml +10 -0
  188. policyengine_us/parameters/gov/states/va/tax/income/credits/non_refundable.yaml +5 -1
  189. policyengine_us/parameters/gov/states/va/tax/income/rebate/amount.yaml +10 -0
  190. policyengine_us/parameters/gov/territories/pr/tax/income/credits/refundable.yaml +2 -0
  191. policyengine_us/parameters/gov/territories/pr/tax/income/tax_rate/amount.yaml +35 -0
  192. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/caring_dependent_child.yaml +1 -1
  193. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/exempted.yaml +1 -1
  194. policyengine_us/parameters/gov/usda/snap/work_requirements/general/weekly_hours_threshold.yaml +1 -1
  195. policyengine_us/reforms/aca/aca_ptc_additional_bracket.py +2 -2
  196. policyengine_us/reforms/aca/aca_ptc_simplified_bracket.py +2 -2
  197. policyengine_us/reforms/additional_tax_bracket/additional_tax_bracket_reform.py +10 -7
  198. policyengine_us/reforms/biden/budget_2025/capital_gains_tax_increase.py +5 -7
  199. policyengine_us/reforms/congress/tlaib/__init__.py +5 -0
  200. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/__init__.py +9 -0
  201. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.py +237 -0
  202. policyengine_us/reforms/ctc/ctc_minimum_refundable_amount.py +11 -0
  203. policyengine_us/reforms/ctc/ctc_per_child_phase_out.py +36 -3
  204. policyengine_us/reforms/harris/capital_gains/harris_capital_gains.py +7 -7
  205. policyengine_us/reforms/reforms.py +15 -0
  206. policyengine_us/reforms/states/ri/__init__.py +2 -0
  207. policyengine_us/reforms/states/ri/ctc/__init__.py +1 -0
  208. policyengine_us/reforms/states/ri/ctc/ri_ctc_reform.py +207 -0
  209. policyengine_us/reforms/states/ri/exemption/__init__.py +1 -0
  210. policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py +167 -0
  211. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc.yaml +3 -3
  212. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_required_contribution_percentage.yaml +71 -0
  213. policyengine_us/tests/policy/baseline/gov/aca/ptc/integration.yaml +1 -1
  214. policyengine_us/tests/policy/baseline/gov/aca/ptc/separate_esi.yaml +2 -2
  215. policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml +1 -1
  216. policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_eligible.yaml +10 -0
  217. policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_income_eligible.yaml +47 -0
  218. policyengine_us/tests/policy/baseline/gov/fcc/lifeline/lifeline.yaml +19 -0
  219. policyengine_us/tests/policy/baseline/gov/hhs/tanf/tanf_fpg.yaml +53 -0
  220. policyengine_us/tests/policy/baseline/gov/irs/integration/us_itemize.yaml +1 -1
  221. policyengine_us/tests/policy/baseline/gov/local/tx/harris/in_harris_county_tx.yaml +27 -0
  222. policyengine_us/tests/policy/baseline/gov/local/tx/harris/rides/tx_harris_rides_eligible.yaml +35 -0
  223. policyengine_us/tests/policy/baseline/gov/local/tx/harris/rides/tx_harris_rides_subsidy.yaml +32 -0
  224. policyengine_us/tests/policy/baseline/gov/ssa/ssi/integration_tests.yaml +150 -4
  225. policyengine_us/tests/policy/baseline/gov/states/ca/tax/income/integration.yaml +50 -0
  226. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.yaml +64 -0
  227. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.yaml +122 -0
  228. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.yaml +65 -0
  229. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/co_tabor_cash_back.yaml +71 -0
  230. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/integration.yaml +38 -0
  231. policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/credits/ga_itemizer_credit.yaml +44 -0
  232. policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/integration.yaml +47 -0
  233. policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/subtractions/retirement/ga_retirement_exclusion_countable_earned_income.yaml +17 -0
  234. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/alternative_tax/hi_alternative_tax_on_capital_gains_eligible.yaml +0 -8
  235. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.yaml +4 -0
  236. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.yaml +15 -0
  237. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/hi_act_115_rebate.yaml +35 -0
  238. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/integration.yaml +159 -0
  239. policyengine_us/tests/policy/baseline/gov/states/il/tax/income/credits/il_income_tax_rebate.yaml +49 -0
  240. policyengine_us/tests/policy/baseline/gov/states/il/tax/income/credits/il_income_tax_rebate_eligible.yaml +35 -0
  241. policyengine_us/tests/policy/baseline/gov/states/in/tax/income/credits/in_automatic_refund_rebate.yaml +47 -0
  242. policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_fstc.yaml +4 -4
  243. policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_integration.yaml +48 -0
  244. policyengine_us/tests/policy/baseline/gov/states/la/tax/income/credits/cdcc/la_non_refundable_cdcc.yaml +5 -5
  245. policyengine_us/tests/policy/baseline/gov/states/la/tax/income/integration.yaml +58 -0
  246. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction.yaml +13 -13
  247. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction_person.yaml +8 -8
  248. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/ma_eaedc.yaml +2 -2
  249. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/income/deductions/ma_tafdc_dependent_care_deduction_person.yaml +6 -6
  250. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/income/earned/ma_tafdc_partially_disregarded_earned_income.yaml +7 -7
  251. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/integration.yaml +14 -14
  252. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/ma_tafdc.yaml +1 -1
  253. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.yaml +4 -4
  254. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.yaml +20 -20
  255. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa.yaml +7 -7
  256. policyengine_us/tests/policy/baseline/gov/states/ma/tax/income/credits/ma_taxpayer_refund_rebate.yaml +42 -0
  257. policyengine_us/tests/policy/baseline/gov/states/ma/tax/income/integration_ma.yaml +6 -0
  258. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_relief_rebate.yaml +26 -0
  259. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_relief_rebate_eligible.yaml +35 -0
  260. policyengine_us/tests/policy/baseline/gov/states/mn/tax/income/credits/mn_child_and_working_families_credits_ctc_eligible_child.yaml +26 -0
  261. policyengine_us/tests/policy/baseline/gov/states/mn/tax/income/mn_integration.yaml +55 -0
  262. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml +3 -0
  263. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.yaml +8 -8
  264. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +57 -0
  265. policyengine_us/tests/policy/baseline/gov/states/nm/tax/income/integration.yaml +60 -0
  266. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml +4 -4
  267. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +59 -0
  268. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/credits/pa_eitc.yaml +26 -0
  269. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/forgiveness/pa_tax_forgiveness_rate.yaml +5 -11
  270. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/integration.yaml +54 -0
  271. policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/integration.yaml +47 -0
  272. policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/credits/sc_2022_rebate.yaml +76 -0
  273. policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/credits/sc_cdcc.yaml +9 -9
  274. policyengine_us/tests/policy/baseline/gov/states/sc/tax/income/integration.yaml +58 -0
  275. policyengine_us/tests/policy/baseline/gov/states/tx/dta/csfp/tx_dta_csfp_income_eligible.yaml +15 -0
  276. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/integration.yaml +133 -0
  277. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_age_eligible.yaml +39 -0
  278. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_benefit.yaml +39 -0
  279. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_income_eligible.yaml +53 -0
  280. policyengine_us/tests/policy/baseline/gov/states/tx/fpp/tx_fpp_income_limit.yaml +44 -0
  281. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_age_eligible_child.yaml +34 -0
  282. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_assistance_unit_size.yaml +62 -0
  283. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +49 -0
  284. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_child.yaml +34 -0
  285. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_parent.yaml +38 -0
  286. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs.yaml +65 -0
  287. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs_test.yaml +30 -0
  288. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_caretaker_type.yaml +116 -0
  289. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_eligible.yaml +123 -0
  290. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_income_eligible.yaml +69 -0
  291. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_recognizable_needs_test.yaml +54 -0
  292. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_resources_eligible.yaml +44 -0
  293. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_child_support_deduction.yaml +55 -0
  294. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml +54 -0
  295. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/earned/tx_tanf_countable_earned_income.yaml +39 -0
  296. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/earned/tx_tanf_earned_income_after_disregard_person.yaml +36 -0
  297. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/tx_tanf_income_for_budgetary_needs_test.yaml +102 -0
  298. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/unearned/tx_tanf_countable_unearned_income.yaml +49 -0
  299. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml +291 -0
  300. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf.yaml +47 -0
  301. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_crisis_criteria.yaml +17 -0
  302. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml +158 -0
  303. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/resources/tx_tanf_countable_resources.yaml +39 -0
  304. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_regular_tanf.yaml +74 -0
  305. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf.yaml +89 -0
  306. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf_payment_standard.yaml +61 -0
  307. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/copay/tx_ccs_copay.yaml +165 -0
  308. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_asset_eligible.yaml +67 -0
  309. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_eligible.yaml +114 -0
  310. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_eligible_child.yaml +172 -0
  311. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_income_eligible.yaml +65 -0
  312. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_work_exempt.yaml +24 -0
  313. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/eligibility/tx_ccs_work_requirement_eligible.yaml +155 -0
  314. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/payment/tx_ccs_payment_rate.yaml +224 -0
  315. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/tx_ccs.yaml +132 -0
  316. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/tx_ccs_child_age_category.yaml +127 -0
  317. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/tx_ccs_maximum_payment.yaml +141 -0
  318. policyengine_us/tests/policy/baseline/gov/states/tx/twc/ccs/tx_ccs_workforce_board_region.yaml +79 -0
  319. policyengine_us/tests/policy/baseline/gov/states/tx/uct/lifeline/integration.yaml +251 -0
  320. policyengine_us/tests/policy/baseline/gov/states/va/tax/income/integration.yaml +2 -0
  321. policyengine_us/tests/policy/baseline/gov/states/wi/tax/income/integration.yaml +48 -0
  322. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml +31 -0
  323. policyengine_us/tests/policy/baseline/gov/test_categorical_eligibility_vectorization.yaml +41 -0
  324. policyengine_us/tests/policy/baseline/gov/usda/csfp/commodity_supplemental_food_program_eligible.yaml +171 -0
  325. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +2 -2
  326. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.yaml +17 -17
  327. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements/meets_snap_general_work_requirements.yaml +7 -7
  328. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/integration.yaml +6 -6
  329. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/snap_self_employment_expense_deduction.yaml +4 -4
  330. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/snap_self_employment_income_after_expense_deduction.yaml +1 -1
  331. policyengine_us/tests/policy/baseline/gov/usda/snap/integration.yaml +1 -1
  332. policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml +5 -5
  333. policyengine_us/tests/policy/baseline/household/demographic/geographic/in_nyc.yaml +20 -0
  334. policyengine_us/tests/policy/baseline/household/demographic/person/is_citizen_or_legal_immigrant.yaml +55 -0
  335. policyengine_us/tests/policy/contrib/aca/ptc_additional_bracket.yaml +12 -12
  336. policyengine_us/tests/policy/contrib/aca/ptc_simplified_bracket.yaml +24 -24
  337. policyengine_us/tests/policy/contrib/additional_tax_bracket/additional_tax_bracket_reform.yaml +4 -4
  338. policyengine_us/tests/policy/contrib/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.yaml +198 -0
  339. policyengine_us/tests/policy/contrib/congress/tlaib/end_child_poverty_act/integration.yaml +0 -42
  340. policyengine_us/tests/policy/contrib/crfb/senior_deduction_extension.yaml +2 -2
  341. policyengine_us/tests/policy/contrib/ctc/integration.yaml +205 -2
  342. policyengine_us/tests/policy/contrib/states/ri/ctc_reform_test.yaml +321 -0
  343. policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml +117 -0
  344. policyengine_us/variables/gov/aca/ptc/aca_ptc.py +3 -1
  345. policyengine_us/variables/gov/aca/ptc/{aca_ptc_phase_out_rate.py → aca_required_contribution_percentage.py} +2 -2
  346. policyengine_us/variables/gov/ed/pell_grant/efc/pell_grant_simplified_formula_applies.py +1 -2
  347. policyengine_us/variables/gov/fcc/lifeline/is_lifeline_eligible.py +5 -6
  348. policyengine_us/variables/gov/fcc/lifeline/is_lifeline_income_eligible.py +35 -0
  349. policyengine_us/variables/gov/fcc/lifeline/lifeline.py +5 -2
  350. policyengine_us/variables/gov/hhs/head_start/early_head_start.py +2 -1
  351. policyengine_us/variables/gov/hhs/head_start/head_start.py +2 -1
  352. policyengine_us/variables/gov/hhs/head_start/is_head_start_categorically_eligible.py +1 -3
  353. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_earned_income.py +13 -0
  354. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_unearned_income.py +13 -0
  355. policyengine_us/variables/gov/hhs/tanf/tanf_fpg.py +28 -0
  356. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/amt_tax_including_cg.py +5 -9
  357. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/regular_tax_before_credits.py +12 -13
  358. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/capital_gains_excluded_from_taxable_income.py +2 -2
  359. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/capital_gains_tax.py +5 -5
  360. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/dwks19.py +2 -2
  361. policyengine_us/variables/gov/local/tx/harris/in_harris_county_tx.py +12 -0
  362. policyengine_us/variables/gov/local/tx/harris/rides/tx_harris_rides_eligible.py +22 -0
  363. policyengine_us/variables/gov/local/tx/harris/rides/tx_harris_rides_subsidy.py +26 -0
  364. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/is_ssi_spousal_deeming_applies.py +41 -0
  365. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/ssi_income_deemed_from_ineligible_spouse.py +20 -20
  366. policyengine_us/variables/gov/ssa/ssi/ssi.py +22 -1
  367. policyengine_us/variables/gov/ssa/ssi/ssi_amount_if_eligible.py +26 -4
  368. policyengine_us/variables/gov/states/ca/cpuc/care/eligibility/ca_care_categorically_eligible.py +2 -2
  369. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +26 -0
  370. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +27 -0
  371. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker.py +10 -0
  372. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.py +18 -0
  373. policyengine_us/variables/gov/states/co/tax/income/credits/co_tabor_cash_back.py +17 -0
  374. policyengine_us/variables/gov/states/ga/tax/income/credits/ga_itemizer_credit.py +19 -0
  375. policyengine_us/variables/gov/states/ga/tax/income/subtractions/retirement/ga_retirement_exclusion_countable_earned_income.py +5 -2
  376. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.py +1 -1
  377. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.py +14 -0
  378. policyengine_us/variables/gov/states/hi/tax/income/credits/hi_act_115_rebate.py +32 -0
  379. policyengine_us/variables/gov/states/il/tax/income/credits/il_income_tax_rebate.py +27 -0
  380. policyengine_us/variables/gov/states/il/tax/income/credits/il_income_tax_rebate_eligible.py +24 -0
  381. policyengine_us/variables/gov/states/in/tax/income/credits/in_automatic_refund_rebate.py +26 -0
  382. policyengine_us/variables/gov/states/ks/tax/income/credits/ks_fstc.py +1 -1
  383. policyengine_us/variables/gov/states/la/tax/income/credits/cdcc/la_non_refundable_cdcc.py +1 -1
  384. policyengine_us/variables/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction_person.py +1 -1
  385. policyengine_us/variables/gov/states/ma/dta/tcap/tafdc/income/deductions/ma_tafdc_dependent_care_deduction_person.py +1 -1
  386. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.py +3 -1
  387. policyengine_us/variables/gov/states/ma/tax/income/credits/ma_taxpayer_refund_rebate.py +29 -0
  388. policyengine_us/variables/gov/states/me/tax/income/credits/me_relief_rebate.py +16 -0
  389. policyengine_us/variables/gov/states/me/tax/income/credits/me_relief_rebate_eligible.py +17 -0
  390. policyengine_us/variables/gov/states/mn/tax/income/credits/mn_child_and_working_families_credits.py +5 -1
  391. policyengine_us/variables/gov/states/mn/tax/income/credits/mn_child_and_working_families_credits_ctc_eligible_child.py +24 -0
  392. policyengine_us/variables/gov/states/mt/tax/income/credits/rebate/mt_income_tax_rebate.py +1 -2
  393. policyengine_us/variables/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.py +2 -2
  394. policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py +2 -2
  395. policyengine_us/variables/gov/states/pa/tax/income/credits/pa_eitc.py +16 -0
  396. policyengine_us/variables/gov/states/pa/tax/income/forgiveness/pa_tax_forgiveness_rate.py +1 -3
  397. policyengine_us/variables/gov/states/sc/tax/income/credits/cdcc/sc_cdcc.py +1 -1
  398. policyengine_us/variables/gov/states/sc/tax/income/credits/sc_2022_rebate.py +29 -0
  399. policyengine_us/variables/gov/states/tx/dta/csfp/tx_dta_csfp_income_eligible.py +14 -0
  400. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_age_eligible.py +16 -0
  401. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_benefit.py +15 -0
  402. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_eligible.py +18 -0
  403. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_income_eligible.py +18 -0
  404. policyengine_us/variables/gov/states/tx/fpp/tx_fpp_income_limit.py +24 -0
  405. policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_age_eligible_child.py +27 -0
  406. policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_assistance_unit_size.py +18 -0
  407. policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.py +19 -0
  408. policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_child.py +24 -0
  409. policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_parent.py +24 -0
  410. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs.py +57 -0
  411. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs_test.py +21 -0
  412. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_caretaker_type.py +50 -0
  413. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_eligible.py +29 -0
  414. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_income_eligible.py +40 -0
  415. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_recognizable_needs_test.py +23 -0
  416. policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_resources_eligible.py +19 -0
  417. policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_child_support_deduction.py +21 -0
  418. policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py +39 -0
  419. policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_countable_earned_income.py +28 -0
  420. policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_earned_income_after_disregard_person.py +52 -0
  421. policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_gross_earned_income.py +16 -0
  422. policyengine_us/variables/gov/states/tx/tanf/income/tx_tanf_countable_income.py +19 -0
  423. policyengine_us/variables/gov/states/tx/tanf/income/tx_tanf_income_for_budgetary_needs_test.py +47 -0
  424. policyengine_us/variables/gov/states/tx/tanf/income/unearned/tx_tanf_countable_unearned_income.py +27 -0
  425. policyengine_us/variables/gov/states/tx/tanf/income/unearned/tx_tanf_gross_unearned_income.py +16 -0
  426. policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf.py +17 -0
  427. policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf_crisis_criteria.py +21 -0
  428. policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.py +36 -0
  429. policyengine_us/variables/gov/states/tx/tanf/resources/tx_tanf_countable_resources.py +31 -0
  430. policyengine_us/variables/gov/states/tx/tanf/tx_regular_tanf.py +27 -0
  431. policyengine_us/variables/gov/states/tx/tanf/tx_tanf.py +25 -0
  432. policyengine_us/variables/gov/states/tx/tanf/tx_tanf_payment_standard.py +51 -0
  433. policyengine_us/variables/gov/states/tx/twc/ccs/copay/tx_ccs_copay.py +40 -0
  434. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_asset_eligible.py +16 -0
  435. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_eligible.py +28 -0
  436. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_eligible_child.py +22 -0
  437. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_income_eligible.py +19 -0
  438. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_work_exempt.py +26 -0
  439. policyengine_us/variables/gov/states/tx/twc/ccs/eligibility/tx_ccs_work_requirement_eligible.py +44 -0
  440. policyengine_us/variables/gov/states/tx/twc/ccs/payment/tx_ccs_care_schedule.py +18 -0
  441. policyengine_us/variables/gov/states/tx/twc/ccs/payment/tx_ccs_payment_rate.py +36 -0
  442. policyengine_us/variables/gov/states/tx/twc/ccs/payment/tx_ccs_provider_rating.py +21 -0
  443. policyengine_us/variables/gov/states/tx/twc/ccs/payment/tx_ccs_provider_type.py +19 -0
  444. policyengine_us/variables/gov/states/tx/twc/ccs/tx_ccs.py +21 -0
  445. policyengine_us/variables/gov/states/tx/twc/ccs/tx_ccs_child_age_category.py +41 -0
  446. policyengine_us/variables/gov/states/tx/twc/ccs/tx_ccs_countable_income.py +13 -0
  447. policyengine_us/variables/gov/states/tx/twc/ccs/tx_ccs_maximum_payment.py +15 -0
  448. policyengine_us/variables/gov/states/tx/twc/ccs/tx_ccs_workforce_board_region.py +68 -0
  449. policyengine_us/variables/gov/states/tx/uct/lifeline/tx_lifeline_supplement.py +13 -0
  450. policyengine_us/variables/gov/states/wi/tax/income/credits/married_couple/wi_married_couple_credit.py +7 -5
  451. policyengine_us/variables/gov/territories/pr/tax/income/pr_income_tax.py +14 -0
  452. policyengine_us/variables/gov/territories/pr/tax/income/pr_normal_tax.py +16 -0
  453. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +11 -0
  454. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +11 -0
  455. policyengine_us/variables/gov/usda/csfp/commodity_supplemental_food_program_eligible.py +7 -2
  456. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +1 -1
  457. policyengine_us/variables/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.py +3 -1
  458. policyengine_us/variables/gov/usda/snap/eligibility/work_requirements/meets_snap_general_work_requirements.py +3 -1
  459. policyengine_us/variables/gov/usda/snap/income/deductions/self_employment/snap_self_employment_expense_deduction.py +1 -1
  460. policyengine_us/variables/gov/usda/snap/income/deductions/self_employment/snap_self_employment_income_after_expense_deduction.py +1 -1
  461. policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py +5 -1
  462. policyengine_us/variables/household/demographic/geographic/in_nyc.py +12 -3
  463. policyengine_us/variables/household/demographic/person/is_citizen_or_legal_immigrant.py +22 -0
  464. policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py +9 -0
  465. {policyengine_us-1.413.0.dist-info → policyengine_us-1.439.0.dist-info}/METADATA +1 -1
  466. {policyengine_us-1.413.0.dist-info → policyengine_us-1.439.0.dist-info}/RECORD +471 -182
  467. policyengine_us/parameters/gov/contrib/harris/capital_gains/brackets.yaml +0 -194
  468. policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml +0 -188
  469. policyengine_us/parameters/gov/states/tx/index.yaml +0 -4
  470. policyengine_us/parameters/gov/states/tx/tanf/monthly_income_limit.yaml +0 -31
  471. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc_phase_out_rate.yaml +0 -71
  472. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/hi_low_income_household_renters/integration.yaml +0 -61
  473. policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/integration.yaml +0 -45
  474. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf_income_limit.yaml +0 -17
  475. policyengine_us/variables/gov/states/tx/tanf/tx_tanf_income_limit.py +0 -18
  476. /policyengine_us/parameters/gov/aca/{ptc_phase_out_rate.yaml → required_contribution_percentage.yaml} +0 -0
  477. /policyengine_us/variables/gov/states/oh/tax/income/{oh_modifed_agi.py → oh_modified_agi.py} +0 -0
  478. {policyengine_us-1.413.0.dist-info → policyengine_us-1.439.0.dist-info}/WHEEL +0 -0
  479. {policyengine_us-1.413.0.dist-info → policyengine_us-1.439.0.dist-info}/entry_points.txt +0 -0
  480. {policyengine_us-1.413.0.dist-info → policyengine_us-1.439.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_assistance_unit_size(Variable):
5
+ value_type = int
6
+ entity = SPMUnit
7
+ label = "Texas TANF assistance unit size"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-104",
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-220-tanf",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ adds = [
16
+ "tx_tanf_eligible_child",
17
+ "tx_tanf_eligible_parent",
18
+ ]
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_categorically_eligible_person(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ definition_period = MONTH
8
+ label = "Categorically eligible person for Texas TANF"
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-201",
11
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-104",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(person, period, parameters):
16
+ immigration_eligible = person("is_citizen_or_legal_immigrant", period)
17
+ ssi = person("ssi", period)
18
+
19
+ return immigration_eligible & (ssi == 0)
@@ -0,0 +1,24 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_eligible_child(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ definition_period = MONTH
8
+ label = "Eligible child for Texas TANF (included in certified group)"
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-104",
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-220-tanf",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(person, period, parameters):
16
+ # Child must meet age/demographic requirements
17
+ age_eligible = person("tx_tanf_age_eligible_child", period)
18
+
19
+ # And meet inclusion requirements (immigration eligible, not receiving SSI)
20
+ inclusion_requirements = person(
21
+ "tx_tanf_categorically_eligible_person", period
22
+ )
23
+
24
+ return age_eligible & inclusion_requirements
@@ -0,0 +1,24 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_eligible_parent(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ definition_period = MONTH
8
+ label = "Eligible parent for Texas TANF (included in certified group)"
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-104",
11
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-102",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(person, period, parameters):
16
+ # Per § 372.104, parents living in household must be included in certified group
17
+ is_parent = person("is_tax_unit_head_or_spouse", period)
18
+
19
+ # Must meet inclusion requirements
20
+ inclusion_requirements = person(
21
+ "tx_tanf_categorically_eligible_person", period
22
+ )
23
+
24
+ return is_parent & inclusion_requirements
@@ -0,0 +1,57 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_budgetary_needs(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF budgetary needs amount"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/c-110-tanf",
12
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-2",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Budgetary needs varies by caretaker type and household size
18
+ size = spm_unit("tx_tanf_assistance_unit_size", period)
19
+ caretaker_type = spm_unit("tx_tanf_caretaker_type", period)
20
+ p = parameters(period).gov.states.tx.tanf.needs_standard
21
+
22
+ # Determine caretaker type
23
+ non_caretaker = (
24
+ caretaker_type == caretaker_type.possible_values.NON_CARETAKER
25
+ )
26
+ caretaker_without_second = (
27
+ caretaker_type
28
+ == caretaker_type.possible_values.CARETAKER_WITHOUT_SECOND_PARENT
29
+ )
30
+ caretaker_with_second = (
31
+ caretaker_type
32
+ == caretaker_type.possible_values.CARETAKER_WITH_SECOND_PARENT
33
+ )
34
+
35
+ # For sizes <= 15, use table; for sizes > 15, use size 15 + increment
36
+ size_capped = min_(size, 15)
37
+ additional_people = max_(size - 15, 0)
38
+ additional_amount = (
39
+ additional_people * p.budgetary_needs.additional_person
40
+ )
41
+
42
+ # Get base amount for size (capped at 15)
43
+ base_amount = select(
44
+ [non_caretaker, caretaker_without_second, caretaker_with_second],
45
+ [
46
+ p.budgetary_needs.non_caretaker.calc(size_capped),
47
+ p.budgetary_needs.caretaker_without_second_parent.calc(
48
+ size_capped
49
+ ),
50
+ p.budgetary_needs.caretaker_with_second_parent.calc(
51
+ size_capped
52
+ ),
53
+ ],
54
+ default=0,
55
+ )
56
+
57
+ return base_amount + additional_amount
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_budgetary_needs_test(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Meets Texas TANF budgetary needs test"
8
+ definition_period = MONTH
9
+ reference = "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits"
10
+ defined_for = StateCode.TX
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Budgetary needs test applies to applicants (not receiving TANF in last 4 months)
14
+ # Household passes if budgetary needs > income
15
+
16
+ budgetary_needs = spm_unit("tx_tanf_budgetary_needs", period)
17
+ income_for_test = spm_unit(
18
+ "tx_tanf_income_for_budgetary_needs_test", period
19
+ )
20
+
21
+ return budgetary_needs > income_for_test
@@ -0,0 +1,50 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class TxTanfCaretakerType(Enum):
5
+ NON_CARETAKER = "Non-caretaker"
6
+ CARETAKER_WITHOUT_SECOND_PARENT = "Caretaker without second parent"
7
+ CARETAKER_WITH_SECOND_PARENT = "Caretaker with second parent"
8
+
9
+
10
+ class tx_tanf_caretaker_type(Variable):
11
+ value_type = Enum
12
+ possible_values = TxTanfCaretakerType
13
+ default_value = TxTanfCaretakerType.NON_CARETAKER
14
+ entity = SPMUnit
15
+ label = "Texas TANF caretaker type"
16
+ definition_period = MONTH
17
+ reference = (
18
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/c-110-tanf"
19
+ )
20
+ defined_for = StateCode.TX
21
+
22
+ def formula(spm_unit, period, parameters):
23
+ # Caretaker type determines payment standard amount
24
+ # Based on number of parents included in certified group
25
+
26
+ person = spm_unit.members
27
+ eligible_parent = person("tx_tanf_eligible_parent", period)
28
+ eligible_child = person("tx_tanf_eligible_child", period)
29
+
30
+ # Count payment-eligible parents and children
31
+ parent_count = spm_unit.sum(eligible_parent)
32
+ has_eligible_child = spm_unit.any(eligible_child)
33
+
34
+ # Determine caretaker type
35
+ # Non-caretaker: No parents in certified group (child-only cases)
36
+ # Caretaker without second: One parent in certified group
37
+ # Caretaker with second: Two or more parents in certified group
38
+ non_caretaker = has_eligible_child & (parent_count == 0)
39
+ caretaker_without_second = has_eligible_child & (parent_count == 1)
40
+ caretaker_with_second = has_eligible_child & (parent_count >= 2)
41
+
42
+ return select(
43
+ [non_caretaker, caretaker_without_second, caretaker_with_second],
44
+ [
45
+ TxTanfCaretakerType.NON_CARETAKER,
46
+ TxTanfCaretakerType.CARETAKER_WITHOUT_SECOND_PARENT,
47
+ TxTanfCaretakerType.CARETAKER_WITH_SECOND_PARENT,
48
+ ],
49
+ default=TxTanfCaretakerType.NON_CARETAKER,
50
+ )
@@ -0,0 +1,29 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Eligible for Texas Temporary Assistance for Needy Families (TANF)"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-220-tanf",
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-2420-eligibility-requirements",
12
+ "https://www.law.cornell.edu/regulations/texas/title-1/part-15/chapter-372/subchapter-B",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ person = spm_unit.members
18
+
19
+ # Must have at least one eligible child in certified group
20
+ # (eligible child already includes immigration and SSI checks)
21
+ has_eligible_child = spm_unit.any(
22
+ person("tx_tanf_eligible_child", period)
23
+ )
24
+
25
+ # Financial eligibility
26
+ income_eligible = spm_unit("tx_tanf_income_eligible", period)
27
+ resources_eligible = spm_unit("tx_tanf_resources_eligible", period)
28
+
29
+ return has_eligible_child & income_eligible & resources_eligible
@@ -0,0 +1,40 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Meets Texas TANF income test"
8
+ definition_period = MONTH
9
+ reference = "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits"
10
+ defined_for = StateCode.TX
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Texas TANF has two income eligibility tests per § 372.408:
14
+ #
15
+ # Budgetary needs test (§ 372.408 (a)(1)):
16
+ # - Uses income WITHOUT earned income disregards (1/3 or 90%)
17
+ # - Income < budgetary needs amount (100% of needs)
18
+ # - Applies to: NEW applicants only
19
+ #
20
+ # Recognizable needs test (§ 372.408 (a)(2)):
21
+ # - Uses income WITH earned income disregards (1/3 or 90%)
22
+ # - Income < recognizable needs amount (25% of budgetary needs)
23
+ # - Applies to: EVERYONE (applicants AND continuing recipients)
24
+ #
25
+ # Test requirements by enrollment status:
26
+ # - New applicants: Must pass budgetary test AND recognizable test
27
+ # - Continuing recipients: Must pass recognizable test only
28
+
29
+ is_enrolled = spm_unit("is_tanf_enrolled", period)
30
+ passes_budgetary = spm_unit("tx_tanf_budgetary_needs_test", period)
31
+ passes_recognizable = spm_unit(
32
+ "tx_tanf_recognizable_needs_test", period
33
+ )
34
+
35
+ # Apply the appropriate test(s) based on enrollment status
36
+ return where(
37
+ is_enrolled,
38
+ passes_recognizable, # Continuing: recognizable test only
39
+ passes_budgetary & passes_recognizable, # Applicants: BOTH tests
40
+ )
@@ -0,0 +1,23 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_recognizable_needs_test(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Meets Texas TANF recognizable needs test"
8
+ definition_period = MONTH
9
+ reference = "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits"
10
+ defined_for = StateCode.TX
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Recognizable needs test applies to continuing recipients
14
+ # Household passes if recognizable needs > countable income
15
+
16
+ budgetary_needs = spm_unit("tx_tanf_budgetary_needs", period)
17
+ countable_income = spm_unit("tx_tanf_countable_income", period)
18
+ p = parameters(period).gov.states.tx.tanf.needs_standard
19
+
20
+ # Recognizable needs is 25% of budgetary needs
21
+ recognizable_needs = budgetary_needs * p.recognizable_needs.rate
22
+
23
+ return countable_income < recognizable_needs
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_resources_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Meets Texas TANF resource test"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1220-limits",
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-2420-eligibility-requirements",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ countable_resources = spm_unit("tx_tanf_countable_resources", period)
17
+ p = parameters(period).gov.states.tx.tanf.resources
18
+
19
+ return countable_resources <= p.resource_limit
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_child_support_deduction(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF child support deduction"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1420-types-deductions#a-1422-75-disregard-deduction",
12
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-404",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Up to $75/month in child support can be deducted per household
18
+ p = parameters(period).gov.states.tx.tanf.income
19
+ child_support = spm_unit("child_support_received", period)
20
+
21
+ return min_(child_support, p.deductions.child_support)
@@ -0,0 +1,39 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_dependent_care_deduction(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF dependent care deduction"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1420-types-deductions",
12
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-409",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Actual cost of dependent child care, capped at maximum by age
18
+ # Per § 372.409 (a)(3): up to $200/month for children under 2, $175/month for children 2+
19
+
20
+ # Get actual childcare expenses
21
+ childcare_expenses = spm_unit("childcare_expenses", period)
22
+
23
+ # Calculate maximum deduction for dependents (children or incapacitated adults)
24
+ person = spm_unit.members
25
+ is_dependent = person("is_tax_unit_dependent", period)
26
+ is_incapacitated = person("is_incapable_of_self_care", period)
27
+ age = person("monthly_age", period)
28
+
29
+ # Eligible for deduction: dependent child OR incapacitated adult
30
+ eligible_for_deduction = is_dependent | is_incapacitated
31
+
32
+ p = parameters(period).gov.states.tx.tanf.income
33
+ max_per_person = where(
34
+ eligible_for_deduction, p.deductions.dependent_care.calc(age), 0
35
+ )
36
+ total_max_deduction = spm_unit.sum(max_per_person)
37
+
38
+ # Deduction is the lesser of actual expenses or maximum
39
+ return min_(childcare_expenses, total_max_deduction)
@@ -0,0 +1,28 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_countable_earned_income(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF countable earned income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.law.cornell.edu/regulations/texas/1-TAC-372-605",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Sum person-level earned income after work expense and disregards
18
+ earned_after_disregards = spm_unit(
19
+ "tx_tanf_earned_income_after_disregard_person", period
20
+ )
21
+
22
+ # Apply dependent care deduction (per § 372.409 (a)(3))
23
+ dependent_care_deduction = spm_unit(
24
+ "tx_tanf_dependent_care_deduction", period
25
+ )
26
+
27
+ # Countable earned income after all deductions
28
+ return max_(earned_after_disregards - dependent_care_deduction, 0)
@@ -0,0 +1,52 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_earned_income_after_disregard_person(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Texas TANF earned income after disregards (person)"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1420-types-deductions",
12
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-409",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(person, period, parameters):
17
+ # Get gross earned income
18
+ gross_earned = person("tx_tanf_gross_earned_income", period)
19
+ p = parameters(period).gov.states.tx.tanf.income
20
+
21
+ # Step 1: Subtract work expense deduction ($120, not to exceed earnings)
22
+ work_expense = min_(p.deductions.work_expense, gross_earned)
23
+ after_work_expense = max_(gross_earned - work_expense, 0)
24
+
25
+ # Step 2: Apply appropriate earned income disregard
26
+ # Check if household is enrolled in TANF
27
+ spm_unit = person.spm_unit
28
+ is_enrolled = spm_unit("is_tanf_enrolled", period)
29
+
30
+ # For applicants (not enrolled): 1/3 disregard
31
+ applicant_disregard = (
32
+ after_work_expense * p.disregards.applicant_fraction
33
+ )
34
+
35
+ # For continuing recipients (enrolled): 90% disregard (capped at $1,400)
36
+ # Note: This disregard is limited to 4 months per 12-month period (not yet implemented)
37
+ potential_recipient_disregard = (
38
+ after_work_expense * p.disregards.continuing_recipient_rate
39
+ )
40
+ actual_recipient_disregard = min_(
41
+ potential_recipient_disregard,
42
+ p.disregards.continuing_recipient_cap,
43
+ )
44
+
45
+ # Return appropriate value based on enrollment status
46
+ disregard = where(
47
+ is_enrolled,
48
+ actual_recipient_disregard,
49
+ applicant_disregard,
50
+ )
51
+
52
+ return max_(after_work_expense - disregard, 0)
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_gross_earned_income(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Texas TANF gross earned income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.law.cornell.edu/regulations/texas/1-TAC-372-601",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ adds = "gov.states.tx.tanf.income.sources.earned"
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_countable_income(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF countable income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1350-calculating-household-income",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ adds = [
17
+ "tx_tanf_countable_earned_income",
18
+ "tx_tanf_countable_unearned_income",
19
+ ]
@@ -0,0 +1,47 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_income_for_budgetary_needs_test(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF income for budgetary needs test"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-408",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Budgetary needs test uses income WITHOUT earned income disregards (1/3 or 90%)
18
+ # Deductions applied:
19
+ # 1. Work expense ($120)
20
+ # 2. Dependent care costs
21
+ # 3. Child support deduction (from unearned income)
22
+
23
+ person = spm_unit.members
24
+ p = parameters(period).gov.states.tx.tanf.income
25
+
26
+ # Earned income after work expense only (no 1/3 or 90% disregard)
27
+ gross_earned = person("tx_tanf_gross_earned_income", period)
28
+ work_expense = min_(p.deductions.work_expense, gross_earned)
29
+ earned_after_work_expense = max_(gross_earned - work_expense, 0)
30
+
31
+ # Sum across household members
32
+ total_earned_after_work_expense = spm_unit.sum(
33
+ earned_after_work_expense
34
+ )
35
+
36
+ # Apply dependent care deduction
37
+ dependent_care_deduction = spm_unit(
38
+ "tx_tanf_dependent_care_deduction", period
39
+ )
40
+ earned_after_deductions = max_(
41
+ total_earned_after_work_expense - dependent_care_deduction, 0
42
+ )
43
+
44
+ # Add unearned income (already has child support deduction applied)
45
+ unearned_income = spm_unit("tx_tanf_countable_unearned_income", period)
46
+
47
+ return earned_after_deductions + unearned_income
@@ -0,0 +1,27 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_countable_unearned_income(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas TANF countable unearned income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.law.cornell.edu/regulations/texas/1-TAC-372-605",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ # Sum person-level gross unearned income
18
+ gross_unearned = add(
19
+ spm_unit, period, ["tx_tanf_gross_unearned_income"]
20
+ )
21
+
22
+ # Apply household-level child support deduction (up to $75/month per household)
23
+ child_support_deduction = spm_unit(
24
+ "tx_tanf_child_support_deduction", period
25
+ )
26
+
27
+ return max_(gross_unearned - child_support_deduction, 0)
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_tanf_gross_unearned_income(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Texas TANF gross unearned income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-1340-income-limits",
12
+ "https://www.law.cornell.edu/regulations/texas/1-TAC-372-601",
13
+ )
14
+ defined_for = StateCode.TX
15
+
16
+ adds = "gov.states.tx.tanf.income.sources.unearned"
@@ -0,0 +1,17 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_ottanf(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Texas One-Time TANF (OTTANF) payment"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-2410-general-policy"
11
+ defined_for = "tx_ottanf_eligible"
12
+
13
+ def formula(spm_unit, period, parameters):
14
+ p = parameters(period).gov.states.tx.tanf.ottanf
15
+
16
+ # One-time payment of $1,000 divided by 12 for monthly equivalent
17
+ return p.payment_amount / MONTHS_IN_YEAR
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tx_ottanf_crisis_criteria(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ definition_period = MONTH
8
+ label = "Meets Texas OTTANF crisis criteria"
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/texas/1-Tex-Admin-Code-SS-372-802",
11
+ "https://www.hhs.texas.gov/handbooks/texas-works-handbook/a-2420-eligibility-requirements",
12
+ )
13
+ defined_for = StateCode.TX
14
+
15
+ # Crisis criteria per § 372.802 (b):
16
+ # 1. Lost employment in past 2 months (not voluntary quit)
17
+ # 2. Single parent: child lost financial support in last 12 months + parent has recent employment
18
+ # 3. Recent graduate: unemployed/underemployed, not in school, has degree, previously received TANF
19
+ # 4. Currently employed facing crisis: potential loss of transportation/shelter or medical emergency
20
+ #
21
+ # This variable has no formula - user must input whether household meets crisis criteria