policyengine-us 1.439.0__py3-none-any.whl → 1.458.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 (314) hide show
  1. policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
  2. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/in_effect.yaml +9 -0
  3. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/threshold.yaml +9 -0
  4. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/amount.yaml +9 -0
  5. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/in_effect.yaml +9 -0
  6. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/rate.yaml +9 -0
  7. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/threshold.yaml +23 -0
  8. policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
  9. policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
  10. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
  11. policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
  12. policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
  13. policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
  14. policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
  15. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
  16. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
  17. policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
  18. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
  19. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
  20. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
  21. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
  22. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
  23. policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
  24. policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
  25. policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
  26. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
  27. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
  28. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
  29. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
  30. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
  31. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
  32. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
  33. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  34. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
  35. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
  36. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
  37. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
  38. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
  39. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
  40. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
  41. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
  42. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
  43. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  44. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
  45. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
  46. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
  47. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
  48. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
  49. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
  50. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
  51. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
  52. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
  53. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
  54. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
  55. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
  56. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
  57. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
  58. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
  59. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
  60. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
  61. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
  62. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
  63. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
  64. policyengine_us/parameters/gov/irs/deductions/qbi/max/reit_ptp_rate.yaml +13 -0
  65. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
  66. policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
  67. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
  68. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
  69. policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
  70. policyengine_us/parameters/gov/states/ca/chhs/medi_cal_enrollment_freeze/in_effect.yaml +12 -0
  71. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/{single.yaml → non_joint.yaml} +2 -2
  72. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/{single.yaml → non_joint.yaml} +2 -2
  73. policyengine_us/parameters/gov/states/il/dhs/aabd/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +3 -5
  74. policyengine_us/parameters/gov/states/il/dhs/tanf/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +2 -2
  75. policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
  76. policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
  77. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/household_size.yaml +14 -0
  78. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/income_limit.yaml +15 -0
  79. policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
  80. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
  81. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
  82. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
  83. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
  84. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
  85. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
  86. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
  87. policyengine_us/parameters/gov/states/il/hfs/mpe/eligibility/income_limit.yaml +13 -0
  88. policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
  89. policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
  90. policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml +12 -0
  91. policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
  92. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/amount.yaml +4 -0
  93. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_agi.yaml +6 -2
  94. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_child_age.yaml +6 -2
  95. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/parent_max_earnings.yaml +6 -2
  96. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/amount.yaml +4 -0
  97. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/child_age_threshold.yaml +4 -0
  98. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/rate.yaml +4 -0
  99. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/start.yaml +4 -0
  100. policyengine_us/parameters/gov/states/ut/tax/income/credits/earned_income/rate.yaml +4 -0
  101. policyengine_us/parameters/gov/states/ut/tax/income/credits/military_retirement/rate.yaml +26 -0
  102. policyengine_us/parameters/gov/states/ut/tax/income/credits/non_refundable.yaml +5 -0
  103. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/birth_year.yaml +4 -0
  104. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/max.yaml +4 -0
  105. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/rate.yaml +4 -0
  106. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/threshold.yaml +4 -0
  107. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/rate.yaml +4 -0
  108. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/threshold.yaml +4 -0
  109. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/in_effect.yaml +2 -0
  110. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/personal_exemption.yaml +5 -0
  111. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/rate.yaml +5 -1
  112. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/threshold.yaml +9 -0
  113. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/rate.yaml +4 -0
  114. policyengine_us/parameters/gov/states/ut/tax/income/rate.yaml +3 -0
  115. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
  116. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
  117. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
  118. policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
  119. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
  120. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
  121. policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
  122. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
  123. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
  124. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
  125. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
  126. policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
  127. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
  128. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
  129. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
  130. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
  131. policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
  132. policyengine_us/reforms/local/ny/__init__.py +4 -0
  133. policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
  134. policyengine_us/reforms/reforms.py +21 -0
  135. policyengine_us/reforms/state_dependent_exemptions/repeal_state_dependent_exemptions.py +1 -1
  136. policyengine_us/reforms/states/de/__init__.py +3 -0
  137. policyengine_us/reforms/states/de/dependent_credit/de_dependent_credit_reform.py +165 -0
  138. policyengine_us/reforms/states/ut/__init__.py +3 -0
  139. policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
  140. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/medicaid_enrolled.yaml +105 -0
  141. policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
  142. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
  143. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
  144. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
  145. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml +75 -3
  146. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
  147. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
  148. policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
  149. policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
  150. policyengine_us/tests/policy/baseline/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.yaml +59 -5
  151. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
  152. policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +2 -10
  153. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
  154. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
  155. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
  156. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_eligible.yaml +35 -0
  157. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_level.yaml +27 -0
  158. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +116 -0
  159. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
  160. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
  161. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
  162. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
  163. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
  164. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
  165. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
  166. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
  167. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
  168. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
  169. policyengine_us/tests/policy/baseline/gov/states/il/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
  170. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_eligible.yaml +39 -0
  171. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_income_eligible.yaml +23 -0
  172. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/integration.yaml +138 -0
  173. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/eligibility/il_smib_eligible.yaml +88 -0
  174. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/integration.yaml +73 -0
  175. policyengine_us/tests/policy/baseline/gov/states/ky/tax/income/credits/family_size_tax_credit/ky_family_size_tax_credit_rate.yaml +8 -8
  176. policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
  177. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
  178. 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
  179. 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
  180. 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
  181. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  182. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/eitc/nj_eitc.yaml +8 -3
  183. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +137 -0
  184. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
  185. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
  186. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +82 -0
  187. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
  188. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.yaml +89 -0
  189. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.yaml +50 -0
  190. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
  191. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
  192. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
  193. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
  194. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
  195. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
  196. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
  197. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
  198. policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.yaml +10 -6
  199. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
  200. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
  201. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
  202. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
  203. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
  204. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
  205. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
  206. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +75 -4
  207. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
  208. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
  209. policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
  210. policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
  211. policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
  212. policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
  213. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
  214. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
  215. policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
  216. policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
  217. policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
  218. policyengine_us/tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml +25 -1
  219. policyengine_us/tests/policy/contrib/states/de/dependent_credit_reform_test.yaml +210 -0
  220. policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
  221. policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
  222. policyengine_us/variables/gov/hhs/medicaid/costs/medicaid_group.py +2 -2
  223. policyengine_us/variables/gov/hhs/medicaid/receives_medicaid.py +17 -0
  224. policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
  225. policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
  226. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
  227. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
  228. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
  229. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
  230. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
  231. policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py +16 -6
  232. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
  233. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
  234. policyengine_us/variables/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.py +25 -4
  235. policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
  236. policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
  237. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +1 -1
  238. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +1 -1
  239. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_immigration_status_eligible_person.py +1 -1
  240. policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +1 -1
  241. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
  242. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
  243. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
  244. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +40 -0
  245. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_income_eligible.py +18 -0
  246. policyengine_us/variables/gov/states/il/hfs/fpp/il_fpp_income_level.py +29 -0
  247. policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
  248. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
  249. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
  250. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
  251. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
  252. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
  253. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
  254. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
  255. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
  256. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
  257. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
  258. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
  259. policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
  260. policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
  261. policyengine_us/variables/gov/states/il/hfs/il_hfs_immigration_status_eligible.py +23 -0
  262. policyengine_us/variables/gov/states/il/hfs/mpe/eligibility/il_mpe_income_eligible.py +15 -0
  263. policyengine_us/variables/gov/states/il/hfs/mpe/il_mpe_eligible.py +15 -0
  264. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_categorical_eligible.py +26 -0
  265. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_eligible.py +28 -0
  266. policyengine_us/variables/gov/states/il/hfs/smib/il_smib.py +21 -0
  267. policyengine_us/variables/gov/states/il/hfs/smib/il_smib_person.py +24 -0
  268. policyengine_us/variables/gov/states/ky/tax/income/credits/family_size_credit/ky_family_size_tax_credit_rate.py +1 -1
  269. policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
  270. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
  271. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
  272. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
  273. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
  274. policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +7 -1
  275. policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
  276. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.py +20 -0
  277. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.py +22 -0
  278. policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
  279. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
  280. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
  281. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
  282. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
  283. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
  284. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
  285. policyengine_us/variables/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.py +1 -1
  286. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
  287. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
  288. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
  289. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
  290. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +9 -0
  291. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
  292. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
  293. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +6 -0
  294. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
  295. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
  296. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
  297. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
  298. policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
  299. policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
  300. policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
  301. policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
  302. policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
  303. policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
  304. policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py +1 -1
  305. policyengine_us/variables/household/income/spm_unit/spm_unit_tenure_type.py +17 -0
  306. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/METADATA +2 -2
  307. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/RECORD +312 -138
  308. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/WHEEL +1 -1
  309. policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
  310. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +0 -57
  311. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
  312. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
  313. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/entry_points.txt +0 -0
  314. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,39 +1,52 @@
