policyengine-us 1.458.0__py3-none-any.whl → 1.471.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 (395) hide show
  1. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/brackets.yaml +52 -0
  2. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/in_effect.yaml +9 -0
  3. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/income_eligibility.yaml +27 -0
  4. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/enabled.yaml +14 -0
  5. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/uses_medicaid_income_thresholds.yaml +13 -0
  6. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/applies.yaml +115 -0
  7. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/couple.yaml +14 -0
  8. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/individual.yaml +14 -0
  9. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qi/fpl_limit.yaml +14 -0
  10. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qmb/fpl_limit.yaml +18 -0
  11. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/slmb/fpl_limit.yaml +15 -0
  12. policyengine_us/parameters/gov/ssa/revenue/oasdi_share_of_gross_ss.yaml +13 -0
  13. policyengine_us/parameters/gov/states/az/tax/income/credits/property_tax/income_sources.yaml +17 -9
  14. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/head_of_household.yaml +1 -1
  15. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/joint.yaml +1 -1
  16. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/separate.yaml +1 -1
  17. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/single.yaml +1 -1
  18. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/surviving_spouse.yaml +1 -1
  19. policyengine_us/parameters/gov/states/ia/tax/income/credits/child_care/fraction.yaml +1 -1
  20. policyengine_us/parameters/gov/states/il/dhs/aabd/asset/sources.yaml +0 -1
  21. policyengine_us/parameters/gov/states/il/isbe/age_threshold/teen_parent.yaml +15 -0
  22. policyengine_us/parameters/gov/states/il/isbe/income/countable_sources.yaml +28 -0
  23. policyengine_us/parameters/gov/states/il/isbe/income/income_limit_rate.yaml +13 -0
  24. policyengine_us/parameters/gov/states/il/isbe/pfa/benefit/amount.yaml +15 -0
  25. policyengine_us/parameters/gov/states/il/isbe/pfae/benefit/amount.yaml +15 -0
  26. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/age_range.yaml +26 -0
  27. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/deep_poverty_rate.yaml +10 -0
  28. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/low_income_rate.yaml +10 -0
  29. policyengine_us/parameters/gov/states/il/isbe/pi/benefit/amount.yaml +16 -0
  30. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/child.yaml +13 -0
  31. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/young_parent.yaml +11 -0
  32. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/deep_poverty_rate.yaml +11 -0
  33. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/low_income_rate.yaml +11 -0
  34. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/poverty_rate.yaml +11 -0
  35. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/priority/geriatric_pregnancy_age.yaml +10 -0
  36. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/risk_factors/minimum_score.yaml +11 -0
  37. policyengine_us/parameters/gov/states/in/fssa/README.md +1 -0
  38. policyengine_us/parameters/gov/states/in/fssa/tanf/README.md +1 -0
  39. policyengine_us/parameters/gov/states/in/fssa/tanf/eligibility/continuing/fpg_rate.yaml +12 -0
  40. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/benefit/earned_income_disregard/rate.yaml +12 -0
  41. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/earned_income_disregard/rate.yaml +12 -0
  42. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/flat_disregard/amount.yaml +12 -0
  43. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/work_expense/amount.yaml +12 -0
  44. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/at_application/amount.yaml +12 -0
  45. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/while_receiving/amount.yaml +12 -0
  46. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/vehicle_exemption/amount.yaml +12 -0
  47. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/amount.yaml +34 -0
  48. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/max_unit_size.yaml +12 -0
  49. policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml +1 -1
  50. policyengine_us/parameters/gov/states/mo/dss/tanf/child_care_deduction/amount.yaml +27 -0
  51. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/amount.yaml +14 -0
  52. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_only/amount.yaml +14 -0
  53. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/flat_amount.yaml +14 -0
  54. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/percentage.yaml +14 -0
  55. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/two_thirds_disregard/percentage.yaml +14 -0
  56. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/max_table_size.yaml +12 -0
  57. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/rate.yaml +14 -0
  58. policyengine_us/parameters/gov/states/mo/dss/tanf/maximum_benefit/percentage.yaml +14 -0
  59. policyengine_us/parameters/gov/states/mo/dss/tanf/minimum_payment.yaml +12 -0
  60. policyengine_us/parameters/gov/states/mo/dss/tanf/resource_limit/amount.yaml +14 -0
  61. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/additional_person_increment.yaml +12 -0
  62. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/amount.yaml +38 -0
  63. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/base_table_max_size.yaml +12 -0
  64. policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml +3 -0
  65. policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml +13 -4
  66. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/agi_subtractions.yaml +18 -0
  67. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml +14 -0
  68. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/flat_amount.yaml +14 -0
  69. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/percentage_of_disregard.yaml +16 -0
  70. policyengine_us/parameters/gov/states/oh/odjfs/owf/initial_eligibility/income_limit_rate.yaml +14 -0
  71. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/additional_person_increment.yaml +14 -0
  72. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/amounts.yaml +43 -0
  73. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/max_group_size.yaml +12 -0
  74. policyengine_us/parameters/gov/states/or/odhs/tanf/age_threshold/minor_child.yaml +12 -0
  75. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/additional_person.yaml +12 -0
  76. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/amount.yaml +32 -0
  77. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/max.yaml +12 -0
  78. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/per_child.yaml +12 -0
  79. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/additional_person.yaml +12 -0
  80. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/amount.yaml +32 -0
  81. policyengine_us/parameters/gov/states/or/odhs/tanf/income/earned_income_disregard_rate.yaml +12 -0
  82. policyengine_us/parameters/gov/states/or/odhs/tanf/income/eli_multiplier.yaml +12 -0
  83. policyengine_us/parameters/gov/states/or/odhs/tanf/maximum_need_group_size.yaml +12 -0
  84. policyengine_us/parameters/gov/states/or/odhs/tanf/minimum_benefit.yaml +12 -0
  85. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/additional_person.yaml +12 -0
  86. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/amount.yaml +32 -0
  87. policyengine_us/parameters/gov/states/or/odhs/tanf/resources/limit/amount.yaml +12 -0
  88. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_1.yaml +19 -0
  89. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_2.yaml +44 -0
  90. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_3.yaml +31 -0
  91. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_4.yaml +29 -0
  92. policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/additional_person.yaml +14 -0
  93. policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/amount.yaml +69 -0
  94. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/earned_income_disregard/percentage.yaml +14 -0
  95. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/additional.yaml +15 -0
  96. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/initial.yaml +14 -0
  97. policyengine_us/parameters/gov/states/pa/dhs/tanf/max_family_size_in_table.yaml +12 -0
  98. policyengine_us/parameters/gov/states/pa/dhs/tanf/resource_limit.yaml +7 -6
  99. policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/additional_person.yaml +14 -0
  100. policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/amount.yaml +69 -0
  101. policyengine_us/parameters/gov/states/wi/dcf/README.md +1 -0
  102. policyengine_us/parameters/gov/states/wi/dcf/works/README.md +1 -0
  103. policyengine_us/parameters/gov/states/wi/dcf/works/asset/limit.yaml +16 -0
  104. policyengine_us/parameters/gov/states/wi/dcf/works/asset/vehicle_exclusion.yaml +14 -0
  105. policyengine_us/parameters/gov/states/wi/dcf/works/income_limit/rate.yaml +16 -0
  106. policyengine_us/parameters/gov/states/wi/dcf/works/placement/amount.yaml +30 -0
  107. policyengine_us/parameters/gov/states/wi/dcf/works/placement/arp_pregnancy_month_threshold.yaml +14 -0
  108. policyengine_us/parameters/gov/states/wi/dcf/works/placement/cmc_infant_age_limit.yaml +15 -0
  109. policyengine_us/reforms/aca/__init__.py +3 -0
  110. policyengine_us/reforms/aca/aca_ptc_700_fpl_cliff.py +125 -0
  111. policyengine_us/reforms/reforms.py +5 -0
  112. policyengine_us/tests/microsimulation/test_microsim.py +46 -0
  113. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/integration.yaml +667 -0
  114. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.yaml +376 -0
  115. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/category/msp_category.yaml +69 -0
  116. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.yaml +62 -0
  117. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/income/msp_fpg.yaml +22 -0
  118. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/integration.yaml +84 -0
  119. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/msp_benefit_value.yaml +62 -0
  120. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.yaml +157 -0
  121. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.yaml +106 -0
  122. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.yaml +86 -0
  123. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.yaml +85 -0
  124. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +124 -0
  125. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +129 -0
  126. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_total.yaml +19 -0
  127. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +72 -0
  128. policyengine_us/tests/policy/baseline/gov/states/az/tax/income/az_property_tax_credit_agi.yaml +58 -0
  129. policyengine_us/tests/policy/baseline/gov/states/az/tax/income/integration.yaml +28 -0
  130. policyengine_us/tests/policy/baseline/gov/states/dc/tax/income/dc_ptc.yaml +27 -0
  131. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/food_excise/hi_food_excise_credit.yaml +29 -1
  132. policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_cdcc.yaml +3 -3
  133. policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_integration.yaml +31 -1
  134. policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.yaml +6 -6
  135. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +2 -2
  136. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +18 -5
  137. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +5 -5
  138. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +8 -8
  139. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_income_eligible.yaml +15 -0
  140. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.yaml +310 -0
  141. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.yaml +39 -0
  142. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.yaml +26 -0
  143. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.yaml +49 -0
  144. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/integration.yaml +102 -0
  145. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.yaml +31 -0
  146. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.yaml +15 -0
  147. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.yaml +15 -0
  148. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.yaml +85 -0
  149. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.yaml +46 -0
  150. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.yaml +48 -0
  151. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_eligible.yaml +38 -0
  152. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.yaml +74 -0
  153. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.yaml +43 -0
  154. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.yaml +43 -0
  155. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.yaml +43 -0
  156. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.yaml +75 -0
  157. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.yaml +74 -0
  158. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.yaml +100 -0
  159. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.yaml +91 -0
  160. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.yaml +102 -0
  161. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.yaml +160 -0
  162. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/integration.yaml +187 -0
  163. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/benefit/in_tanf_payment_standard.yaml +58 -0
  164. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.yaml +163 -0
  165. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.yaml +94 -0
  166. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.yaml +74 -0
  167. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.yaml +63 -0
  168. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/in_tanf.yaml +64 -0
  169. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.yaml +83 -0
  170. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.yaml +112 -0
  171. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.yaml +71 -0
  172. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/integration.yaml +249 -0
  173. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.yaml +38 -0
  174. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_resources_eligible.yaml +60 -0
  175. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/integration_with_eligibility.yaml +78 -0
  176. policyengine_us/tests/policy/baseline/gov/states/ma/tax/income/gross_income/integration.yaml +28 -0
  177. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/integration.yaml +87 -0
  178. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_dependent_exemption_credit_amount_person.yaml +3 -2
  179. policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/mi_home_heating_credit.yaml +87 -0
  180. policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/mi_household_resources.yaml +57 -0
  181. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/integration.yaml +275 -0
  182. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf.yaml +60 -0
  183. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +187 -0
  184. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_countable_income.yaml +49 -0
  185. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_earned_income_deductions.yaml +53 -0
  186. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_eligible.yaml +59 -0
  187. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_gross_income_eligible.yaml +29 -0
  188. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_eligible.yaml +49 -0
  189. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.yaml +47 -0
  190. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_percentage_of_need_test.yaml +53 -0
  191. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_resources_eligible.yaml +23 -0
  192. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.yaml +71 -0
  193. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need_test.yaml +44 -0
  194. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml +176 -0
  195. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.yaml +65 -0
  196. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml +29 -0
  197. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  198. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/integration.yaml +152 -0
  199. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_countable_income.yaml +113 -0
  200. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_eligible.yaml +239 -0
  201. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_fpg.yaml +73 -0
  202. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_income_eligible.yaml +80 -0
  203. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_initial_income_eligible.yaml +160 -0
  204. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_payment_standard.yaml +77 -0
  205. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/integration.yaml +363 -0
  206. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf.yaml +94 -0
  207. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income.yaml +77 -0
  208. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income_eligible.yaml +73 -0
  209. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_child_support_disregard.yaml +272 -0
  210. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income.yaml +70 -0
  211. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income_eligible.yaml +73 -0
  212. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_eligible.yaml +47 -0
  213. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_income_eligible.yaml +75 -0
  214. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eligible.yaml +68 -0
  215. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_income_eligible.yaml +211 -0
  216. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_payment_standard.yaml +68 -0
  217. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_resources_eligible.yaml +37 -0
  218. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.yaml +114 -0
  219. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.yaml +65 -0
  220. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.yaml +62 -0
  221. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +47 -0
  222. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.yaml +81 -0
  223. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/integration.yaml +386 -0
  224. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf.yaml +53 -0
  225. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_county_group.yaml +63 -0
  226. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.yaml +92 -0
  227. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.yaml +73 -0
  228. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/integration.yaml +282 -0
  229. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works.yaml +50 -0
  230. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_income.yaml +49 -0
  231. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_resources.yaml +54 -0
  232. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_eligible.yaml +61 -0
  233. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_income_eligible.yaml +43 -0
  234. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_placement.yaml +111 -0
  235. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_resources_eligible.yaml +38 -0
  236. policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.yaml +31 -0
  237. policyengine_us/tests/policy/contrib/aca/ptc_700_fpl_cliff.yaml +136 -0
  238. policyengine_us/tests/run_selective_tests.py +5 -0
  239. policyengine_us/tests/test_batched.py +144 -78
  240. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/has_emergency_medical_condition.py +16 -0
  241. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.py +33 -0
  242. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qi_eligible.py +33 -0
  243. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qmb_eligible.py +28 -0
  244. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_slmb_eligible.py +33 -0
  245. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/msp_category.py +33 -0
  246. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_asset_eligible.py +26 -0
  247. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.py +20 -0
  248. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_income_eligible.py +26 -0
  249. policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_countable_income.py +35 -0
  250. policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_fpg.py +40 -0
  251. policyengine_us/variables/gov/hhs/medicare/savings_programs/msp.py +15 -0
  252. policyengine_us/variables/gov/hhs/medicare/savings_programs/msp_benefit_value.py +37 -0
  253. policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.py +58 -0
  254. policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.py +17 -0
  255. policyengine_us/variables/gov/simulation/labor_supply_response/labor_supply_behavioral_response.py +57 -42
  256. policyengine_us/variables/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.py +58 -0
  257. policyengine_us/variables/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.py +60 -0
  258. policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +67 -0
  259. policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +82 -0
  260. policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +49 -0
  261. policyengine_us/variables/gov/states/az/tax/income/credits/property_tax_credit/az_property_tax_credit_agi.py +53 -0
  262. policyengine_us/variables/gov/states/dc/tax/income/credits/dc_ptc.py +7 -3
  263. policyengine_us/variables/gov/states/ia/tax/income/credits/ia_cdcc.py +4 -2
  264. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.py +23 -5
  265. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +1 -1
  266. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +7 -3
  267. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_income_eligible.py +26 -0
  268. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.py +32 -0
  269. policyengine_us/variables/gov/states/il/isbe/income/il_isbe_countable_income.py +13 -0
  270. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa.py +15 -0
  271. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa_eligible.py +18 -0
  272. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.py +23 -0
  273. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.py +19 -0
  274. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.py +28 -0
  275. policyengine_us/variables/gov/states/il/isbe/pfae/il_pfae.py +19 -0
  276. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.py +40 -0
  277. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.py +23 -0
  278. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.py +21 -0
  279. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.py +65 -0
  280. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.py +17 -0
  281. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.py +18 -0
  282. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.py +18 -0
  283. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.py +23 -0
  284. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.py +21 -0
  285. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.py +21 -0
  286. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.py +16 -0
  287. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.py +20 -0
  288. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.py +37 -0
  289. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.py +21 -0
  290. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.py +36 -0
  291. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.py +54 -0
  292. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_priority_score.py +19 -0
  293. policyengine_us/variables/gov/states/il/isbe/pi/il_pi.py +15 -0
  294. policyengine_us/variables/gov/states/il/isbe/pi/il_pi_eligible.py +18 -0
  295. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.py +31 -0
  296. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.py +36 -0
  297. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.py +21 -0
  298. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.py +18 -0
  299. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_resources_eligible.py +25 -0
  300. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf.py +21 -0
  301. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf_payment_standard.py +19 -0
  302. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.py +20 -0
  303. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.py +33 -0
  304. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_eligibility.py +19 -0
  305. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.py +13 -0
  306. policyengine_us/variables/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.py +27 -0
  307. policyengine_us/variables/gov/states/ma/tax/income/gross_income/ma_part_c_gross_income.py +7 -1
  308. policyengine_us/variables/gov/states/me/tax/income/credits/dependent_exemption/me_dependent_exemption_credit_amount_person.py +1 -1
  309. policyengine_us/variables/gov/states/mi/tax/income/mi_household_resources.py +34 -5
  310. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_eligible.py +23 -0
  311. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_gross_income_eligible.py +24 -0
  312. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_income_eligible.py +18 -0
  313. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_percentage_of_need_test.py +20 -0
  314. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_resources_eligible.py +18 -0
  315. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_standard_of_need_test.py +17 -0
  316. policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +24 -0
  317. policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_earned_income_deductions.py +36 -0
  318. policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_countable_income.py +21 -0
  319. policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_income_for_need_test.py +23 -0
  320. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf.py +21 -0
  321. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.py +19 -0
  322. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.py +23 -0
  323. policyengine_us/variables/gov/states/mo/tax/income/adjusted_gross_income/mo_adjusted_gross_income.py +1 -1
  324. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.py +16 -0
  325. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.py +20 -0
  326. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction_person.py +28 -0
  327. policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_indiv.py +3 -1
  328. policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_joint.py +3 -1
  329. policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py +3 -0
  330. policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py +3 -0
  331. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_eligible.py +39 -0
  332. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_income_eligible.py +33 -0
  333. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_initial_income_eligible.py +30 -0
  334. policyengine_us/variables/gov/states/oh/odjfs/owf/income/oh_owf_countable_income.py +40 -0
  335. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf.py +23 -0
  336. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_fpg.py +32 -0
  337. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_payment_standard.py +26 -0
  338. policyengine_us/variables/gov/states/or/odhs/tanf/benefit/or_tanf_payment_standard.py +23 -0
  339. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_adjusted_income_eligible.py +28 -0
  340. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_countable_income_eligible.py +28 -0
  341. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_eligible.py +16 -0
  342. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_income_eligible.py +20 -0
  343. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eligible.py +25 -0
  344. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_income_eligible.py +26 -0
  345. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_resources_eligible.py +19 -0
  346. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_adjusted_income.py +21 -0
  347. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_child_support_disregard.py +25 -0
  348. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_countable_income.py +20 -0
  349. policyengine_us/variables/gov/states/or/odhs/tanf/or_tanf.py +25 -0
  350. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.py +31 -0
  351. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.py +29 -0
  352. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.py +16 -0
  353. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.py +7 -5
  354. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_earned_income.py +15 -0
  355. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_income.py +16 -0
  356. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.py +27 -0
  357. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf.py +19 -0
  358. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_county_group.py +38 -0
  359. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.py +30 -0
  360. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.py +30 -0
  361. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_eligible.py +22 -0
  362. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_income_eligible.py +20 -0
  363. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_resources_eligible.py +18 -0
  364. policyengine_us/variables/gov/states/wi/dcf/works/income/wi_works_countable_income.py +18 -0
  365. policyengine_us/variables/gov/states/wi/dcf/works/resources/wi_works_countable_resources.py +21 -0
  366. policyengine_us/variables/gov/states/wi/dcf/works/wi_works.py +19 -0
  367. policyengine_us/variables/gov/states/wi/dcf/works/wi_works_placement.py +45 -0
  368. policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.py +3 -3
  369. policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit_eligible.py +5 -2
  370. policyengine_us/variables/household/demographic/geographic/county/county.py +9 -0
  371. policyengine_us/variables/household/demographic/geographic/is_non_english_speaking_home.py +9 -0
  372. policyengine_us/variables/household/demographic/household/parent_has_less_than_high_school_education.py +9 -0
  373. policyengine_us/variables/household/demographic/person/has_developmental_delay.py +9 -0
  374. policyengine_us/variables/household/demographic/person/has_individualized_education_program.py +9 -0
  375. policyengine_us/variables/household/demographic/person/has_no_prior_formal_early_learning.py +9 -0
  376. policyengine_us/variables/household/demographic/person/is_born_outside_us.py +9 -0
  377. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/METADATA +1 -1
  378. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/RECORD +381 -69
  379. policyengine_us/parameters/gov/states/il/dhs/aabd/aged_age_threshold.yaml +0 -11
  380. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit.yaml +0 -26
  381. policyengine_us/parameters/gov/states/pa/dhs/tanf/cash_assistance/age_limit.yaml +0 -11
  382. policyengine_us/parameters/gov/states/pa/dhs/tanf/pregnancy_eligibility/age_limit.yaml +0 -9
  383. policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.yaml +0 -39
  384. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_limit.yaml +0 -23
  385. policyengine_us/tests/policy/baseline/gov/states/pa/tanf/cash_assistance/pa_tanf_age_eligible.yaml +0 -44
  386. policyengine_us/tests/policy/baseline/gov/states/pa/tanf/pregnancy_eligibility/pa_tanf_pregnancy_eligibility.yaml +0 -59
  387. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +0 -24
  388. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.py +0 -22
  389. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_income_limit.py +0 -18
  390. policyengine_us/variables/gov/states/pa/dhs/tanf/cash_assistance/pa_tanf_age_eligible.py +0 -22
  391. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_countable_resources.py +0 -10
  392. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pregnancy_eligibility/age_eligibility.py +0 -22
  393. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/WHEEL +0 -0
  394. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/entry_points.txt +0 -0
  395. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,33 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_earned_income_for_eligibility(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = (
8
+ "Indiana TANF countable earned income for eligibility determination"
9
+ )
10
+ unit = USD
11
+ definition_period = MONTH
12
+ reference = (
13
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-4",
14
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-3",
15
+ )
16
+ defined_for = StateCode.IN
17
+
18
+ def formula(spm_unit, period, parameters):
19
+ # NOTE: The $30 and 1/3 disregard only applies for the first 4 months
20
+ # of continuing eligibility. This simplified implementation always
21
+ # applies the $30 and 1/3 disregard.
22
+ p = parameters(period).gov.states["in"].fssa.tanf.income.deductions
23
+ person = spm_unit.members
24
+ gross_earned = person("tanf_gross_earned_income", period)
25
+
26
+ # $90 per earner, then $30 + 1/3 per unit (470 IAC 10.3-4-4(c))
27
+ after_work_expense = spm_unit.sum(
28
+ max_(gross_earned - p.work_expense.amount, 0)
29
+ )
30
+ after_flat = max_(
31
+ after_work_expense - p.eligibility.flat_disregard.amount, 0
32
+ )
33
+ return after_flat * (1 - p.eligibility.earned_income_disregard.rate)
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_income_for_eligibility(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana TANF countable income for eligibility determination"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-4",
12
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-3",
13
+ )
14
+ defined_for = StateCode.IN
15
+
16
+ adds = [
17
+ "in_tanf_countable_earned_income_for_eligibility",
18
+ "tanf_gross_unearned_income",
19
+ ]
@@ -0,0 +1,13 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_income_for_payment(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana TANF countable income for payment calculation"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-4"
11
+ defined_for = StateCode.IN
12
+
13
+ adds = ["in_tanf_countable_earned_income", "tanf_gross_unearned_income"]
@@ -0,0 +1,27 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_resources(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana TANF countable resources"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ defined_for = StateCode.IN
11
+ reference = (
12
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-2",
13
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-1",
14
+ )
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = (
18
+ parameters(period)
19
+ .gov.states["in"]
20
+ .fssa.tanf.resources.vehicle_exemption
21
+ )
22
+ total_assets = spm_unit("spm_unit_assets", period.this_year)
23
+ vehicle_value = spm_unit.household(
24
+ "household_vehicles_value", period.this_year
25
+ )
26
+ excluded_vehicle = min_(vehicle_value, p.amount)
27
+ return max_(total_assets - excluded_vehicle, 0)
@@ -11,4 +11,10 @@ class ma_part_c_gross_income(Variable):
11
11
  defined_for = StateCode.MA
12
12
 
13
13
  def formula(tax_unit, period, parameters):
14
- return max_(0, add(tax_unit, period, ["long_term_capital_gains"]))
14
+ # Long-term capital gains
15
+ ltcg = add(tax_unit, period, ["long_term_capital_gains"])
16
+ # Short-term capital gains (can be negative)
17
+ stcg = add(tax_unit, period, ["short_term_capital_gains"])
18
+ # Per MA Schedule B line 22, short-term losses offset long-term gains
19
+ stcg_losses = min_(0, stcg)
20
+ return max_(0, ltcg + stcg_losses)
@@ -8,7 +8,7 @@ class me_dependent_exemption_credit_amount_person(Variable):
8
8
  label = "Maine dependent exemption credit amount for each person"
9
9
  reference = "https://www.mainelegislature.org/legis/statutes/36/title36sec5219-SS.html"
10
10
  definition_period = YEAR
11
- defined_for = "ctc_qualifying_child"
11
+ defined_for = "is_tax_unit_dependent"
12
12
 
13
13
  def formula(person, period, parameters):
14
14
  dependent = person("is_tax_unit_dependent", period)
@@ -8,11 +8,42 @@ class mi_household_resources(Variable):
8
8
  unit = USD
9
9
  definition_period = YEAR
10
10
  defined_for = StateCode.MI
11
- reference = "https://law.justia.com/codes/michigan/2022/chapter-206/statute-act-281-of-1967/division-281-1967-1/division-281-1967-1-9/section-206-508/"
11
+ reference = (
12
+ "https://law.justia.com/codes/michigan/2022/chapter-206/"
13
+ "statute-act-281-of-1967/division-281-1967-1/division-281-1967-1-9/"
14
+ "section-206-508/",
15
+ "https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/"
16
+ "Forms/IIT/TY2024/BOOK_MI-1040CR-7.pdf",
17
+ )
12
18
 
13
19
  def formula(tax_unit, period, parameters):
14
20
  p = parameters(period).gov.states.mi.tax.income
15
- household_resources = add(tax_unit, period, p.household_resources)
21
+ # Per form instructions, only certain income sources must be
22
+ # floored at 0 if negative. Capital gains have special loss limitation.
23
+ income_sources = p.household_resources
24
+
25
+ # Sources that must be floored at 0 per form instructions:
26
+ # "Net business income (including net farm income). If negative, enter 0"
27
+ # "Net royalty or rent income. If negative, enter 0"
28
+ floored_sources = {
29
+ "farm_income",
30
+ "self_employment_income",
31
+ "partnership_s_corp_income",
32
+ "rental_income",
33
+ "farm_rent_income",
34
+ }
35
+
36
+ # Iterate through each source, applying flooring only to
37
+ # sources that require it per form instructions
38
+ total = 0
39
+ for source in income_sources:
40
+ if source in floored_sources:
41
+ # Per MI-1040CR instructions: "If negative, enter 0"
42
+ total += max_(add(tax_unit, period, [source]), 0)
43
+ else:
44
+ # Other sources are added as-is without flooring
45
+ total += add(tax_unit, period, [source])
46
+
16
47
  health_insurance_premiums = add(
17
48
  tax_unit, period, ["health_insurance_premiums"]
18
49
  )
@@ -21,7 +52,5 @@ class mi_household_resources(Variable):
21
52
  )
22
53
  return max_(
23
54
  0,
24
- household_resources
25
- - health_insurance_premiums
26
- - above_the_line_deductions,
55
+ total - health_insurance_premiums - above_the_line_deductions,
27
56
  )
@@ -0,0 +1,23 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = (
8
+ "Eligible for Missouri Temporary Assistance for Needy Families (TANF)"
9
+ )
10
+ definition_period = MONTH
11
+ reference = (
12
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
13
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0200-000-00/",
14
+ )
15
+ defined_for = StateCode.MO
16
+
17
+ def formula(spm_unit, period, parameters):
18
+ person = spm_unit.members
19
+ demographic = person("is_person_demographic_tanf_eligible", period)
20
+ has_eligible_member = spm_unit.any(demographic)
21
+ income_eligible = spm_unit("mo_tanf_income_eligible", period)
22
+ resources_eligible = spm_unit("mo_tanf_resources_eligible", period)
23
+ return has_eligible_member & income_eligible & resources_eligible
@@ -0,0 +1,24 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_gross_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Missouri TANF gross income eligibility"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
11
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-05-185/",
12
+ )
13
+ defined_for = StateCode.MO
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ p = parameters(period).gov.states.mo.dss.tanf
17
+ gross_income = add(
18
+ spm_unit,
19
+ period,
20
+ ["tanf_gross_earned_income", "tanf_gross_unearned_income"],
21
+ )
22
+ standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
23
+ limit = standard_of_need * p.income_limit.rate
24
+ return gross_income < limit
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Missouri TANF income eligibility (passes all three income tests)"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
11
+ )
12
+ defined_for = StateCode.MO
13
+
14
+ def formula(spm_unit, period, parameters):
15
+ gross = spm_unit("mo_tanf_gross_income_eligible", period)
16
+ need = spm_unit("mo_tanf_standard_of_need_test", period)
17
+ pct = spm_unit("mo_tanf_percentage_of_need_test", period)
18
+ return gross & need & pct
@@ -0,0 +1,20 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_percentage_of_need_test(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Missouri TANF Percentage of Need test eligibility"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
11
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
12
+ )
13
+ defined_for = StateCode.MO
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ p = parameters(period).gov.states.mo.dss.tanf
17
+ standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
18
+ income = spm_unit("mo_tanf_countable_income", period)
19
+ limit = standard_of_need * p.maximum_benefit.percentage
20
+ return income < limit
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_resources_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Missouri TANF resource eligibility"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
11
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0200-000-00/",
12
+ )
13
+ defined_for = StateCode.MO
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ p = parameters(period).gov.states.mo.dss.tanf.resource_limit
17
+ resources = spm_unit("spm_unit_cash_assets", period.this_year)
18
+ return resources <= p.amount
@@ -0,0 +1,17 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_standard_of_need_test(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Missouri TANF Standard of Need test eligibility"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
11
+ )
12
+ defined_for = StateCode.MO
13
+
14
+ def formula(spm_unit, period, parameters):
15
+ standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
16
+ income = spm_unit("mo_tanf_income_for_need_test", period)
17
+ return income < standard_of_need
@@ -0,0 +1,24 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_child_care_deduction(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri TANF child care cost deduction"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-120",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-015-30/",
13
+ )
14
+ defined_for = StateCode.MO
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = parameters(period).gov.states.mo.dss.tanf.child_care_deduction
18
+ person = spm_unit.members
19
+ dependent = person("is_tax_unit_dependent", period)
20
+ age = person("age", period.this_year)
21
+ childcare_expenses = spm_unit("childcare_expenses", period)
22
+ max_deduction_per_child = p.amount.calc(age) * dependent
23
+ total_max_deduction = spm_unit.sum(max_deduction_per_child)
24
+ return min_(childcare_expenses, total_max_deduction)
@@ -0,0 +1,36 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_earned_income_deductions(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = (
8
+ "Missouri TANF earned income deductions for Percentage of Need test"
9
+ )
10
+ unit = USD
11
+ definition_period = MONTH
12
+ reference = (
13
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
14
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-015-30/",
15
+ )
16
+ defined_for = StateCode.MO
17
+
18
+ def formula(spm_unit, period, parameters):
19
+ # Note: Missouri has time-limited earned income disregards ($30+1/3 for
20
+ # first 4 months, $30-only for next 8 months, 2/3 for up to 12 months).
21
+ # This simplified implementation does not model these month limits.
22
+ p = parameters(period).gov.states.mo.dss.tanf.earned_income_disregard
23
+ gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
24
+ is_enrolled = spm_unit("is_tanf_enrolled", period)
25
+ work_expense = min_(gross_earned, p.amount)
26
+ child_care = spm_unit("mo_tanf_child_care_deduction", period)
27
+ after_work_expense = max_(gross_earned - p.amount, 0)
28
+ two_thirds = after_work_expense * p.two_thirds_disregard.percentage
29
+ thirty_one_third = where(
30
+ gross_earned > 0,
31
+ p.thirty_plus_one_third.flat_amount
32
+ + after_work_expense * p.thirty_plus_one_third.percentage,
33
+ 0,
34
+ )
35
+ earned_disregard = where(is_enrolled, two_thirds, thirty_one_third)
36
+ return work_expense + earned_disregard + child_care
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_countable_income(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri TANF countable income after all disregards for Percentage of Need test"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
13
+ )
14
+ defined_for = StateCode.MO
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
18
+ gross_unearned = add(spm_unit, period, ["tanf_gross_unearned_income"])
19
+ deductions = spm_unit("mo_tanf_earned_income_deductions", period)
20
+ countable_earned = max_(gross_earned - deductions, 0)
21
+ return countable_earned + gross_unearned
@@ -0,0 +1,23 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_income_for_need_test(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri TANF income for Standard of Need test"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-10/",
13
+ )
14
+ defined_for = StateCode.MO
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = parameters(period).gov.states.mo.dss.tanf.earned_income_disregard
18
+ gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
19
+ gross_unearned = add(spm_unit, period, ["tanf_gross_unearned_income"])
20
+ work_expense = min_(gross_earned, p.amount)
21
+ child_care = spm_unit("mo_tanf_child_care_deduction", period)
22
+ countable_earned = max_(gross_earned - work_expense - child_care, 0)
23
+ return countable_earned + gross_unearned
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri Temporary Assistance for Needy Families (TANF)"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
13
+ )
14
+ defined_for = "mo_tanf_eligible"
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ maximum_benefit = spm_unit("mo_tanf_maximum_benefit", period)
18
+ countable_income = spm_unit("mo_tanf_countable_income", period)
19
+ benefit = max_(maximum_benefit - countable_income, 0)
20
+ p = parameters(period).gov.states.mo.dss.tanf
21
+ return where(benefit >= p.minimum_payment, benefit, 0)
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_maximum_benefit(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri TANF maximum benefit amount"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
13
+ )
14
+ defined_for = StateCode.MO
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = parameters(period).gov.states.mo.dss.tanf
18
+ standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
19
+ return standard_of_need * p.maximum_benefit.percentage
@@ -0,0 +1,23 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_tanf_standard_of_need(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Missouri TANF Standard of Need amount"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-120",
12
+ "https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-05-185/",
13
+ )
14
+ defined_for = StateCode.MO
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = parameters(period).gov.states.mo.dss.tanf.standard_of_need
18
+ size = spm_unit("spm_unit_size", period)
19
+ table_size = min_(size, p.base_table_max_size)
20
+ base_amount = p.amount[table_size]
21
+ additional_persons = max_(size - p.base_table_max_size, 0)
22
+ additional = additional_persons * p.additional_person_increment
23
+ return base_amount + additional
@@ -39,5 +39,5 @@ class mo_adjusted_gross_income(Variable):
39
39
  )
