policyengine-us 1.426.0__py3-none-any.whl → 1.439.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. policyengine_us/parameters/gov/aca/state_rating_area_cost.yaml +511 -12
  2. policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/min_age.yaml +1 -1
  3. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/age_limit.yaml +9 -0
  4. policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/amount.yaml +9 -0
  5. policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/amount.yaml +2 -2
  6. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +60 -51
  7. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +60 -51
  8. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/earned.yaml +13 -0
  9. policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/unearned.yaml +23 -0
  10. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/README.md +1 -206
  11. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/{income/all.yaml → income.yaml} +1 -1
  12. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution.yaml +70 -0
  13. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/joint.yaml +10 -0
  14. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/single.yaml +10 -0
  15. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/joint.yaml +10 -0
  16. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/single.yaml +10 -0
  17. policyengine_us/parameters/gov/states/co/tax/income/credits/refundable.yaml +10 -0
  18. policyengine_us/parameters/gov/states/ga/tax/income/credits/itemizer/amount.yaml +14 -0
  19. policyengine_us/parameters/gov/states/ga/tax/income/credits/non_refundable.yaml +9 -0
  20. policyengine_us/parameters/gov/states/hi/tax/income/alternative_tax/availability.yaml +2 -3
  21. policyengine_us/parameters/gov/states/pa/tax/income/credits/eitc/match.yaml +10 -0
  22. policyengine_us/parameters/gov/states/pa/tax/income/credits/refundable.yaml +6 -0
  23. policyengine_us/parameters/gov/states/va/tax/income/credits/non_refundable.yaml +1 -1
  24. policyengine_us/parameters/gov/territories/pr/tax/income/credits/refundable.yaml +2 -0
  25. policyengine_us/parameters/gov/territories/pr/tax/income/tax_rate/amount.yaml +35 -0
  26. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/caring_dependent_child.yaml +1 -1
  27. policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/exempted.yaml +1 -1
  28. policyengine_us/parameters/gov/usda/snap/work_requirements/general/weekly_hours_threshold.yaml +1 -1
  29. policyengine_us/reforms/congress/tlaib/__init__.py +4 -3
  30. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/__init__.py +9 -0
  31. policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.py +237 -0
  32. policyengine_us/reforms/reforms.py +5 -4
  33. policyengine_us/reforms/states/ri/ctc/ri_ctc_reform.py +32 -1
  34. policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py +26 -5
  35. policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml +1 -1
  36. policyengine_us/tests/policy/baseline/gov/hhs/tanf/tanf_fpg.yaml +53 -0
  37. policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/income_elasticity.yaml +6 -12
  38. policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/labor_supply_behavioral_response.yaml +24 -2
  39. policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/substitution_elasticity.yaml +35 -10
  40. policyengine_us/tests/policy/baseline/gov/ssa/ssi/integration_tests.yaml +150 -4
  41. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.yaml +64 -0
  42. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.yaml +122 -0
  43. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.yaml +65 -0
  44. policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/credits/ga_itemizer_credit.yaml +44 -0
  45. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/alternative_tax/hi_alternative_tax_on_capital_gains_eligible.yaml +0 -8
  46. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.yaml +4 -0
  47. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.yaml +15 -0
  48. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/integration.yaml +96 -0
  49. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.yaml +8 -8
  50. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +57 -0
  51. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml +4 -4
  52. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +59 -0
  53. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/credits/pa_eitc.yaml +26 -0
  54. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml +31 -0
  55. policyengine_us/tests/policy/baseline/gov/test_categorical_eligibility_vectorization.yaml +41 -0
  56. policyengine_us/tests/policy/contrib/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.yaml +198 -0
  57. policyengine_us/tests/policy/contrib/states/ri/ctc_reform_test.yaml +144 -0
  58. policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml +2 -2
  59. policyengine_us/variables/gov/ed/pell_grant/efc/pell_grant_simplified_formula_applies.py +1 -2
  60. policyengine_us/variables/gov/fcc/lifeline/is_lifeline_eligible.py +2 -2
  61. policyengine_us/variables/gov/hhs/head_start/early_head_start.py +2 -1
  62. policyengine_us/variables/gov/hhs/head_start/head_start.py +2 -1
  63. policyengine_us/variables/gov/hhs/head_start/is_head_start_categorically_eligible.py +1 -3
  64. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_earned_income.py +13 -0
  65. policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_unearned_income.py +13 -0
  66. policyengine_us/variables/gov/hhs/tanf/tanf_fpg.py +28 -0
  67. policyengine_us/variables/gov/simulation/labor_supply_response/income_elasticity.py +1 -27
  68. policyengine_us/variables/gov/simulation/labor_supply_response/substitution_elasticity.py +18 -43
  69. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/is_ssi_spousal_deeming_applies.py +41 -0
  70. policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/ssi_income_deemed_from_ineligible_spouse.py +20 -20
  71. policyengine_us/variables/gov/ssa/ssi/ssi.py +22 -1
  72. policyengine_us/variables/gov/ssa/ssi/ssi_amount_if_eligible.py +26 -4
  73. policyengine_us/variables/gov/states/ca/cpuc/care/eligibility/ca_care_categorically_eligible.py +2 -2
  74. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +26 -0
  75. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +27 -0
  76. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker.py +10 -0
  77. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.py +18 -0
  78. policyengine_us/variables/gov/states/ga/tax/income/credits/ga_itemizer_credit.py +19 -0
  79. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.py +1 -1
  80. policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.py +14 -0
  81. policyengine_us/variables/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.py +2 -2
  82. policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py +2 -2
  83. policyengine_us/variables/gov/states/pa/tax/income/credits/pa_eitc.py +16 -0
  84. policyengine_us/variables/gov/territories/pr/tax/income/pr_income_tax.py +14 -0
  85. policyengine_us/variables/gov/territories/pr/tax/income/pr_normal_tax.py +16 -0
  86. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +11 -0
  87. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +11 -0
  88. {policyengine_us-1.426.0.dist-info → policyengine_us-1.439.0.dist-info}/METADATA +1 -1
  89. {policyengine_us-1.426.0.dist-info → policyengine_us-1.439.0.dist-info}/RECORD +100 -84
  90. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/age_limit.yaml +0 -8
  91. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/amount.yaml +0 -13
  92. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/in_effect.yaml +0 -8
  93. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/min_birth_year.yaml +0 -8
  94. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/amount.yaml +0 -13
  95. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/in_effect.yaml +0 -8
  96. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/max_age.yaml +0 -8
  97. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/min_age.yaml +0 -8
  98. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/rate.yaml +0 -8
  99. policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/threshold.yaml +0 -24
  100. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/age_multiplier_over_threshold.yaml +0 -11
  101. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/age_threshold.yaml +0 -9
  102. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/base.yaml +0 -11
  103. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/age_multiplier_over_threshold.yaml +0 -11
  104. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/age_threshold.yaml +0 -9
  105. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/all.yaml +0 -6
  106. policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/by_position_and_decile.yaml +0 -71
  107. policyengine_us/reforms/congress/tlaib/income_security_package/__init__.py +0 -17
  108. policyengine_us/reforms/congress/tlaib/income_security_package/income_security_package.py +0 -402
  109. policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/integration.yaml +0 -45
  110. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/integration.yaml +0 -154
  111. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/state_integration.yaml +0 -110
  112. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/test_individual_acts.yaml +0 -149
  113. policyengine_us/tests/policy/contrib/congress/tlaib/income_security/unit_tests.yaml +0 -272
  114. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/amount.yaml +0 -0
  115. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/child_benefit/age_limit.yaml +0 -0
  116. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/amount.yaml +0 -0
  117. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/max_age.yaml +0 -0
  118. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/min_age.yaml +0 -0
  119. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/rate.yaml +0 -0
  120. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/start.yaml +0 -0
  121. /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/in_effect.yaml +0 -0
  122. {policyengine_us-1.426.0.dist-info → policyengine_us-1.439.0.dist-info}/WHEEL +0 -0
  123. {policyengine_us-1.426.0.dist-info → policyengine_us-1.439.0.dist-info}/entry_points.txt +0 -0
  124. {policyengine_us-1.426.0.dist-info → policyengine_us-1.439.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,70 @@
1
+ all:
2
+ description: Percent change (of the change in the effective marginal wage) in labor supply given a 1% change in the effective marginal wage. This parameter overrides all other substitution elasticities if provided.
3
+ values:
4
+ 2020-01-01: 0
5
+ metadata:
6
+ unit: /1
7
+ label: substitution elasticity of labor supply
8
+ by_position_and_decile:
9
+ metadata:
10
+ label: by position and decile
11
+ unit: /1
12
+ propagate_metadata_to_children: true
13
+ primary:
14
+ metadata:
15
+ label: primary adult
16
+ 1:
17
+ metadata:
18
+ label: primary adult, 1st decile substitution elasticity
19
+ values:
20
+ 2020-01-01: 0
21
+ 2:
22
+ metadata:
23
+ label: primary adult, 2nd decile substitution elasticity
24
+ values:
25
+ 2020-01-01: 0
26
+ 3:
27
+ metadata:
28
+ label: primary adult, 3rd decile substitution elasticity
29
+ values:
30
+ 2020-01-01: 0
31
+ 4:
32
+ metadata:
33
+ label: primary adult, 4th decile substitution elasticity
34
+ values:
35
+ 2020-01-01: 0
36
+ 5:
37
+ metadata:
38
+ label: primary adult, 5th decile substitution elasticity
39
+ values:
40
+ 2020-01-01: 0
41
+ 6:
42
+ metadata:
43
+ label: primary adult, 6th decile substitution elasticity
44
+ values:
45
+ 2020-01-01: 0
46
+ 7:
47
+ metadata:
48
+ label: primary adult, 7th decile substitution elasticity
49
+ values:
50
+ 2020-01-01: 0
51
+ 8:
52
+ metadata:
53
+ label: primary adult, 8th decile substitution elasticity
54
+ values:
55
+ 2020-01-01: 0
56
+ 9:
57
+ metadata:
58
+ label: primary adult, 9th decile substitution elasticity
59
+ values:
60
+ 2020-01-01: 0
61
+ 10:
62
+ metadata:
63
+ label: primary adult, 10th decile substitution elasticity
64
+ values:
65
+ 2020-01-01: 0
66
+ secondary:
67
+ metadata:
68
+ label: secondary adult, all deciles substitution elasticity
69
+ values:
70
+ 2020-01-01: 0
@@ -0,0 +1,10 @@
1
+ description: Colorado provides the following Care Worker Tax Credit amount for joint filers in which head and spouse are both care workers.
2
+ values:
3
+ 2026-01-01: 2_400
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Colorado Care Worker Tax Credit joint amount
8
+ reference:
9
+ - title: Colorado Revised Statutes Section 39-22-566 (3)(a)
10
+ href: https://law.justia.com/codes/colorado/title-39/specific-taxes/income-tax/article-22/part-5/section-39-22-566/
@@ -0,0 +1,10 @@
1
+ description: Colorado provides the following Care Worker Tax Credit amount for single filers.
2
+ values:
3
+ 2026-01-01: 1_200
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Colorado Care Worker Tax Credit single amount
8
+ reference:
9
+ - title: Colorado Revised Statutes Section 39-22-566 (3)(a)
10
+ href: https://law.justia.com/codes/colorado/title-39/specific-taxes/income-tax/article-22/part-5/section-39-22-566/
@@ -0,0 +1,10 @@
1
+ description: Colorado provides the Care Worker Tax Credit to joint filers with adjusted gross income below this limit.
2
+ values:
3
+ 2026-01-01: 100_000
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Colorado Care Worker Tax Credit joint income limit
8
+ reference:
9
+ - title: Colorado Revised Statutes Section 39-22-566 (3)(b)(I)(B)
10
+ href: https://law.justia.com/codes/colorado/title-39/specific-taxes/income-tax/article-22/part-5/section-39-22-566/
@@ -0,0 +1,10 @@
1
+ description: Colorado provides the Care Worker Tax Credit to single filers with adjusted gross income below this limit.
2
+ values:
3
+ 2026-01-01: 75_000
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Colorado Care Worker Tax Credit single income limit
8
+ reference:
9
+ - title: Colorado Revised Statutes Section 39-22-566 (3)(b)(I)(A)
10
+ href: https://law.justia.com/codes/colorado/title-39/specific-taxes/income-tax/article-22/part-5/section-39-22-566/
@@ -45,3 +45,13 @@ values:
45
45
  - co_income_qualified_senior_housing_credit
46
46
  - co_eitc
47
47
  - co_sales_tax_refund
48
+
49
+ 2026-01-01:
50
+ - co_ctc
51
+ - co_cdcc
52
+ - co_family_affordability_credit
53
+ - co_low_income_cdcc
54
+ - co_income_qualified_senior_housing_credit
55
+ - co_eitc
56
+ - co_sales_tax_refund
57
+ - co_care_worker_credit
@@ -0,0 +1,14 @@
1
+ description: Georgia provides this itemizer tax credit amount for resident taxpayers who itemize their deductions.
2
+ values:
3
+ 2024-01-01: 300
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Georgia itemizer tax credit amount
8
+ reference:
9
+ - title: 2024 Georgia Individual Income Tax Booklet, Page 17, Line 19
10
+ href: https://dor.georgia.gov/document/document/2024-it-511-individual-income-tax-booklet/download#page=17
11
+ - title: Official Code of Georgia Annotated | O.C.G.A. § 48-7-27.1
12
+ href: https://law.justia.com/codes/georgia/title-48/chapter-7/article-2/section-48-7-27-1/
13
+ - title: Official Code of Georgia Annotated | O.C.G.A. § 48-7-1 (Definition of Resident)
14
+ href: https://law.justia.com/codes/georgia/2022/title-48/chapter-7/article-1/section-48-7-1/
@@ -7,10 +7,15 @@ values:
7
7
  2022-01-01:
8
8
  - ga_cdcc
9
9
  - ga_low_income_credit
10
+ 2024-01-01:
11
+ - ga_cdcc
12
+ - ga_low_income_credit
13
+ - ga_itemizer_credit
10
14
  2026-01-01:
11
15
  - ga_cdcc
12
16
  - ga_low_income_credit
13
17
  - ga_ctc
18
+ - ga_itemizer_credit
14
19
  metadata:
15
20
  unit: list
16
21
  period: year
@@ -22,5 +27,9 @@ metadata:
22
27
  # Child and dependent care credit.
23
28
  - title: Official Code of Georgia Annotated | O.C.G.A. § 48-7-29.10(b)
24
29
  href: https://law.justia.com/codes/georgia/2022/title-48/chapter-7/article-2/section-48-7-29-10/
30
+ # Itemizer credit.
31
+ - title: Official Code of Georgia Annotated | O.C.G.A. § 48-7-29.23
32
+ href: https://law.justia.com/codes/georgia/2022/title-48/chapter-7/article-2/section-48-7-29-23/
33
+ # Child tax credit.
25
34
  - title: House Bill 136 # Establishes the CTC for tax year 2026.
26
35
  href: https://legiscan.com/GA/text/HB136/id/3204611/Georgia-2025-HB136-Enrolled.pdf#page=2
@@ -1,15 +1,14 @@
1
1
  description: Hawaii allows for an alternative tax on capital gains calculation if this is true.
2
2
  values:
3
3
  2021-01-01: true
4
- 2023-01-01: false
5
4
  metadata:
6
5
  unit: bool
7
6
  period: year
8
7
  label: Hawaii alternative tax on capital gain availability
9
8
  reference:
10
- - title: House of Representatives Thirty-Second Legislature, 2023. State of Hawaii, A Bill For An Act
11
- href: https://www.capitol.hawaii.gov/sessions/session2023/bills/HB232_.htm
12
9
  - title: 2022 N-15 Hawaii Nonresident and Part-Year Resident Income Tax Instructions - Tax Computation line 44
13
10
  href: https://files.hawaii.gov/tax/forms/2022/n15ins.pdf#page=28
14
11
  - title: 2022 Hawaii Revised Statutes Title 14. Taxation.235. Income Tax Law.235-51 Tax imposed on individuals; rates.-(f).(2)
15
12
  href: https://law.justia.com/codes/hawaii/2022/title-14/chapter-235/section-235-51/
13
+ - title: 2024 Hawaii N-11
14
+ href: https://files.hawaii.gov/tax/forms/2024/n11_i.pdf#page=3
@@ -0,0 +1,10 @@
1
+ description: The Working Pennsylvanians Tax Credit matches this percentage of the federal Earned Income Tax Credit.
2
+ values:
3
+ 2025-01-01: 0.1
4
+ metadata:
5
+ unit: /1
6
+ period: year
7
+ label: Pennsylvania EITC percent
8
+ reference:
9
+ - title: PA House Bill 416 - Article XVI-W.2 Working Pennsylvanians Tax Credit, Section 1603-W.2(C)
10
+ href: https://www.palegis.us/legislation/bills/text/PDF/2025/0/HB0416/PN2576#page=50
@@ -3,6 +3,9 @@ values:
3
3
  2021-01-01: []
4
4
  2022-01-01:
5
5
  - pa_cdcc
6
+ 2025-01-01:
7
+ - pa_cdcc
8
+ - pa_eitc
6
9
 
7
10
  metadata:
8
11
  unit: list
@@ -14,3 +17,6 @@ metadata:
14
17
  href: https://www.revenue.pa.gov/TaxTypes/PIT/Child%20and%20Dependent%20Care%20Enhancement%20Tax%20Credit/Pages/default.aspx
15
18
  - title: 2024 PA Schedule DC - Child and Dependent Care Enhancement Tax Credit (PA Schedule DC)
16
19
  href: https://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2024/2024_pa-40dc.pdf#page=3
20
+ # EITC reference
21
+ - title: PA House Bill 416 - Article XVI-W.2 Working Pennsylvanians Tax Credit
22
+ href: https://www.palegis.us/legislation/bills/text/PDF/2025/0/HB0416/PN2576#page=50
@@ -8,7 +8,7 @@ values:
8
8
  2023-01-01:
9
9
  - va_non_refundable_eitc
10
10
  - va_rebate
11
- 2024-01-01:
11
+ 2025-01-01:
12
12
  - va_non_refundable_eitc
13
13
 
14
14
  metadata:
@@ -16,3 +16,5 @@ values:
16
16
  - pr_low_income_credit
17
17
  - pr_compensatory_low_income_credit
18
18
  - pr_earned_income_credit
19
+ - refundable_american_opportunity_credit
20
+ - pr_refundable_ctc
@@ -0,0 +1,35 @@
1
+ description: Puerto Rico taxes individuals at this rate structure.
2
+ # NOTE: no separate thresholds given by the tax reference for separate filing statuses
3
+ # NOTE: no more recent tax rates since 2012 found in legal and tax code
4
+ brackets:
5
+ - threshold:
6
+ 2012-12-31: 0
7
+ rate:
8
+ 2012-12-31: 0
9
+ - threshold:
10
+ 2012-12-31: 9_000
11
+ rate:
12
+ 2012-12-31: 0.07
13
+ - threshold:
14
+ 2012-12-31: 25_000
15
+ rate:
16
+ 2012-12-31: 0.14
17
+ - threshold:
18
+ 2012-12-31: 41_500
19
+ rate:
20
+ 2012-12-31: 0.25
21
+ - threshold:
22
+ 2012-12-31: 61_500
23
+ rate:
24
+ 2012-12-31: 0.33
25
+ metadata:
26
+ rate_unit: /1
27
+ threshold_unit: currency_USD
28
+ type: marginal_rate
29
+ label: Puerto Rico tax rate
30
+ period: year
31
+ reference:
32
+ - title: Schedule CT Individual, Earned Income Credit, 2023
33
+ href: https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=19
34
+ - title: P.R. Laws tit. 13, § 30061 (a)
35
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/
@@ -1,4 +1,4 @@
1
- description: TThe Department of Agriculture exempts individuals caring for a dependent child under this age from the general work requirements under the Supplemental Nutrition Assistance Program.
1
+ description: The Department of Agriculture exempts individuals caring for a dependent child under this age from the general work requirements under the Supplemental Nutrition Assistance Program.
2
2
  values:
3
3
  2019-01-01: 6
4
4
 
@@ -1,4 +1,4 @@
1
- description: TThe Department of Agriculture exempts individuals within these age brackets from the general work requirements under the Supplemental Nutrition Assistance Program.
1
+ description: The Department of Agriculture exempts individuals within these age brackets from the general work requirements under the Supplemental Nutrition Assistance Program.
2
2
  metadata:
3
3
  threshold_unit: year
4
4
  amount_unit: bool
@@ -1,4 +1,4 @@
1
- description: TThe Department of Agriculture limits the Supplemental Nutrition Assistance Program to individuals working more than this number of weekly hours from the general work requirements.
1
+ description: The Department of Agriculture limits the Supplemental Nutrition Assistance Program to individuals working more than this number of weekly hours from the general work requirements.
2
2
 
3
3
  values:
4
4
  2019-01-01: 30
@@ -1,7 +1,8 @@
1
1
  from .end_child_poverty_act import (
2
2
  create_end_child_poverty_act_reform,
3
+ end_child_poverty_act,
3
4
  )
4
- from .income_security_package import (
5
- income_security_package,
6
- create_income_security_package_reform,
5
+ from .economic_dignity_for_all_agenda import (
6
+ end_child_poverty_act as edaa_end_child_poverty_act,
7
+ create_end_child_poverty_act_reform as create_edaa_end_child_poverty_act_reform,
7
8
  )
@@ -0,0 +1,9 @@
1
+ from .edaa_end_child_poverty_act import (
2
+ end_child_poverty_act,
3
+ create_end_child_poverty_act_reform,
4
+ )
5
+
6
+ __all__ = [
7
+ "end_child_poverty_act",
8
+ "create_end_child_poverty_act_reform",
9
+ ]
@@ -0,0 +1,237 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ def create_ecpa_only() -> Reform:
5
+ class ecpa_child_benefit(Variable):
6
+ value_type = float
7
+ entity = Person
8
+ definition_period = YEAR
9
+ label = "End Child Poverty Act child benefit"
10
+ unit = USD
11
+ documentation = (
12
+ "Universal child benefit under the End Child Poverty Act"
13
+ )
14
+ reference = "placeholder - bill not yet introduced"
15
+
16
+ def formula(person, period, parameters):
17
+ p = parameters(
18
+ period
19
+ ).gov.contrib.congress.tlaib.economic_dignity_for_all_agenda.end_child_poverty_act
20
+
21
+ age = person("age", period)
22
+ is_eligible = age < p.child_benefit.age_limit
23
+
24
+ # Use FPG additional_person amount (CONTIGUOUS_US for all states), rounded to nearest $10
25
+ p_fpg = parameters(period).gov.hhs.fpg
26
+ fpg_amount = p_fpg.additional_person.CONTIGUOUS_US
27
+ amount = round(fpg_amount / 10) * 10
28
+
29
+ return is_eligible * amount
30
+
31
+ class ecpa_adult_dependent_credit(Variable):
32
+ value_type = float
33
+ entity = Person
34
+ definition_period = YEAR
35
+ label = "End Child Poverty Act adult dependent credit"
36
+ unit = USD
37
+ documentation = (
38
+ "Credit for adult dependents under the End Child Poverty Act"
39
+ )
40
+ reference = "placeholder - bill not yet introduced"
41
+
42
+ def formula(person, period, parameters):
43
+ p = parameters(
44
+ period
45
+ ).gov.contrib.congress.tlaib.economic_dignity_for_all_agenda.end_child_poverty_act
46
+
47
+ age = person("age", period)
48
+ is_dependent = person("is_tax_unit_dependent", period)
49
+
50
+ is_eligible = (
51
+ age >= p.adult_dependent_credit.min_age
52
+ ) & is_dependent
53
+
54
+ return is_eligible * p.adult_dependent_credit.amount
55
+
56
+ class ecpa_filer_credit(Variable):
57
+ value_type = float
58
+ entity = TaxUnit
59
+ definition_period = YEAR
60
+ label = "End Child Poverty Act filer credit"
61
+ unit = USD
62
+ documentation = "Filer credit under the End Child Poverty Act for eligible tax filers"
63
+ reference = "placeholder - bill not yet introduced"
64
+
65
+ def formula(tax_unit, period, parameters):
66
+ p = parameters(
67
+ period
68
+ ).gov.contrib.congress.tlaib.economic_dignity_for_all_agenda.end_child_poverty_act
69
+
70
+ person = tax_unit.members
71
+ age = person("age", period)
72
+
73
+ is_head_or_spouse = person("is_tax_unit_head_or_spouse", period)
74
+
75
+ is_eligible_age = (age >= p.filer_credit.eligibility.min_age) & (
76
+ age < p.filer_credit.eligibility.max_age
77
+ )
78
+ is_eligible_filer = is_head_or_spouse & is_eligible_age
79
+
80
+ has_eligible_filer = tax_unit.any(is_eligible_filer)
81
+
82
+ filing_status = tax_unit("filing_status", period)
83
+ amount = p.filer_credit.amount[filing_status]
84
+
85
+ agi = tax_unit("adjusted_gross_income", period)
86
+ excess_agi = max_(
87
+ agi - p.filer_credit.phase_out.start[filing_status], 0
88
+ )
89
+ phase_out = excess_agi * p.filer_credit.phase_out.rate
90
+
91
+ phased_out_amount = max_(amount - phase_out, 0)
92
+
93
+ return has_eligible_filer * phased_out_amount
94
+
95
+ class household_benefits(Variable):
96
+ value_type = float
97
+ entity = Household
98
+ label = "benefits"
99
+ unit = USD
100
+ definition_period = YEAR
101
+
102
+ def formula(household, period, parameters):
103
+ # Start with baseline benefits from parameters
104
+ BENEFITS = list(
105
+ parameters(period).gov.household.household_benefits
106
+ )
107
+
108
+ # Add ECPA child benefit
109
+ BENEFITS.append("ecpa_child_benefit")
110
+
111
+ return add(household, period, BENEFITS)
112
+
113
+ class spm_unit_benefits(Variable):
114
+ value_type = float
115
+ entity = SPMUnit
116
+ label = "Benefits"
117
+ definition_period = YEAR
118
+ unit = USD
119
+
120
+ def formula(spm_unit, period, parameters):
121
+ BENEFITS = [
122
+ "social_security",
123
+ "ssi",
124
+ "ma_state_supplement",
125
+ "ca_cvrp",
126
+ "co_ccap_subsidy",
127
+ "co_state_supplement",
128
+ "co_oap",
129
+ "snap",
130
+ "wic",
131
+ "free_school_meals",
132
+ "reduced_price_school_meals",
133
+ "spm_unit_broadband_subsidy",
134
+ "spm_unit_energy_subsidy",
135
+ "tanf",
136
+ "high_efficiency_electric_home_rebate",
137
+ "residential_efficiency_electrification_rebate",
138
+ "unemployment_compensation",
139
+ "ak_energy_relief",
140
+ "basic_income",
141
+ "ny_drive_clean_rebate",
142
+ ]
143
+
144
+ # Add ECPA child benefit
145
+ BENEFITS.append("ecpa_child_benefit")
146
+
147
+ if parameters(period).gov.contrib.ubi_center.flat_tax.deduct_ptc:
148
+ BENEFITS.append("aca_ptc")
149
+ if not parameters(period).gov.hud.abolition:
150
+ BENEFITS.append("spm_unit_capped_housing_subsidy")
151
+
152
+ return add(spm_unit, period, BENEFITS)
153
+
154
+ class income_tax_refundable_credits(Variable):
155
+ value_type = float
156
+ entity = TaxUnit
157
+ definition_period = YEAR
158
+ label = "federal refundable income tax credits"
159
+ unit = USD
160
+
161
+ def formula(tax_unit, period, parameters):
162
+ # Get standard refundable credits, excluding EITC and refundable CTC (ECPA replaces them)
163
+ standard_credits = parameters(period).gov.irs.credits.refundable
164
+
165
+ CREDITS = [
166
+ c
167
+ for c in standard_credits
168
+ if c not in ["eitc", "refundable_ctc"]
169
+ ]
170
+
171
+ base_credits = add(tax_unit, period, CREDITS) if CREDITS else 0
172
+
173
+ # Add ECPA credits
174
+ ecpa_filer = tax_unit("ecpa_filer_credit", period)
175
+ ecpa_adult_dep = add(
176
+ tax_unit, period, ["ecpa_adult_dependent_credit"]
177
+ )
178
+ return base_credits + ecpa_filer + ecpa_adult_dep
179
+
180
+ class income_tax_non_refundable_credits(Variable):
181
+ value_type = float
182
+ entity = TaxUnit
183
+ definition_period = YEAR
184
+ label = "federal non-refundable income tax credits"
185
+ unit = USD
186
+
187
+ def formula(tax_unit, period, parameters):
188
+ # Get the base list of non-refundable credits from parameters
189
+ p = parameters(period).gov.irs.credits
190
+ base_credits = list(p.non_refundable)
191
+
192
+ # ECPA removes non_refundable_ctc from the list
193
+ CREDITS = [c for c in base_credits if c != "non_refundable_ctc"]
194
+
195
+ return add(tax_unit, period, CREDITS)
196
+
197
+ class reform(Reform):
198
+ def apply(self):
199
+ # Update only ECPA variables
200
+ self.update_variable(ecpa_child_benefit)
201
+ self.update_variable(ecpa_adult_dependent_credit)
202
+ self.update_variable(ecpa_filer_credit)
203
+ self.update_variable(household_benefits)
204
+ self.update_variable(spm_unit_benefits)
205
+ self.update_variable(income_tax_refundable_credits)
206
+ self.update_variable(income_tax_non_refundable_credits)
207
+
208
+ return reform
209
+
210
+
211
+ end_child_poverty_act = create_ecpa_only()
212
+
213
+
214
+ def create_end_child_poverty_act_reform(
215
+ parameters, period, bypass: bool = False
216
+ ):
217
+ """Auto-application function for structural reforms."""
218
+ if bypass:
219
+ return create_ecpa_only()
220
+
221
+ from policyengine_core.periods import period as period_
222
+
223
+ p = parameters.gov.contrib.congress.tlaib.economic_dignity_for_all_agenda
224
+
225
+ reform_active = False
226
+ current_period = period_(period)
227
+
228
+ for i in range(5):
229
+ if p(current_period).end_child_poverty_act.in_effect:
230
+ reform_active = True
231
+ break
232
+ current_period = current_period.offset(1, "year")
233
+
234
+ if reform_active:
235
+ return create_ecpa_only()
236
+ else:
237
+ return None
@@ -28,8 +28,9 @@ from .harris.rent_relief_act.rent_relief_tax_credit import (
28
28
  )
29
29
  from .congress.tlaib import (
30
30
  create_end_child_poverty_act_reform,
31
- income_security_package,
32
- create_income_security_package_reform,
31
+ )
32
+ from .congress.tlaib.economic_dignity_for_all_agenda import (
33
+ create_end_child_poverty_act_reform as create_edaa_end_child_poverty_act_reform,
33
34
  )
34
35
  from .congress.tlaib.boost import (
35
36
  create_boost_middle_class_tax_credit_reform,
@@ -170,7 +171,7 @@ def create_structural_reforms_from_parameters(parameters, period):
170
171
  end_child_poverty_act = create_end_child_poverty_act_reform(
171
172
  parameters, period
172
173
  )
173
- income_security_package_reform = create_income_security_package_reform(
174
+ edaa_end_child_poverty_act = create_edaa_end_child_poverty_act_reform(
174
175
  parameters, period
175
176
  )
176
177
  boost_middle_class_tax_credit = (
@@ -288,7 +289,7 @@ def create_structural_reforms_from_parameters(parameters, period):
288
289
  middle_class_tax_credit,
289
290
  rent_relief_tax_credit,
290
291
  end_child_poverty_act,
291
- income_security_package_reform,
292
+ edaa_end_child_poverty_act,
292
293
  boost_middle_class_tax_credit,
293
294
  mn_walz_hf1938,
294
295
  or_rebate_state_tax_exempt,
@@ -24,6 +24,30 @@ def create_ri_ctc() -> Reform:
24
24
  eligible = is_dependent & meets_age
25
25
  return tax_unit.sum(eligible)
26
26
 
27
+ class ri_ctc_young_child_boost(Variable):
28
+ value_type = float
29
+ entity = TaxUnit
30
+ label = "Rhode Island CTC young child boost"
31
+ unit = USD
32
+ definition_period = YEAR
33
+ defined_for = StateCode.RI
34
+
35
+ def formula(tax_unit, period, parameters):
36
+ p = parameters(period).gov.contrib.states.ri.ctc
37
+
38
+ person = tax_unit.members
39
+ age = person("age", period)
40
+ is_dependent = person("is_tax_unit_dependent", period)
41
+
42
+ # Check both general CTC eligibility and young child age limit
43
+ meets_age = age < p.age_limit
44
+ meets_young_child_age = age < p.young_child_boost.age_limit
45
+
46
+ eligible_young_children = tax_unit.sum(
47
+ is_dependent & meets_age & meets_young_child_age
48
+ )
49
+ return eligible_young_children * p.young_child_boost.amount
50
+
27
51
  class ri_ctc_maximum(Variable):
28
52
  value_type = float
29
53
  entity = TaxUnit
@@ -35,8 +59,14 @@ def create_ri_ctc() -> Reform:
35
59
  def formula(tax_unit, period, parameters):
36
60
  p = parameters(period).gov.contrib.states.ri.ctc
37
61
 
62
+ # Base credit for all eligible children
38
63
  eligible_children = tax_unit("ri_ctc_eligible_children", period)
39
- return eligible_children * p.amount
64
+ base_credit = eligible_children * p.amount
65
+
66
+ # Young child boost
67
+ young_child_boost = tax_unit("ri_ctc_young_child_boost", period)
68
+
69
+ return base_credit + young_child_boost
40
70
 
41
71
  class ri_ctc_phaseout(Variable):
42
72
  value_type = float
@@ -142,6 +172,7 @@ def create_ri_ctc() -> Reform:
142
172
  class reform(Reform):
143
173
  def apply(self):
144
174
  self.update_variable(ri_ctc_eligible_children)
175
+ self.update_variable(ri_ctc_young_child_boost)
145
176
  self.update_variable(ri_ctc_maximum)
146
177
  self.update_variable(ri_ctc_phaseout)
147
178
  self.update_variable(ri_total_ctc)