1
1
  # WIC requires each of the following:
2
- # - Either meeting the income test or categorical eligibility,
3
- # - Meeting a demographic test (pregnancy, age, parental status), and
2
+ # - Being in a valid demographic category (pregnant, postpartum, breastfeeding, infant, or child),
3
+ # - Either meeting the income test or categorical eligibility, and
4
4
  # - Being assessed to be at nutritional risk.
5
- - name: Case 1, satisfied all conditions hence is eligible
5
+
6
+ # Unit tests with stubbed inputs
7
+ - name: Case 1, child satisfies all conditions hence is eligible.
6
8
  period: 2022
7
9
  input:
10
+ wic_category: CHILD
8
11
  meets_wic_income_test: true
9
- meets_wic_categorical_eligibility: true
10
12
  is_wic_at_nutritional_risk: true
11
13
  output:
12
14
  is_wic_eligible: true
13
15
 
14
- - name: Case 2, not nutritional risk hence not eligible
16
+ - name: Case 2, healthy adult not eligible even with all other conditions met.
15
17
  period: 2022
16
18
  input:
19
+ wic_category: NONE
17
20
  meets_wic_income_test: true
18
21
  meets_wic_categorical_eligibility: true
19
- is_wic_at_nutritional_risk: false
22
+ is_wic_at_nutritional_risk: true
20
23
  output:
