policyengine-us 1.424.6__py3-none-any.whl → 1.455.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 (461) hide show
  1. policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
  2. policyengine_us/parameters/gov/aca/state_rating_area_cost.yaml +511 -12
  3. policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml +23 -6
  4. policyengine_us/parameters/gov/bls/cpi/cpi_u.yaml +21 -18
  5. policyengine_us/parameters/gov/bls/cpi/cpi_w.yaml +25 -22
  6. policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/min_age.yaml +1 -1
  7. policyengine_us/parameters/gov/contrib/harris/capital_gains/rates.yaml +12 -0
  8. policyengine_us/parameters/gov/contrib/harris/capital_gains/thresholds.yaml +168 -0
  9. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/age_limit.yaml +9 -0
  10. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/amount.yaml +9 -0
  11. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/amount.yaml +2 -2
  12. policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
  13. policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
  14. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
  15. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +60 -51
  16. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +60 -51
  17. policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
  18. policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
  19. policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
  20. policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
  21. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
  22. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
  23. policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
  24. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
  25. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
  26. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
  27. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
  28. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
  29. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/earned.yaml +13 -0
  30. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/unearned.yaml +23 -0
  31. policyengine_us/parameters/gov/irs/ald/student_loan_interest/reduction/start.yaml +7 -1
  32. policyengine_us/parameters/gov/irs/capital_gains/rates.yaml +17 -0
  33. policyengine_us/parameters/gov/irs/capital_gains/thresholds.yaml +182 -0
  34. policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
  35. policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
  36. policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
  37. policyengine_us/parameters/gov/irs/credits/ctc/amount/base.yaml +14 -9
  38. policyengine_us/parameters/gov/irs/credits/ctc/refundable/individual_max.yaml +14 -7
  39. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
  40. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
  41. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
  42. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
  43. policyengine_us/parameters/gov/irs/credits/eitc/max.yaml +73 -81
  44. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
  45. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
  46. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
  47. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  48. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
  49. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
  50. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
  51. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
  52. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
  53. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
  54. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
  55. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
  56. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
  57. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  58. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
  59. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
  60. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
  61. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
  62. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
  63. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
  64. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
  65. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
  66. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
  67. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
  68. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
  69. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
  70. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
  71. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
  72. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
  73. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
  74. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
  75. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
  76. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
  77. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
  78. policyengine_us/parameters/gov/irs/deductions/qbi/phase_out/start.yaml +19 -7
  79. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
  80. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/amount.yaml +10 -52
  81. policyengine_us/parameters/gov/irs/deductions/standard/amount.yaml +16 -59
  82. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/catch_up/limit/401k.yaml +8 -1
  83. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/catch_up/limit/ira.yaml +7 -0
  84. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/401k.yaml +6 -0
  85. policyengine_us/parameters/gov/irs/gross_income/retirement_contributions/limit/ira.yaml +5 -0
  86. policyengine_us/parameters/gov/irs/income/amt/exemption/amount.yaml +15 -59
  87. policyengine_us/parameters/gov/irs/income/amt/exemption/phase_out/start.yaml +11 -60
  88. policyengine_us/parameters/gov/irs/income/bracket.yaml +114 -213
  89. policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
  90. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
  91. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
  92. policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
  93. policyengine_us/parameters/gov/states/ca/chhs/medi_cal_enrollment_freeze/in_effect.yaml +12 -0
  94. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/joint.yaml +10 -0
  95. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/non_joint.yaml +10 -0
  96. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/joint.yaml +10 -0
  97. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/non_joint.yaml +10 -0
  98. policyengine_us/parameters/gov/states/co/tax/income/credits/refundable.yaml +10 -0
  99. policyengine_us/parameters/gov/states/ga/tax/income/credits/itemizer/amount.yaml +14 -0
  100. policyengine_us/parameters/gov/states/ga/tax/income/credits/non_refundable.yaml +9 -0
  101. policyengine_us/parameters/gov/states/hi/tax/income/alternative_tax/availability.yaml +2 -3
  102. policyengine_us/parameters/gov/states/il/dhs/aabd/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +3 -5
  103. policyengine_us/parameters/gov/states/il/dhs/tanf/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +2 -2
  104. policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
  105. policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
  106. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/household_size.yaml +14 -0
  107. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/income_limit.yaml +15 -0
  108. policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
  109. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
  110. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
  111. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
  112. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
  113. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
  114. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
  115. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
  116. policyengine_us/parameters/gov/states/il/hfs/mpe/eligibility/income_limit.yaml +13 -0
  117. policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
  118. policyengine_us/parameters/gov/states/ma/dta/tcap/gross_income/earned.yaml +2 -2
  119. policyengine_us/parameters/gov/states/ma/eec/ccfa/income/countable_income/sources.yaml +3 -3
  120. policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
  121. policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml +12 -0
  122. policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
  123. policyengine_us/parameters/gov/states/pa/tax/income/credits/eitc/match.yaml +10 -0
  124. policyengine_us/parameters/gov/states/pa/tax/income/credits/refundable.yaml +6 -0
  125. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/amount.yaml +4 -0
  126. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_agi.yaml +6 -2
  127. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_child_age.yaml +6 -2
  128. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/parent_max_earnings.yaml +6 -2
  129. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/amount.yaml +4 -0
  130. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/child_age_threshold.yaml +4 -0
  131. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/rate.yaml +4 -0
  132. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/start.yaml +4 -0
  133. policyengine_us/parameters/gov/states/ut/tax/income/credits/earned_income/rate.yaml +4 -0
  134. policyengine_us/parameters/gov/states/ut/tax/income/credits/military_retirement/rate.yaml +26 -0
  135. policyengine_us/parameters/gov/states/ut/tax/income/credits/non_refundable.yaml +5 -0
  136. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/birth_year.yaml +4 -0
  137. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/max.yaml +4 -0
  138. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/rate.yaml +4 -0
  139. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/threshold.yaml +4 -0
  140. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/rate.yaml +4 -0
  141. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/threshold.yaml +4 -0
  142. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/in_effect.yaml +2 -0
  143. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/personal_exemption.yaml +5 -0
  144. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/rate.yaml +5 -1
  145. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/threshold.yaml +9 -0
  146. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/rate.yaml +4 -0
  147. policyengine_us/parameters/gov/states/ut/tax/income/rate.yaml +3 -0
  148. policyengine_us/parameters/gov/states/va/tax/income/credits/non_refundable.yaml +1 -1
  149. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
  150. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
  151. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
  152. policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
  153. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
  154. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
  155. policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
  156. policyengine_us/parameters/gov/territories/pr/tax/income/credits/refundable.yaml +2 -0
  157. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
  158. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
  159. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
  160. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
  161. policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
  162. policyengine_us/parameters/gov/territories/pr/tax/income/tax_rate/amount.yaml +35 -0
  163. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
  164. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
  165. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
  166. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
  167. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/caring_dependent_child.yaml +1 -1
  168. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/exempted.yaml +1 -1
  169. policyengine_us/parameters/gov/usda/snap/work_requirements/general/weekly_hours_threshold.yaml +1 -1
  170. policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
  171. policyengine_us/reforms/aca/aca_ptc_additional_bracket.py +2 -2
  172. policyengine_us/reforms/aca/aca_ptc_simplified_bracket.py +2 -2
  173. policyengine_us/reforms/additional_tax_bracket/additional_tax_bracket_reform.py +10 -7
  174. policyengine_us/reforms/biden/budget_2025/capital_gains_tax_increase.py +5 -7
  175. policyengine_us/reforms/congress/tlaib/__init__.py +4 -3
  176. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/__init__.py +9 -0
  177. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.py +237 -0
  178. policyengine_us/reforms/ctc/ctc_per_child_phase_out.py +30 -8
  179. policyengine_us/reforms/harris/capital_gains/harris_capital_gains.py +7 -7
  180. policyengine_us/reforms/local/ny/__init__.py +4 -0
  181. policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
  182. policyengine_us/reforms/reforms.py +19 -4
  183. policyengine_us/reforms/states/ri/ctc/ri_ctc_reform.py +32 -1
  184. policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py +38 -8
  185. policyengine_us/reforms/states/ut/__init__.py +3 -0
  186. policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
  187. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc.yaml +3 -3
  188. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_required_contribution_percentage.yaml +71 -0
  189. policyengine_us/tests/policy/baseline/gov/aca/ptc/integration.yaml +1 -1
  190. policyengine_us/tests/policy/baseline/gov/aca/ptc/separate_esi.yaml +2 -2
  191. policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml +1 -1
  192. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/medicaid_enrolled.yaml +105 -0
  193. policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
  194. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
  195. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
  196. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
  197. policyengine_us/tests/policy/baseline/gov/hhs/tanf/tanf_fpg.yaml +53 -0
  198. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
  199. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
  200. policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
  201. policyengine_us/tests/policy/baseline/gov/ssa/ssi/integration_tests.yaml +150 -4
  202. policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
  203. policyengine_us/tests/policy/baseline/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.yaml +59 -5
  204. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
  205. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.yaml +64 -0
  206. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.yaml +122 -0
  207. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.yaml +65 -0
  208. policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/credits/ga_itemizer_credit.yaml +44 -0
  209. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/alternative_tax/hi_alternative_tax_on_capital_gains_eligible.yaml +0 -8
  210. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.yaml +4 -0
  211. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.yaml +15 -0
  212. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/integration.yaml +96 -0
  213. policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +2 -10
  214. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
  215. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
  216. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
  217. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_eligible.yaml +35 -0
  218. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_level.yaml +27 -0
  219. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +116 -0
  220. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
  221. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
  222. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
  223. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
  224. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
  225. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
  226. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
  227. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
  228. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
  229. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
  230. policyengine_us/tests/policy/baseline/gov/states/il/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
  231. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_eligible.yaml +39 -0
  232. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_income_eligible.yaml +23 -0
  233. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/integration.yaml +138 -0
  234. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/eligibility/il_smib_eligible.yaml +88 -0
  235. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/integration.yaml +73 -0
  236. policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
  237. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction.yaml +13 -13
  238. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction_person.yaml +8 -8
  239. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/ma_eaedc.yaml +2 -2
  240. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/income/deductions/ma_tafdc_dependent_care_deduction_person.yaml +6 -6
  241. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/income/earned/ma_tafdc_partially_disregarded_earned_income.yaml +7 -7
  242. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/integration.yaml +14 -14
  243. policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/tafdc/ma_tafdc.yaml +1 -1
  244. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.yaml +4 -4
  245. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.yaml +20 -20
  246. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa.yaml +7 -7
  247. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
  248. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_a.yaml +2 -2
  249. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_b.yaml +1 -1
  250. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_c.yaml +1 -1
  251. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  252. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.yaml +8 -8
  253. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/eitc/nj_eitc.yaml +8 -3
  254. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +137 -0
  255. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
  256. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
  257. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml +4 -4
  258. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +141 -0
  259. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/credits/pa_eitc.yaml +26 -0
  260. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
  261. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.yaml +89 -0
  262. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.yaml +50 -0
  263. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
  264. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
  265. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
  266. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
  267. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
  268. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
  269. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
  270. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
  271. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
  272. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
  273. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
  274. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
  275. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml +31 -0
  276. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
  277. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
  278. policyengine_us/tests/policy/baseline/gov/test_categorical_eligibility_vectorization.yaml +41 -0
  279. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
  280. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +77 -6
  281. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
  282. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
  283. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.yaml +17 -17
  284. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements/meets_snap_general_work_requirements.yaml +7 -7
  285. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/integration.yaml +6 -6
  286. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/snap_self_employment_expense_deduction.yaml +4 -4
  287. policyengine_us/tests/policy/baseline/gov/usda/snap/income/deductions/self_employment_income/snap_self_employment_income_after_expense_deduction.yaml +1 -1
  288. policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
  289. policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
  290. policyengine_us/tests/policy/baseline/gov/usda/snap/integration.yaml +1 -1
  291. policyengine_us/tests/policy/baseline/gov/usda/snap/snap.yaml +5 -5
  292. policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
  293. policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
  294. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
  295. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
  296. policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
  297. policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
  298. policyengine_us/tests/policy/contrib/aca/ptc_additional_bracket.yaml +12 -12
  299. policyengine_us/tests/policy/contrib/aca/ptc_simplified_bracket.yaml +12 -12
  300. policyengine_us/tests/policy/contrib/additional_tax_bracket/additional_tax_bracket_reform.yaml +4 -4
  301. policyengine_us/tests/policy/contrib/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.yaml +198 -0
  302. policyengine_us/tests/policy/contrib/crfb/senior_deduction_extension.yaml +2 -2
  303. policyengine_us/tests/policy/contrib/ctc/integration.yaml +6 -6
  304. policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
  305. policyengine_us/tests/policy/contrib/states/ri/ctc_reform_test.yaml +144 -0
  306. policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml +31 -2
  307. policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
  308. policyengine_us/variables/gov/aca/ptc/aca_ptc.py +3 -1
  309. policyengine_us/variables/gov/aca/ptc/{aca_ptc_phase_out_rate.py → aca_required_contribution_percentage.py} +2 -2
  310. policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
  311. policyengine_us/variables/gov/ed/pell_grant/efc/pell_grant_simplified_formula_applies.py +1 -2
  312. policyengine_us/variables/gov/fcc/lifeline/is_lifeline_eligible.py +2 -2
  313. policyengine_us/variables/gov/hhs/head_start/early_head_start.py +2 -1
  314. policyengine_us/variables/gov/hhs/head_start/head_start.py +2 -1
  315. policyengine_us/variables/gov/hhs/head_start/is_head_start_categorically_eligible.py +1 -3
  316. policyengine_us/variables/gov/hhs/medicaid/costs/medicaid_group.py +2 -2
  317. policyengine_us/variables/gov/hhs/medicaid/receives_medicaid.py +17 -0
  318. policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
  319. policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
  320. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
  321. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
  322. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
  323. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
  324. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
  325. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_earned_income.py +13 -0
  326. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_unearned_income.py +13 -0
  327. policyengine_us/variables/gov/hhs/tanf/tanf_fpg.py +28 -0
  328. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/amt_tax_including_cg.py +5 -9
  329. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
  330. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
  331. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/regular_tax_before_credits.py +12 -13
  332. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/capital_gains_excluded_from_taxable_income.py +2 -2
  333. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/capital_gains_tax.py +5 -5
  334. policyengine_us/variables/gov/irs/tax/federal_income/capital_gains/dwks19.py +2 -2
  335. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/is_ssi_spousal_deeming_applies.py +41 -0
  336. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/ssi_income_deemed_from_ineligible_spouse.py +20 -20
  337. policyengine_us/variables/gov/ssa/ssi/ssi.py +22 -1
  338. policyengine_us/variables/gov/ssa/ssi/ssi_amount_if_eligible.py +26 -4
  339. policyengine_us/variables/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.py +25 -4
  340. policyengine_us/variables/gov/states/ca/cpuc/care/eligibility/ca_care_categorically_eligible.py +2 -2
  341. policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
  342. policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
  343. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +26 -0
  344. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +27 -0
  345. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker.py +10 -0
  346. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.py +18 -0
  347. policyengine_us/variables/gov/states/ga/tax/income/credits/ga_itemizer_credit.py +19 -0
  348. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.py +1 -1
  349. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.py +14 -0
  350. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_immigration_status_eligible_person.py +1 -1
  351. policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +1 -1
  352. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
  353. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
  354. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
  355. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +40 -0
  356. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_income_eligible.py +18 -0
  357. policyengine_us/variables/gov/states/il/hfs/fpp/il_fpp_income_level.py +29 -0
  358. policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
  359. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
  360. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
  361. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
  362. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
  363. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
  364. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
  365. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
  366. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
  367. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
  368. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
  369. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
  370. policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
  371. policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
  372. policyengine_us/variables/gov/states/il/hfs/il_hfs_immigration_status_eligible.py +23 -0
  373. policyengine_us/variables/gov/states/il/hfs/mpe/eligibility/il_mpe_income_eligible.py +15 -0
  374. policyengine_us/variables/gov/states/il/hfs/mpe/il_mpe_eligible.py +15 -0
  375. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_categorical_eligible.py +26 -0
  376. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_eligible.py +28 -0
  377. policyengine_us/variables/gov/states/il/hfs/smib/il_smib.py +21 -0
  378. policyengine_us/variables/gov/states/il/hfs/smib/il_smib_person.py +24 -0
  379. policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
  380. policyengine_us/variables/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction_person.py +1 -1
  381. policyengine_us/variables/gov/states/ma/dta/tcap/tafdc/income/deductions/ma_tafdc_dependent_care_deduction_person.py +1 -1
  382. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.py +3 -1
  383. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
  384. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
  385. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
  386. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
  387. policyengine_us/variables/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.py +2 -2
  388. policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +7 -1
  389. policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
  390. policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py +2 -2
  391. policyengine_us/variables/gov/states/pa/tax/income/credits/pa_eitc.py +16 -0
  392. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.py +20 -0
  393. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.py +22 -0
  394. policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
  395. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
  396. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
  397. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
  398. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
  399. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
  400. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
  401. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
  402. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
  403. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
  404. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
  405. policyengine_us/variables/gov/territories/pr/tax/income/pr_income_tax.py +14 -0
  406. policyengine_us/variables/gov/territories/pr/tax/income/pr_normal_tax.py +16 -0
  407. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +20 -0
  408. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
  409. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
  410. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +17 -0
  411. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
  412. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
  413. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
  414. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
  415. policyengine_us/variables/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.py +3 -1
  416. policyengine_us/variables/gov/usda/snap/eligibility/work_requirements/meets_snap_general_work_requirements.py +3 -1
  417. policyengine_us/variables/gov/usda/snap/income/deductions/self_employment/snap_self_employment_expense_deduction.py +1 -1
  418. policyengine_us/variables/gov/usda/snap/income/deductions/self_employment/snap_self_employment_income_after_expense_deduction.py +1 -1
  419. policyengine_us/variables/gov/usda/snap/income/deductions/snap_dependent_care_deduction.py +5 -1
  420. policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
  421. policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
  422. policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
  423. policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
  424. policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
  425. policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
  426. {policyengine_us-1.424.6.dist-info → policyengine_us-1.455.0.dist-info}/METADATA +2 -2
  427. {policyengine_us-1.424.6.dist-info → policyengine_us-1.455.0.dist-info}/RECORD +441 -253
  428. {policyengine_us-1.424.6.dist-info → policyengine_us-1.455.0.dist-info}/WHEEL +1 -1
  429. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/age_limit.yaml +0 -8
  430. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/amount.yaml +0 -13
  431. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/in_effect.yaml +0 -8
  432. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/min_birth_year.yaml +0 -8
  433. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/amount.yaml +0 -13
  434. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/in_effect.yaml +0 -8
  435. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/max_age.yaml +0 -8
  436. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/min_age.yaml +0 -8
  437. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/rate.yaml +0 -8
  438. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/threshold.yaml +0 -24
  439. policyengine_us/parameters/gov/contrib/harris/capital_gains/brackets.yaml +0 -194
  440. policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml +0 -188
  441. policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
  442. policyengine_us/reforms/congress/tlaib/income_security_package/__init__.py +0 -17
  443. policyengine_us/reforms/congress/tlaib/income_security_package/income_security_package.py +0 -402
  444. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc_phase_out_rate.yaml +0 -71
  445. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/integration.yaml +0 -154
  446. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/state_integration.yaml +0 -115
  447. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/test_individual_acts.yaml +0 -149
  448. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/unit_tests.yaml +0 -272
  449. /policyengine_us/parameters/gov/aca/{ptc_phase_out_rate.yaml → required_contribution_percentage.yaml} +0 -0
  450. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/amount.yaml +0 -0
  451. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/child_benefit/age_limit.yaml +0 -0
  452. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/amount.yaml +0 -0
  453. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/max_age.yaml +0 -0
  454. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/min_age.yaml +0 -0
  455. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/rate.yaml +0 -0
  456. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/start.yaml +0 -0
  457. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/in_effect.yaml +0 -0
  458. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
  459. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
  460. {policyengine_us-1.424.6.dist-info → policyengine_us-1.455.0.dist-info}/entry_points.txt +0 -0
  461. {policyengine_us-1.424.6.dist-info → policyengine_us-1.455.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
1
1
  from policyengine_us.model_api import *
2
2
 
3
3
 
4
- class aca_ptc_phase_out_rate(Variable):
4
+ class aca_required_contribution_percentage(Variable):
5
5
  value_type = float
6
6
  entity = TaxUnit
7
7
  label = "ACA PTC phase-out rate (i.e., IRS Form 8962 'applicable figure')"
@@ -11,5 +11,5 @@ class aca_ptc_phase_out_rate(Variable):
11
11
 
12
12
  def formula(tax_unit, period, parameters):
13
13
  magi_frac = tax_unit("aca_magi_fraction", period)
14
- p = parameters(period).gov.aca.ptc_phase_out_rate
14
+ p = parameters(period).gov.aca.required_contribution_percentage
15
15
  return np.interp(magi_frac, p.thresholds, p.amounts)
@@ -0,0 +1,9 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class is_federal_work_study_participant(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ definition_period = YEAR
8
+ label = "Participating in Federal Work Study"
9
+ reference = "https://www.law.cornell.edu/cfr/text/34/part-675"
@@ -12,6 +12,5 @@ class pell_grant_simplified_formula_applies(Variable):
12
12
  head_income = tax_unit("pell_grant_primary_income", period)
13
13
  p = parameters(period).gov.ed.pell_grant.efc.simplified
14
14
  income_eligible = head_income < p.income_limit
15
- total_benefits = add(tax_unit, period, p.benefits)
16
- has_benefits = np.any(total_benefits > 0)
15
+ has_benefits = add(tax_unit, period, p.benefits) > 0
17
16
  return income_eligible & has_benefits & p.applies
@@ -21,8 +21,8 @@ class is_lifeline_eligible(Variable):
21
21
  )
22
22
  categorically_eligible = np.where(
23
23
  is_on_tribal_land,
24
- np.any(tribal_lifeline_programs),
25
- np.any(non_tribal_lifeline_programs),
24
+ tribal_lifeline_programs > 0,
25
+ non_tribal_lifeline_programs > 0,
26
26
  )
27
27
  # Use the new unified income eligibility variable
28
28
  income_eligible = spm_unit("is_lifeline_income_eligible", period)
@@ -4,7 +4,8 @@ from policyengine_us.model_api import *
4
4
  class early_head_start(Variable):
5
5
  value_type = float
6
6
  entity = Person
7
- label = "Amount of Early Head Start benefit"
7
+ label = "Early Head Start"
8
+ unit = USD
8
9
  definition_period = YEAR
9
10
  defined_for = "is_early_head_start_eligible"
10
11
  reference = "https://headstart.gov/program-data/article/head-start-program-facts-fiscal-year-2022"
@@ -4,7 +4,8 @@ from policyengine_us.model_api import *
4
4
  class head_start(Variable):
5
5
  value_type = float
6
6
  entity = Person
7
- label = "Amount of Head Start benefit"
7
+ label = "Head Start"
8
+ unit = USD
8
9
  definition_period = YEAR
9
10
  defined_for = "is_head_start_eligible"
10
11
  reference = "https://headstart.gov/program-data/article/head-start-program-facts-fiscal-year-2022"
@@ -12,7 +12,5 @@ class is_head_start_categorically_eligible(Variable):
12
12
  )