40
40
  fed_agi = gross_income - ind_total_personal_alds - allocated_alds
41
41
  # return MO AGI including MO additions and MO subtractions
42
- subtractions = person("mo_qualified_health_insurance_premiums", period)
42
+ subtractions = person("mo_agi_subtractions", period)
43
43
  return max_(0, fed_agi - subtractions)
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_agi_subtractions(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Missouri AGI subtractions"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ defined_for = StateCode.MO
11
+
12
+ def formula(person, period, parameters):
13
+ p = parameters(period).gov.states.mo.tax.income.subtractions
14
+ total_subtractions = add(person, period, p.agi_subtractions)
15
+ # Prevent negative subtractions from acting as additions
16
+ return max_(0, total_subtractions)
@@ -0,0 +1,20 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_capital_gains_subtraction(Variable):
5
+ value_type = float
6
+ entity = TaxUnit
7
+ label = "Missouri capital gains subtraction"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ reference = (
11
+ "https://dor.mo.gov/faq/taxation/individual/capital-gains-subtraction.html", # MO form MO-A
12
+ )
13
+ defined_for = StateCode.MO
14
+
15
+ def formula(tax_unit, period, parameters):
16
+ net_capital_gain = max_(0, tax_unit("net_capital_gain", period))
17
+ p = parameters(
18
+ period
19
+ ).gov.states.mo.tax.income.subtractions.net_capital_gain
20
+ return net_capital_gain * p.rate
@@ -0,0 +1,28 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class mo_capital_gains_subtraction_person(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Missouri capital gains subtraction for each person"
8
+ unit = USD
9
+ definition_period = YEAR
10
+ reference = (
11
+ "https://dor.mo.gov/faq/taxation/individual/capital-gains-subtraction.html",
12
+ )
13
+ defined_for = StateCode.MO
14
+
15
+ def formula(person, period, parameters):
16
+ tax_unit = person.tax_unit
17
+ # Get the tax unit level capital gains subtraction
18
+ tax_unit_subtraction = tax_unit("mo_capital_gains_subtraction", period)
19
+ # Allocate proportionally based on each person's share of
20
+ # capital gains (both short-term and long-term) to match
21
+ # the net_capital_gain used at the tax unit level
22
+ person_cg = person("capital_gains", period)
23
+ tax_unit_cg = tax_unit.sum(person_cg)
24
+ # Use mask to avoid divide-by-zero, default to zero allocation
25
+ person_share = np.zeros_like(tax_unit_cg)
26
+ mask = tax_unit_cg > 0
27
+ person_share[mask] = person_cg[mask] / tax_unit_cg[mask]
28
+ return person_share * tax_unit_subtraction
@@ -15,6 +15,7 @@ class mt_capital_gains_tax_indiv(Variable):
15
15
  # the tax for capital gains comes into effect after 2024
16
16
  if p.in_effect:
17
17
  capital_gains = person("long_term_capital_gains", period)
18
+ # No tax on zero or negative capital gains
18
19
  filing_status = person.tax_unit(
19
20
  "state_filing_status_if_married_filing_separately_on_same_return",
20
21
  period,
@@ -67,6 +68,7 @@ class mt_capital_gains_tax_indiv(Variable):
67
68
  capital_gains_above_threshold * higher_rate
68
69
  )
69
70
 
70
- return lower_capital_gains_tax + higher_capital_gains_tax
71
+ return max_(lower_capital_gains_tax + higher_capital_gains_tax, 0)
72
+ # Only apply tax if capital gains are positive
71
73
 
72
74
  return 0
@@ -20,6 +20,7 @@ class mt_capital_gains_tax_joint(Variable):
20
20
  taxable_income = person("mt_taxable_income_joint", period)
21
21
  # Line 2
22
22
  capital_gains = person("long_term_capital_gains", period)
23
+ # No tax on zero or negative capital gains
23
24
  # Line 3
24
25
  lesser_of_cg_and_taxable_income = min_(
25
26
  capital_gains, taxable_income
@@ -86,6 +87,7 @@ class mt_capital_gains_tax_joint(Variable):
86
87
  # Line 10
87
88
  higher_capital_gains_tax = income_above_threshold * higher_rate
88
89
  # Line 11
89
- return lower_capital_gains_tax + higher_capital_gains_tax
90
+ return max_(lower_capital_gains_tax + higher_capital_gains_tax, 0)
91
+ # Only apply tax if capital gains are positive
90
92
 
91
93
  return 0
@@ -18,6 +18,9 @@ class mt_regular_income_tax_indiv(Variable):
18
18
  )
19
19
  if p.capital_gains.in_effect:
20
20
  capital_gains = person("long_term_capital_gains", period)
21
+ # Only subtract positive capital gains (they're taxed separately)
22
+ # Negative capital gains should not create phantom taxable income
23
+ capital_gains = max_(capital_gains, 0)
21
24
  taxable_income = max_(taxable_income - capital_gains, 0)
22
25
  status = filing_status.possible_values
23
26
  return select(
@@ -17,6 +17,9 @@ class mt_regular_income_tax_joint(Variable):
17
17
 
18
18
  if p.capital_gains.in_effect:
19
19
  capital_gains = add(tax_unit, period, ["long_term_capital_gains"])
20
+ # Only subtract positive capital gains (they're taxed separately)
21
+ # Negative capital gains should not create phantom taxable income
22
+ capital_gains = max_(capital_gains, 0)
20
23
  taxable_income = max_(taxable_income - capital_gains, 0)
21
24
  return select(
22
25
  [
@@ -0,0 +1,39 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class oh_owf_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Ohio OWF eligibility"
8
+ definition_period = MONTH
9
+ defined_for = StateCode.OH
10
+ reference = "https://codes.ohio.gov/ohio-revised-code/section-5107.10"
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ person = spm_unit.members
14
+
15
+ # Must meet demographic requirements (minor child with parent/relative
16
+ # OR pregnant woman at least 6 months pregnant)
17
+ # Use federal demographic eligibility
18
+ demographic_eligible = spm_unit("is_demographic_tanf_eligible", period)
19
+
20
+ # Must have at least one citizen or legal immigrant
21
+ # Use federal immigration eligibility
22
+ immigration_status_eligible = spm_unit.any(
23
+ person("is_citizen_or_legal_immigrant", period)
24
+ )
25
+
26
+ # Must meet income requirements
27
+ # (oh_owf_income_eligible handles both initial and ongoing tests)
28
+ income_eligible = spm_unit("oh_owf_income_eligible", period)
29
+
30
+ # Ohio has NO resource limits per working_references.md:
31
+ # "No Resource Test: Resources such as a car or home ownership
32
+ # are NOT considered in determining eligibility"
33
+
34
+ # All requirements must be met
35
+ return (
36
+ demographic_eligible
37
+ & immigration_status_eligible
38
+ & income_eligible
39
+ )