21
24
  is_wic_eligible: false
22
25
 
23
- - name: Case 3, eligible when either income test or categorical passed
26
+ - name: Case 3, child not eligible without income or categorical eligibility.
24
27
  period: 2022
25
28
  input:
26
- meets_wic_income_test: true
29
+ wic_category: CHILD
30
+ meets_wic_income_test: false
27
31
  meets_wic_categorical_eligibility: false
28
32
  is_wic_at_nutritional_risk: true
29
33
  output:
30
- is_wic_eligible: true
34
+ is_wic_eligible: false
31
35
 
32
- - name: Case 4, eligible when either income test or categorical passed
33
- period: 2022
36
+ - name: Case 4, family with adult, infant, and child age 6.
37
+ period: 2024-01
34
38
  input:
35
- meets_wic_income_test: false
36
- meets_wic_categorical_eligibility: true
37
- is_wic_at_nutritional_risk: true
39
+ people:
40
+ person1:
41
+ age: 30
42
+ person2:
43
+ age: 0
44
+ person3:
45
+ age: 6
46
+ spm_units:
47
+ spm_unit:
48
+ members: [person1, person2, person3]
49
+ school_meal_countable_income: 30_000
38
50
  output:
39
- is_wic_eligible: true
51
+ # Adult: not eligible, infant: eligible, age 6: not eligible
52
+ is_wic_eligible: [false, true, false]
@@ -11,3 +11,24 @@
11
11
  state_code: AK
12
12
  output:
13
13
  state_group: AK