13
13
 
14
14
  def formula(person, period, parameters):
15
- tax_unit = person.tax_unit
16
15
  p = parameters(period).gov.hhs.head_start
17
- programs = add(tax_unit, period, p.categorical_eligibility)
18
- return np.any(programs)
16
+ return add(person.tax_unit, period, p.categorical_eligibility) > 0
@@ -12,10 +12,10 @@ class MedicaidGroup(Enum):
12
12
  class medicaid_group(Variable):
13
13
  """Maps fine-grained Medicaid categories to broader spending groups
14
14
  Precedence order (highest → lowest):
15
- 1. Disabled / SSI / medicallyneedy → AGED_DISABLED
15
+ 1. Disabled / SSI / medically-needy → AGED_DISABLED
16
16
  2. Pregnant → NON_EXPANSION_ADULT
17
17
  3. Parent → NON_EXPANSION_ADULT
18
- 4. Young adult (1920) → NON_EXPANSION_ADULT
18
+ 4. Young adult (19-20) → NON_EXPANSION_ADULT
19
19
  5. Expansion adult → EXPANSION_ADULT
20
20
  6. Any child category → CHILD
21
21
  """
@@ -0,0 +1,17 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class receives_medicaid(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Currently receives Medicaid"
8
+ definition_period = YEAR
9
+ documentation = """
10
+ Input variable indicating a person currently has Medicaid coverage.
11
+ Used to model continuous coverage for existing enrollees who may no
12
+ longer meet eligibility criteria under new rules (e.g., CA undocumented
13
+ immigrant enrollment freeze starting 2026).
14
+
15
+ This differs from medicaid_enrolled which is computed based on
16
+ eligibility and takeup rate.
17
+ """
@@ -0,0 +1,30 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class medicare_cost(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Medicare cost"
8
+ documentation = (
9
+ "Annual value of Medicare benefits received. Calculated as total "
10
+ "Medicare spending on behalf of the beneficiary minus premiums paid. "
11
+ "This represents the net benefit value of Medicare coverage."
12
+ )
13
+ unit = USD
14
+ definition_period = YEAR
15
+ reference = "https://www.cms.gov/medicare"
16
+ defined_for = "medicare_enrolled"
17
+
18
+ def formula(person, period, parameters):
19
+ # Total Medicare spending on behalf of beneficiary
20
+ per_capita_spending = parameters(
21
+ period
22
+ ).calibration.gov.hhs.medicare.per_capita_cost
23
+
24
+ # Premiums paid by beneficiary
25
+ part_a_premium = person("base_part_a_premium", period)
26
+ part_b_premium = person("income_adjusted_part_b_premium", period)
27
+ total_premiums = part_a_premium + part_b_premium
28
+
29
+ # Net benefit = spending - premiums
30
+ return max_(per_capita_spending - total_premiums, 0)
@@ -0,0 +1,14 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class medicare_enrolled(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Medicare enrolled"
8
+ documentation = (
9
+ "Whether the person is enrolled in Medicare (Part A and/or Part B)"
10
+ )
11
+ definition_period = YEAR
12
+ reference = "https://www.cms.gov/medicare"
13
+ defined_for = "is_medicare_eligible"
14
+ default_value = True # Most Medicare-eligible people are enrolled
@@ -0,0 +1,32 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class base_part_a_premium(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Medicare Part A Base Premium"
8
+ unit = USD
9
+ documentation = (
10
+ "Annual Medicare Part A premium. Most people (99%) qualify for "
11
+ "premium-free Part A with 40+ quarters of Medicare-covered employment. "
12
+ "Those with 30-39 quarters pay a reduced premium, and those with "
13
+ "fewer than 30 quarters pay the full premium."
14
+ )
15
+ definition_period = YEAR
16
+ reference = "https://www.cms.gov/newsroom/fact-sheets/2025-medicare-parts-b-premiums-and-deductibles"
17
+ defined_for = "is_medicare_eligible"
18
+
19
+ def formula(person, period, parameters):
20
+ p = parameters(period).gov.hhs.medicare.part_a
21
+ quarters_covered = person("medicare_quarters_of_coverage", period)
22
+
23
+ premium_free_part_a = person("is_premium_free_part_a", period)
24
+ quarters_above_reduced_premium_threshold = (
25
+ quarters_covered >= p.reduced_premium_quarters_threshold
26
+ )
27
+ premium_amount = where(
28
+ quarters_above_reduced_premium_threshold,
29
+ p.reduced_premium,
30
+ p.full_premium,
31
+ )
32
+ return where(premium_free_part_a, 0, premium_amount) * MONTHS_IN_YEAR
@@ -0,0 +1,22 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class is_premium_free_part_a(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Qualifies for premium-free Part A"
8
+ documentation = (
9
+ "Whether the person qualifies for premium-free Medicare Part A "
10
+ "based on having 40 or more quarters of Medicare-covered employment. "
11
+ "Approximately 99% of Medicare beneficiaries qualify for premium-free Part A."
12
+ )
13
+ definition_period = YEAR
14
+ reference = (
15
+ "https://www.medicare.gov/basics/costs/medicare-costs/part-a-costs"
16
+ )
17
+ defined_for = "is_medicare_eligible"
18
+
19
+ def formula(person, period, parameters):
20
+ p = parameters(period).gov.hhs.medicare.part_a
21
+ quarters = person("medicare_quarters_of_coverage", period)
22
+ return quarters >= p.premium_free_quarters_threshold
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class medicare_quarters_of_coverage(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Medicare quarters of coverage"
8
+ documentation = (
9
+ "Number of quarters of Medicare-covered employment. Most people have "
10
+ "40+ quarters and qualify for premium-free Part A. Those with 30-39 "
11
+ "quarters pay a reduced premium, and those with fewer than 30 quarters "
12
+ "pay the full premium."
13
+ )
14
+ definition_period = YEAR
15
+
16
+ adds = "gov.hhs.medicare.part_a.default_quarters_of_coverage"
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class base_part_b_premium(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Medicare Part B Base Premium"
8
+ unit = USD
9
+ documentation = "Medicare Part B Premium."
10
+ definition_period = YEAR
11
+ defined_for = "is_medicare_eligible"
12
+
13
+ def formula(person, period, parameters):
14
+ p = parameters(period).gov.hhs.medicare.part_b
15
+ # base_premium is a monthly amount, multiply by MONTHS_IN_YEAR for annual
16
+ return p.base_premium * MONTHS_IN_YEAR
@@ -0,0 +1,55 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class income_adjusted_part_b_premium(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Medicare Part B premium (income-adjusted)"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ defined_for = "is_medicare_eligible"
11
+ reference = "https://www.medicare.gov/your-medicare-costs/part-b-costs"
12
+ documentation = "Medicare Part B premium adjusted for income (IRMAA). Based on modified adjusted gross income from 2 years prior."
13
+
14
+ def formula(person, period, parameters):
15
+
16
+ tax_unit = person.tax_unit
17
+ filing_status = tax_unit("filing_status", period)
18
+ # Medicare Part B IRMAA is based on MAGI from 2 years prior
19
+ # MAGI = AGI + tax-exempt interest
20
+ prior_period = period.offset(-2, "year")
21
+ agi = tax_unit("adjusted_gross_income", prior_period)
22
+ tax_exempt_interest = tax_unit(
23
+ "tax_exempt_interest_income", prior_period
24
+ )
25
+ magi = agi + tax_exempt_interest
26
+ base = person("base_part_b_premium", period)
27
+
28
+ # Build boolean masks for each status
29
+ status = filing_status.possible_values
30
+ statuses = [
31
+ status.SINGLE,
32
+ status.JOINT,
33
+ status.HEAD_OF_HOUSEHOLD,
34
+ status.SURVIVING_SPOUSE,
35
+ status.SEPARATE,
36
+ ]
37
+ in_status = [filing_status == s for s in statuses]
38
+
39
+ p = parameters(period).gov.hhs.medicare.part_b.irmaa
40
+
41
+ irmaa_amount = select(
42
+ in_status,
43
+ [
44
+ p.single.calc(magi),
45
+ p.joint.calc(magi),
46
+ p.head_of_household.calc(magi),
47
+ p.surviving_spouse.calc(magi),
48
+ p.separate.calc(magi),
49
+ ],
50
+ )
51
+
52
+ # IRMAA amounts are monthly, multiply by MONTHS_IN_YEAR to get annual
53
+ # Base is already annual
54
+ annual_irmaa = irmaa_amount * MONTHS_IN_YEAR
55
+ return base + annual_irmaa
@@ -0,0 +1,13 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tanf_gross_earned_income(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = (
8
+ "Temporary Assistance for Needy Families (TANF) gross earned income"
9
+ )
10
+ unit = USD
11
+ definition_period = MONTH
12
+
13
+ adds = "gov.hhs.tanf.cash.income.sources.earned"
@@ -0,0 +1,13 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tanf_gross_unearned_income(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = (
8
+ "Temporary Assistance for Needy Families (TANF) gross unearned income"
9
+ )
10
+ unit = USD
11
+ definition_period = MONTH
12
+
13
+ adds = "gov.hhs.tanf.cash.income.sources.unearned"
@@ -0,0 +1,28 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class tanf_fpg(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "TANF federal poverty guideline"
8
+ unit = USD
9
+ documentation = (
10
+ "The federal poverty guideline used to determine TANF eligibility."
11
+ )
12
+ definition_period = MONTH
13
+ reference = "https://www.law.cornell.edu/uscode/text/42/9902"
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ # We can use tanf_unit_size for more accurate model in the future
17
+ n = spm_unit("spm_unit_size", period.this_year)
18
+ state_group = spm_unit.household("state_group_str", period.this_year)
19
+ year = period.start.year
20
+ month = period.start.month
21
+ if month >= 10:
22
+ instant_str = f"{year}-10-01"
23
+ else:
24
+ instant_str = f"{year - 1}-10-01"
25
+ p_fpg = parameters(instant_str).gov.hhs.fpg
26
+ p1 = p_fpg.first_person[state_group] / MONTHS_IN_YEAR
27
+ pn = p_fpg.additional_person[state_group] / MONTHS_IN_YEAR
28
+ return p1 + pn * (n - 1)
@@ -34,7 +34,7 @@ class amt_tax_including_cg(Variable):
34
34
  income_taxes_at_amt_rates = p.income.amt.brackets.calc(excess_income)
35
35
  # Line 19 - First CG tax bracket threshold
36
36
  filing_status = tax_unit("filing_status", period)
37
- cg_bracket = p.capital_gains.brackets.thresholds["1"][filing_status]
37
+ cg_bracket = p.capital_gains.thresholds["1"][filing_status]
38
38
  # Line 20 - Schedule D Line 14
39
39
  lt_capital_loss_carryover = tax_unit("dwks14", period)
40
40
  # Line 21 - Line 20 minus Line 19
@@ -42,7 +42,7 @@ class amt_tax_including_cg(Variable):
42
42
  # Line 22 - smaller of Line 12 or Line 13
43
43
  smaller_of_income_or_cg = min_(reduced_income, cg_distributions)
44
44
  # Line 23 - smaller of Line 22 or Line 21 (amount is taxed at 0%)
45
- cg_first_rate = p.capital_gains.brackets.rates["1"]
45
+ cg_first_rate = p.capital_gains.rates["1"]
46
46
  disregarded_gains = (
47
47
  min_(smaller_of_income_or_cg, reduced_cg_bracket) * cg_first_rate
48
48
  )
@@ -51,9 +51,7 @@ class amt_tax_including_cg(Variable):
51
51
  smaller_of_income_or_cg - disregarded_gains, 0
52
52
  )
53
53
  # Line 25 - Second CG tax bracket threshold
54
- second_cg_bracket = p.capital_gains.brackets.thresholds["2"][
55
- filing_status
56
- ]
54
+ second_cg_bracket = p.capital_gains.thresholds["2"][filing_status]
57
55
  # Line 26 - same as line 21
58
56
  # Line 27 - Schedule D Line 21
59
57
  loss_limited_net_capital_gains = tax_unit(
@@ -73,16 +71,14 @@ class amt_tax_including_cg(Variable):
73
71
  )
74
72
  # Line 31 - multiply Line 30by second CG tax rate
75
73
  cg_second_bracket_tax = (
76
- capped_income_including_cg * p.capital_gains.brackets.rates["2"]
74
+ capped_income_including_cg * p.capital_gains.rates["2"]
77
75
  )
78
76
  # Line 32 - Line 23 plus Line 30
79
77
  taxed_gains = disregarded_gains + capped_income_including_cg
80
78
  # Line 33 - Line 22 minus Line 32
81
79
  excess_taxed_gains = max_(0, smaller_of_income_or_cg - taxed_gains)
82
80
  # Line 34 - multiply Line 33 by third CG tax rate
83
- cg_third_bracket_tax = (
84
- excess_taxed_gains * p.capital_gains.brackets.rates["3"]
85
- )
81
+ cg_third_bracket_tax = excess_taxed_gains * p.capital_gains.rates["3"]
86
82
  # Line 35 - sum of Line 17, Line 32, Line 33
87
83
  final_taxed_income = excess_income + taxed_gains + excess_taxed_gains
88
84
  # Line 36 Line 12 minus Line 35
@@ -0,0 +1,47 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class amt_exemption(Variable):
5
+ value_type = float
6
+ entity = TaxUnit
7
+ definition_period = YEAR
8
+ label = "Alternative Minimum Tax exemption"
9
+ unit = USD
10
+ documentation = (
11
+ "AMT exemption amount after phase-out and kiddie tax adjustments. "
12
+ "Form 6251, Line 5."
13
+ )
14
+ reference = [
15
+ "https://www.law.cornell.edu/uscode/text/26/55#d", # 26 U.S.C. § 55(d)
16
+ "https://www.irs.gov/instructions/i6251",
17
+ ]
18
+
19
+ def formula(tax_unit, period, parameters):
20
+ p = parameters(period).gov.irs.income.amt
21
+ phase_out = p.exemption.phase_out
22
+ filing_status = tax_unit("filing_status", period)
23
+ amt_income = tax_unit("amt_income", period)
24
+
25
+ # Base exemption amount based on filing status
26
+ base_exemption_amount = p.exemption.amount[filing_status]
27
+
28
+ # Phase-out at higher income levels
29
+ income_excess = max_(0, amt_income - phase_out.start[filing_status])
30
+ exemption_phase_out = phase_out.rate * income_excess
31
+ reduced_exemption_amount = max_(
32
+ 0,
33
+ base_exemption_amount - exemption_phase_out,
34
+ )
35
+
36
+ # A reduced exemption amount is applied to kiddie tax filers
37
+ kiddie_tax_applies = tax_unit("amt_kiddie_tax_applies", period)
38
+ adj_earnings = tax_unit("filer_adjusted_earnings", period)
39
+ child_amount = p.exemption.child.amount
40
+
41
+ exemption_cap = where(
42
+ kiddie_tax_applies,
43
+ adj_earnings + child_amount,
44
+ np.inf,
45
+ )
46
+
47
+ return min_(reduced_exemption_amount, exemption_cap)
@@ -17,28 +17,10 @@ class amt_income_less_exemptions(Variable):
17
17
  taxable_income = tax_unit("taxable_income", period)
18
18
  kiddie_tax_applies = tax_unit("amt_kiddie_tax_applies", period)
19
19
  applied_income = where(kiddie_tax_applies, taxable_income, amt_income)
20
+
20
21
  # Form 6251, Part II top
21
- p = parameters(period).gov.irs.income.amt
22
- phase_out = p.exemption.phase_out
23
- filing_status = tax_unit("filing_status", period)
24
- # Line 5 the exemption amount is based on filing status and
25
- # is phased-out at higher income
26
- base_exemption_amount = p.exemption.amount[filing_status]
27
- income_excess = max_(0, amt_income - phase_out.start[filing_status])
28
- exemption_phase_out = phase_out.rate * income_excess
29
- reduced_exemption_amount = max_(
30
- 0,
31
- (base_exemption_amount - exemption_phase_out),
32
- )
33
- # A reduced exemption amount is applied to kiddie tax filers
34
- adj_earnings = tax_unit("filer_adjusted_earnings", period)
35
- child_amount = p.exemption.child.amount
22
+ # Line 5
23
+ amt_exemption = tax_unit("amt_exemption", period)
36
24
 
37
- exemption_cap = where(
38
- kiddie_tax_applies,
39
- adj_earnings + child_amount,
40
- np.inf,
41
- )
42
- capped_exemption_amount = min_(reduced_exemption_amount, exemption_cap)
43
25
  # Line 6
44
- return max_(0, applied_income - capped_exemption_amount)
26
+ return max_(0, applied_income - amt_exemption)
@@ -10,29 +10,28 @@ class regular_tax_before_credits(Variable):
10
10
  unit = USD
11
11
 
12
12
  def formula(tax_unit, period, parameters):
13
+ p = parameters(period).gov.irs
13
14
  filing_status = tax_unit("filing_status", period)
14
15
  dwks1 = tax_unit("taxable_income", period)
15
16
 
16
- capital_gains = parameters(period).gov.irs.capital_gains.brackets
17
-
18
- dwks16 = min_(capital_gains.thresholds["1"][filing_status], dwks1)
17
+ dwks16 = min_(p.capital_gains.thresholds["1"][filing_status], dwks1)
19
18
  dwks17 = min_(tax_unit("dwks14", period), dwks16)
20
19
  dwks20 = dwks16 - dwks17
21
- lowest_rate_tax = capital_gains.rates["1"] * dwks20
20
+ lowest_rate_tax = p.capital_gains.rates["1"] * dwks20
22
21
  # Break in worksheet lines
23
22
  dwks13 = tax_unit("dwks13", period)
24
23
  dwks21 = min_(dwks1, dwks13)
25
24
  dwks22 = dwks20
26
25
  dwks23 = max_(0, dwks21 - dwks22)
27
- dwks25 = min_(capital_gains.thresholds["2"][filing_status], dwks1)
26
+ dwks25 = min_(p.capital_gains.thresholds["2"][filing_status], dwks1)
28
27
  dwks19 = tax_unit("dwks19", period)
29
28
  dwks26 = min_(dwks19, dwks20)
30
29
  dwks27 = max_(0, dwks25 - dwks26)
31
30
  dwks28 = min_(dwks23, dwks27)
32
- dwks29 = capital_gains.rates["2"] * dwks28
31
+ dwks29 = p.capital_gains.rates["2"] * dwks28
33
32
  dwks30 = dwks22 + dwks28
34
33
  dwks31 = dwks21 - dwks30
35
- dwks32 = capital_gains.rates["3"] * dwks31
34
+ dwks32 = p.capital_gains.rates["3"] * dwks31
36
35
  # Break in worksheet lines
37
36
  dwks33 = min_(
38
37
  tax_unit("dwks09", period),
@@ -43,18 +42,18 @@ class regular_tax_before_credits(Variable):
43
42
  dwks36 = max_(0, dwks34 - dwks1)
44
43
  dwks37 = max_(0, dwks33 - dwks36)
45
44
 
46
- p = parameters(period).gov.irs.income
47
-
48
- dwks38 = p.amt.capital_gains.capital_gain_excess_tax_rate * dwks37
45
+ dwks38 = (
46
+ p.income.amt.capital_gains.capital_gain_excess_tax_rate * dwks37
47
+ )
49
48
  # Break in worksheet lines
50
49
  dwks39 = dwks19 + dwks20 + dwks28 + dwks31 + dwks37
51
50
  dwks40 = dwks1 - dwks39
52
- dwks41 = p.amt.brackets.rates[-1] * dwks40
51
+ dwks41 = p.income.amt.brackets.rates[-1] * dwks40
53
52
 
54
53
  # Compute regular tax using bracket rates and thresholds
55
54
  reg_taxinc = max_(0, dwks19)
56
- bracket_tops = p.bracket.thresholds
57
- bracket_rates = p.bracket.rates
55
+ bracket_tops = p.income.bracket.thresholds
56
+ bracket_rates = p.income.bracket.rates
58
57
  reg_tax = 0
59
58
  bracket_bottom = 0
60
59
  for i in range(1, len(list(bracket_rates.__iter__())) + 1):
@@ -14,15 +14,15 @@ class capital_gains_excluded_from_taxable_income(Variable):
14
14
  )
15
15
 
16
16
  def formula(tax_unit, period, parameters):
17
+ p = parameters(period).gov.irs.capital_gains
17
18
  net_capital_gain = tax_unit("net_capital_gain", period)
18
19
  adjusted_net_capital_gain = tax_unit(
19
20
  "adjusted_net_capital_gain", period
20
21
  )
21
22
  taxable_income = tax_unit("taxable_income", period)
22
23
  filing_status = tax_unit("filing_status", period)
23
- cg = parameters(period).gov.irs.capital_gains.brackets
24
24
  income_taxed_below_first_rate = clip(
25
- taxable_income, 0, cg.thresholds["1"][filing_status]
25
+ taxable_income, 0, p.thresholds["1"][filing_status]
26
26
  )
27
27
  reduced_taxable_income = max_(
28
28
  taxable_income - net_capital_gain,
@@ -27,8 +27,8 @@ class capital_gains_tax(Variable):
27
27
 
28
28
  filing_status = tax_unit("filing_status", period)
29
29
 
30
- first_threshold = cg.brackets.thresholds["1"][filing_status]
31
- second_threshold = cg.brackets.thresholds["2"][filing_status]
30
+ first_threshold = cg.thresholds["1"][filing_status]
31
+ second_threshold = cg.thresholds["2"][filing_status]
32
32
 
33
33
  income_ordinarily_under_second_rate = clip(
34
34
  taxable_income, 0, first_threshold
@@ -55,9 +55,9 @@ class capital_gains_tax(Variable):
55
55
  )
56
56
 
57
57
  main_cg_tax = (
58
- cg_in_first_bracket * cg.brackets.rates["1"]
59
- + cg_in_second_bracket * cg.brackets.rates["2"]
60
- + cg_in_third_bracket * cg.brackets.rates["3"]
58
+ cg_in_first_bracket * cg.rates["1"]
59
+ + cg_in_second_bracket * cg.rates["2"]
60
+ + cg_in_third_bracket * cg.rates["3"]
61
61
  )
62
62
 
63
63
  unrecaptured_s_1250_gain = tax_unit(
@@ -9,11 +9,11 @@ class dwks19(Variable):
9
9
  unit = USD
10
10
 
11
11
  def formula(tax_unit, period, parameters):
12
+ p = parameters(period).gov.irs.capital_gains
12
13
  dwks14 = tax_unit("dwks14", period)
13
- capital_gains = parameters(period).gov.irs.capital_gains.brackets
14
14
  filing_status = tax_unit("filing_status", period)
15
15
  dwks01 = tax_unit("taxable_income", period)
16
- dwks16 = min_(capital_gains.thresholds["1"][filing_status], dwks01)
16
+ dwks16 = min_(p.thresholds["1"][filing_status], dwks01)
17
17
  dwks17 = min_(dwks14, dwks16)
18
18
  dwks10 = tax_unit("dwks10", period)
19
19
  dwks18 = max_(0, dwks01 - dwks10)