14
+
15
+ - name: Contiguous state does not cause empty array indexing error
16
+ period: 2024
17
+ input:
18
+ state_code: TX
19
+ output:
20
+ state_group: CONTIGUOUS_US
21
+
22
+ - name: Hawaii
23
+ period: 2024
24
+ input:
25
+ state_code: HI
26
+ output:
27
+ state_group: HI
28
+
29
+ - name: Puerto Rico
30
+ period: 2024
31
+ input:
32
+ state_code: PR
33
+ output:
34
+ state_group: PR
@@ -0,0 +1,12 @@
1
+ - name: Default is no qualifying coverage
2
+ period: 2024
3
+ input: {}
4
+ output:
5
+ has_bcc_qualifying_coverage: false
6
+
7
+ - name: Has qualifying coverage when set
8
+ period: 2024
9
+ input:
10
+ has_bcc_qualifying_coverage: true
11
+ output:
12
+ has_bcc_qualifying_coverage: true
@@ -0,0 +1,51 @@
1
+ - name: Person below threshold in 2026
2
+ period: 2026
3
+ reforms: policyengine_us.reforms.local.ny.mamdani_income_tax.nyc_mamdani_income_tax
4
+ input:
5
+ gov.local.ny.mamdani_income_tax.in_effect: True
6
+ nyc_taxable_income: 800_000
7
+ in_nyc: true
8
+ output:
9
+ nyc_mamdani_income_tax: 0
10
+
11
+ - name: Person at threshold in 2026
12
+ period: 2026
13
+ reforms: policyengine_us.reforms.local.ny.mamdani_income_tax.nyc_mamdani_income_tax
14
+ input:
15
+ gov.local.ny.mamdani_income_tax.in_effect: True
16
+ nyc_taxable_income: 1_000_000
17
+ in_nyc: true
18
+ output:
19
+ nyc_mamdani_income_tax: 0
20
+
21
+ - name: Person above threshold in 2026
22
+ period: 2026
23
+ reforms: policyengine_us.reforms.local.ny.mamdani_income_tax.nyc_mamdani_income_tax
24
+ input:
25
+ gov.local.ny.mamdani_income_tax.in_effect: True
26
+ nyc_taxable_income: 1_200_000
27
+ in_nyc: true
28
+ output:
29
+ # (1_200_000 - 1_000_000) * 0.02 = 200_000 * 0.02 = 4_000
30
+ nyc_mamdani_income_tax: 4_000
31
+
32
+ - name: Person well above threshold in 2026
33
+ period: 2026
34
+ reforms: policyengine_us.reforms.local.ny.mamdani_income_tax.nyc_mamdani_income_tax
35
+ input:
36
+ gov.local.ny.mamdani_income_tax.in_effect: True
37
+ nyc_taxable_income: 2_000_000
38
+ in_nyc: true
39
+ output:
40
+ # (2_000_000 - 1_000_000) * 0.02 = 1_000_000 * 0.02 = 20_000
41
+ nyc_mamdani_income_tax: 20_000
42
+
43
+ - name: Person not in NYC (no tax)
44
+ period: 2026
45
+ reforms: policyengine_us.reforms.local.ny.mamdani_income_tax.nyc_mamdani_income_tax
46
+ input:
47
+ gov.local.ny.mamdani_income_tax.in_effect: True
48
+ nyc_taxable_income: 1_500_000
49
+ in_nyc: false
50
+ output:
51
+ nyc_mamdani_income_tax: 0
@@ -63,7 +63,7 @@
63
63
  period: 2024
64
64
  input:
65
65
  gov.contrib.repeal_state_dependent_exemptions.in_effect: false
66
- people:
66
+ people:
67
67
  person1:
68
68
  age: 38
69
69
  person2:
@@ -79,3 +79,27 @@
79
79
  state_code: VT
80
80
  output:
81
81
  vt_personal_exemptions: 15_300
82
+
83
+ # Test for KY family size tax credit rate - verifies state_group_str is used correctly
84
+ # This test ensures state_group is derived from state_code, not set explicitly
85
+ - name: Kentucky family size tax credit with reform - state_group derived from state_code
86
+ period: 2024
87
+ reforms: policyengine_us.reforms.state_dependent_exemptions.repeal_state_dependent_exemptions.repeal_state_dependent_exemptions
88
+ input:
89
+ gov.contrib.repeal_state_dependent_exemptions.in_effect: true
90
+ people:
91
+ person1:
92
+ age: 38
93
+ employment_income: 20_000
94
+ tax_units:
95
+ tax_unit:
96
+ members: [person1]
97
+ households:
98
+ household:
99
+ members: [person1]
100
+ state_code: KY
101
+ output:
102
+ # With 20k income vs 15,060 FPG for 1 person in 2024, income/FPG ratio = 132.8%
103
+ # The rate scale: 130% -> 0.1, 133% -> 0
104
+ # Since 132.8% is between 130% and 133%, the rate is 0.1
105
+ ky_family_size_tax_credit_rate: 0.1
@@ -0,0 +1,210 @@
1
+ - name: DE dependent credit reform - restrict to children under 18
2
+ period: 2025
3
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
4
+ input:
5
+ gov.contrib.states.de.dependent_credit.in_effect: true
6
+ gov.contrib.states.de.dependent_credit.amount: 110
7
+ gov.contrib.states.de.dependent_credit.age_limit.in_effect: true
8
+ gov.contrib.states.de.dependent_credit.age_limit.threshold: 18
9
+ people:
10
+ parent:
11
+ age: 40
12
+ employment_income: 60_000
13
+ child1:
14
+ age: 16
15
+ is_tax_unit_dependent: true
16
+ child2:
17
+ age: 20
18
+ is_tax_unit_dependent: true
19
+ tax_units:
20
+ tax_unit:
21
+ members: [parent, child1, child2]
22
+ filing_status: SINGLE
23
+ households:
24
+ household:
25
+ members: [parent, child1, child2]
26
+ state_name: DE
27
+ output:
28
+ # Personal credits (unaffected by dependent credit reform):
29
+ # - 1 head (parent): $110
30
+ # - 1 older dependent (child2, age 20, over age limit 18): $110
31
+ # Dependent credit (subject to phaseout):
32
+ # - 1 eligible dependent (child1, age 16, under age limit 18): $110
33
+ # Total: $110 + $110 + $110 = $330
34
+ de_personal_credit: 330
35
+
36
+ - name: DE dependent credit reform - restrict to children under 13
37
+ period: 2025
38
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
39
+ input:
40
+ gov.contrib.states.de.dependent_credit.in_effect: true
41
+ gov.contrib.states.de.dependent_credit.amount: 110
42
+ gov.contrib.states.de.dependent_credit.age_limit.in_effect: true
43
+ gov.contrib.states.de.dependent_credit.age_limit.threshold: 13
44
+ people:
45
+ parent:
46
+ age: 40
47
+ employment_income: 60_000
48
+ child1:
49
+ age: 10
50
+ is_tax_unit_dependent: true
51
+ child2:
52
+ age: 16
53
+ is_tax_unit_dependent: true
54
+ tax_units:
55
+ tax_unit:
56
+ members: [parent, child1, child2]
57
+ filing_status: SINGLE
58
+ households:
59
+ household:
60
+ members: [parent, child1, child2]
61
+ state_name: DE
62
+ output:
63
+ # Personal credits (unaffected by dependent credit reform):
64
+ # - 1 head (parent): $110
65
+ # - 1 older dependent (child2, age 16, over age limit 13): $110
66
+ # Dependent credit (subject to phaseout):
67
+ # - 1 eligible dependent (child1, age 10, under age limit 13): $110
68
+ # Total: $110 + $110 + $110 = $330
69
+ de_personal_credit: 330
70
+
71
+ - name: DE dependent credit reform - AGI phaseout
72
+ period: 2025
73
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
74
+ input:
75
+ gov.contrib.states.de.dependent_credit.in_effect: true
76
+ gov.contrib.states.de.dependent_credit.amount: 110
77
+ gov.contrib.states.de.dependent_credit.phaseout.threshold.SINGLE: 100_000
78
+ gov.contrib.states.de.dependent_credit.phaseout.rate: 0.05
79
+ people:
80
+ parent:
81
+ age: 40
82
+ employment_income: 120_000
83
+ child1:
84
+ age: 10
85
+ is_tax_unit_dependent: true
86
+ tax_units:
87
+ tax_unit:
88
+ members: [parent, child1]
89
+ filing_status: SINGLE
90
+ households:
91
+ household:
92
+ members: [parent, child1]
93
+ state_name: DE
94
+ output:
95
+ # Personal credits (unaffected by dependent credit reform):
96
+ # - 1 head (parent): $110
97
+ # Dependent credit (subject to phaseout):
98
+ # - 1 eligible dependent (child1, age 10): $110 before phaseout
99
+ # - Phaseout: ($120,000 - $100,000) * 0.05 = $1,000
100
+ # - Dependent credit after phaseout: max($110 - $1,000, 0) = $0
101
+ # Total: $110 + $0 = $110
102
+ de_personal_credit: 110
103
+
104
+ - name: DE dependent credit reform - no age limit
105
+ period: 2025
106
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
107
+ input:
108
+ gov.contrib.states.de.dependent_credit.in_effect: true
109
+ gov.contrib.states.de.dependent_credit.amount: 110
110
+ gov.contrib.states.de.dependent_credit.age_limit.in_effect: false
111
+ people:
112
+ parent:
113
+ age: 40
114
+ employment_income: 60_000
115
+ child1:
116
+ age: 16
117
+ is_tax_unit_dependent: true
118
+ child2:
119
+ age: 25
120
+ is_tax_unit_dependent: true
121
+ tax_units:
122
+ tax_unit:
123
+ members: [parent, child1, child2]
124
+ filing_status: SINGLE
125
+ households:
126
+ household:
127
+ members: [parent, child1, child2]
128
+ state_name: DE
129
+ output:
130
+ # Personal credits (unaffected by dependent credit reform):
131
+ # - 1 head (parent): $110
132
+ # Dependent credit (no age limit, so all dependents are eligible):
133
+ # - 2 eligible dependents (child1, age 16; child2, age 25): $110 * 2 = $220
134
+ # Total: $110 + $220 = $330
135
+ de_personal_credit: 330
136
+
137
+ - name: DE dependent credit reform - married joint with phaseout
138
+ period: 2025
139
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
140
+ input:
141
+ gov.contrib.states.de.dependent_credit.in_effect: true
142
+ gov.contrib.states.de.dependent_credit.amount: 110
143
+ gov.contrib.states.de.dependent_credit.phaseout.threshold.JOINT: 150_000
144
+ gov.contrib.states.de.dependent_credit.phaseout.rate: 0.01
145
+ people:
146
+ head:
147
+ age: 40
148
+ employment_income: 160_000
149
+ spouse:
150
+ age: 38
151
+ child:
152
+ age: 5
153
+ is_tax_unit_dependent: true
154
+ tax_units:
155
+ tax_unit:
156
+ members: [head, spouse, child]
157
+ filing_status: JOINT
158
+ households:
159
+ household:
160
+ members: [head, spouse, child]
161
+ state_name: DE
162
+ output:
163
+ # Personal credits (unaffected by dependent credit reform):
164
+ # - 1 head: $110
165
+ # - 1 spouse: $110
166
+ # Dependent credit (subject to phaseout):
167
+ # - 1 eligible dependent (child, age 5): $110 before phaseout
168
+ # - Phaseout: ($160,000 - $150,000) * 0.01 = $100
169
+ # - Dependent credit after phaseout: max($110 - $100, 0) = $10
170
+ # Total: $110 + $110 + $10 = $230
171
+ de_personal_credit: 230
172
+
173
+ - name: DE dependent credit reform - married filing separately uses individual AGI
174
+ period: 2025
175
+ reforms: policyengine_us.reforms.states.de.dependent_credit.de_dependent_credit_reform.de_dependent_credit_reform
176
+ input:
177
+ gov.contrib.states.de.dependent_credit.in_effect: true
178
+ gov.contrib.states.de.dependent_credit.amount: 110
179
+ gov.contrib.states.de.dependent_credit.phaseout.threshold.JOINT: 100_000
180
+ gov.contrib.states.de.dependent_credit.phaseout.rate: 0.01
181
+ people:
182
+ head:
183
+ age: 40
184
+ employment_income: 80_000
185
+ spouse:
186
+ age: 38
187
+ employment_income: 80_000
188
+ child:
189
+ age: 5
190
+ is_tax_unit_dependent: true
191
+ tax_units:
192
+ tax_unit:
193
+ members: [head, spouse, child]
194
+ filing_status: JOINT
195
+ households:
196
+ household:
197
+ members: [head, spouse, child]
198
+ state_name: DE
199
+ output:
200
+ # de_files_separately = true (filing separately is more advantageous)
201
+ # Uses de_agi_indiv ($80,000 + $80,000 = $160,000) for phaseout
202
+ # Personal credits (unaffected by dependent credit reform):
203
+ # - 1 head: $110
204
+ # - 1 spouse: $110
205
+ # Dependent credit (subject to phaseout):
206
+ # - 1 eligible dependent (child, age 5): $110 before phaseout
207
+ # - Phaseout: ($160,000 - $100,000) * 0.01 = $600
208
+ # - Dependent credit after phaseout: max($110 - $600, 0) = $0
209
+ # Total: $110 + $110 + $0 = $220
210
+ de_personal_credit: 220
@@ -0,0 +1,214 @@
1
+ - name: Single parent with child under max age - full EITC refundable
2
+ period: 2024
3
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
4
+ input:
5
+ gov.contrib.states.ut.eitc.in_effect: true
6
+ people:
7
+ parent:
8
+ age: 30
9
+ child:
10
+ age: 2
11
+ is_tax_unit_dependent: true
12
+ tax_units:
13
+ tax_unit:
14
+ members: [parent, child]
15
+ eitc: 5_000
16
+ households:
17
+ household:
18
+ members: [parent, child]
19
+ state_code: UT
20
+ output:
21
+ # Utah EITC = 20% of federal EITC = 0.2 * 5_000 = 1_000
22
+ # Since child is age 2 (at max_age threshold), full amount is refundable
23
+ ut_eitc: 1_000 # Total EITC
24
+ ut_refundable_eitc: 1_000
25
+ ut_non_refundable_eitc: 0 # Non-refundable portion is reduced to zero
26
+ ut_has_qualifying_child_for_refundable_eitc: true
27
+
28
+ - name: Single parent with child at age 1
29
+ period: 2024
30
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
31
+ input:
32
+ gov.contrib.states.ut.eitc.in_effect: true
33
+ people:
34
+ parent:
35
+ age: 30
36
+ child:
37
+ age: 1
38
+ is_tax_unit_dependent: true
39
+ tax_units:
40
+ tax_unit:
41
+ members: [parent, child]
42
+ eitc: 3_000
43
+ households:
44
+ household:
45
+ members: [parent, child]
46
+ state_code: UT
47
+ output:
48
+ # Utah EITC = 20% of federal EITC = 0.2 * 3_000 = 600
49
+ ut_eitc: 600
50
+ ut_refundable_eitc: 600
51
+ ut_non_refundable_eitc: 0
52
+ ut_has_qualifying_child_for_refundable_eitc: true
53
+
54
+ - name: Single parent with child age 3 - not eligible for refundable EITC
55
+ period: 2024
56
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
57
+ input:
58
+ gov.contrib.states.ut.eitc.in_effect: true
59
+ people:
60
+ parent:
61
+ age: 30
62
+ child:
63
+ age: 3
64
+ is_tax_unit_dependent: true
65
+ tax_units:
66
+ tax_unit:
67
+ members: [parent, child]
68
+ eitc: 4_000
69
+ households:
70
+ household:
71
+ members: [parent, child]
72
+ state_code: UT
73
+ output:
74
+ # Child is too old (max_age is 2)
75
+ # Utah EITC = 0.2 * 4_000 = 800
76
+ ut_eitc: 800
77
+ ut_refundable_eitc: 0
78
+ ut_non_refundable_eitc: 800 # Remains fully non-refundable
79
+ ut_has_qualifying_child_for_refundable_eitc: false
80
+
81
+ - name: Single parent with multiple children, one qualifying
82
+ period: 2024
83
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
84
+ input:
85
+ gov.contrib.states.ut.eitc.in_effect: true
86
+ people:
87
+ parent:
88
+ age: 35
89
+ child1:
90
+ age: 1
91
+ is_tax_unit_dependent: true
92
+ child2:
93
+ age: 5
94
+ is_tax_unit_dependent: true
95
+ tax_units:
96
+ tax_unit:
97
+ members: [parent, child1, child2]
98
+ eitc: 6_000
99
+ households:
100
+ household:
101
+ members: [parent, child1, child2]
102
+ state_code: UT
103
+ output:
104
+ # Has at least one qualifying child, so full EITC is refundable
105
+ # Utah EITC = 0.2 * 6_000 = 1_200
106
+ ut_eitc: 1_200
107
+ ut_refundable_eitc: 1_200
108
+ ut_non_refundable_eitc: 0
109
+ ut_has_qualifying_child_for_refundable_eitc: true
110
+
111
+ - name: Childless tax unit - not eligible
112
+ period: 2024
113
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
114
+ input:
115
+ gov.contrib.states.ut.eitc.in_effect: true
116
+ people:
117
+ person:
118
+ age: 30
119
+ tax_units:
120
+ tax_unit:
121
+ members: [person]
122
+ eitc: 500
123
+ households:
124
+ household:
125
+ members: [person]
126
+ state_code: UT
127
+ output:
128
+ # Utah EITC = 0.2 * 500 = 100 (all non-refundable)
129
+ ut_eitc: 100
130
+ ut_refundable_eitc: 0
131
+ ut_non_refundable_eitc: 100
132
+ ut_has_qualifying_child_for_refundable_eitc: false
133
+
134
+ - name: Married couple with infant (age 0)
135
+ period: 2024
136
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
137
+ input:
138
+ gov.contrib.states.ut.eitc.in_effect: true
139
+ people:
140
+ parent1:
141
+ age: 28
142
+ parent2:
143
+ age: 30
144
+ child:
145
+ age: 0
146
+ is_tax_unit_dependent: true
147
+ tax_units:
148
+ tax_unit:
149
+ members: [parent1, parent2, child]
150
+ eitc: 7_000
151
+ households:
152
+ household:
153
+ members: [parent1, parent2, child]
154
+ state_code: UT
155
+ output:
156
+ # Utah EITC = 0.2 * 7_000 = 1_400
157
+ ut_eitc: 1_400
158
+ ut_refundable_eitc: 1_400
159
+ ut_non_refundable_eitc: 0
160
+ ut_has_qualifying_child_for_refundable_eitc: true
161
+
162
+ - name: Tax unit with qualifying child but no federal EITC
163
+ period: 2024
164
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
165
+ input:
166
+ gov.contrib.states.ut.eitc.in_effect: true
167
+ people:
168
+ parent:
169
+ age: 30
170
+ child:
171
+ age: 2
172
+ is_tax_unit_dependent: true
173
+ tax_units:
174
+ tax_unit:
175
+ members: [parent, child]
176
+ eitc: 0
177
+ households:
178
+ household:
179
+ members: [parent, child]
180
+ state_code: UT
181
+ output:
182
+ # No federal EITC means no Utah EITC
183
+ ut_eitc: 0
184
+ ut_refundable_eitc: 0
185
+ ut_non_refundable_eitc: 0
186
+ ut_has_qualifying_child_for_refundable_eitc: true
187
+
188
+ - name: Custom max_age parameter - child at age 4 qualifies
189
+ period: 2024
190
+ reforms: policyengine_us.reforms.states.ut.ut_refundable_eitc.ut_refundable_eitc
191
+ input:
192
+ gov.contrib.states.ut.eitc.in_effect: true
193
+ gov.contrib.states.ut.eitc.max_age: 4
194
+ people:
195
+ parent:
196
+ age: 30
197
+ child:
198
+ age: 4
199
+ is_tax_unit_dependent: true
200
+ tax_units:
201
+ tax_unit:
202
+ members: [parent, child]
203
+ eitc: 5_000
204
+ households:
205
+ household:
206
+ members: [parent, child]
207
+ state_code: UT
208
+ output:
209
+ # With max_age = 4, child age 4 qualifies
210
+ # Utah EITC = 0.2 * 5_000 = 1_000
211
+ ut_eitc: 1_000
212
+ ut_refundable_eitc: 1_000
213
+ ut_non_refundable_eitc: 0
214
+ ut_has_qualifying_child_for_refundable_eitc: true
@@ -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,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)