policyengine-us 1.442.1__py3-none-any.whl → 1.444.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.
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
- policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/qualified_noncitizen_statuses.yaml +21 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
- policyengine_us/reforms/local/ny/__init__.py +4 -0
- policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
- policyengine_us/reforms/reforms.py +9 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
- policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.py +26 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
- {policyengine_us-1.442.1.dist-info → policyengine_us-1.444.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.442.1.dist-info → policyengine_us-1.444.0.dist-info}/RECORD +47 -6
- {policyengine_us-1.442.1.dist-info → policyengine_us-1.444.0.dist-info}/WHEEL +1 -1
- {policyengine_us-1.442.1.dist-info → policyengine_us-1.444.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.442.1.dist-info → policyengine_us-1.444.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
description: Zohran Mamdani's proposed additional NYC income tax on income above a certain threshold is in effect if this is true.
|
|
2
|
+
values:
|
|
3
|
+
0000-01-01: false
|
|
4
|
+
metadata:
|
|
5
|
+
unit: bool
|
|
6
|
+
period: year
|
|
7
|
+
label: Zohran Mamdani NYC additional millionaire income tax in effect
|
|
8
|
+
reference:
|
|
9
|
+
- title: Mamdani Revenue Proposal
|
|
10
|
+
href: https://drive.google.com/file/d/14-aM9DKG337SDMilmfQtLRR-pDwyWSTc/view
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
description: Zohran Mamdani proposed taxing New York City residents' income above a threshold at this rate.
|
|
2
|
+
metadata:
|
|
3
|
+
type: marginal_rate
|
|
4
|
+
threshold_unit: currency-USD
|
|
5
|
+
rate_unit: /1
|
|
6
|
+
label: Zohran Mamdani NYC high earner income tax rate
|
|
7
|
+
reference:
|
|
8
|
+
- title: Mamdani Revenue Proposal
|
|
9
|
+
href: https://drive.google.com/file/d/14-aM9DKG337SDMilmfQtLRR-pDwyWSTc/view
|
|
10
|
+
brackets:
|
|
11
|
+
- threshold:
|
|
12
|
+
2026-01-01: 0
|
|
13
|
+
rate:
|
|
14
|
+
2026-01-01: 0
|
|
15
|
+
- threshold:
|
|
16
|
+
2026-01-01: 1_000_000
|
|
17
|
+
rate:
|
|
18
|
+
2026-01-01: 0.02
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Department of Healthcare and Family Services (HFS)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Health Benefits for Workers with Disabilities (HBWD)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
description: Illinois limits the Health Benefits for Workers with Disabilities program to individuals between these ages.
|
|
2
|
+
metadata:
|
|
3
|
+
threshold_unit: year
|
|
4
|
+
amount_unit: bool
|
|
5
|
+
period: year
|
|
6
|
+
type: single_amount
|
|
7
|
+
label: Illinois HBWD age eligibility
|
|
8
|
+
reference:
|
|
9
|
+
- title: 89 Ill. Admin. Code § 120.510 (a)(7) - HBWD Eligibility
|
|
10
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
11
|
+
- title: Health Benefits for Workers with Disabilities Eligibility | HFS
|
|
12
|
+
href: https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html
|
|
13
|
+
brackets:
|
|
14
|
+
- threshold:
|
|
15
|
+
2022-04-01: 0
|
|
16
|
+
amount:
|
|
17
|
+
2022-04-01: false
|
|
18
|
+
- threshold:
|
|
19
|
+
2022-04-01: 16
|
|
20
|
+
amount:
|
|
21
|
+
2022-04-01: true
|
|
22
|
+
- threshold:
|
|
23
|
+
2022-04-01: 65
|
|
24
|
+
amount:
|
|
25
|
+
2022-04-01: false
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
description: Illinois limits the Health Benefits for Workers with Disabilities program to individuals with non-exempt assets at or below this amount.
|
|
2
|
+
values:
|
|
3
|
+
2022-04-01: 25_000
|
|
4
|
+
|
|
5
|
+
metadata:
|
|
6
|
+
unit: currency-USD
|
|
7
|
+
period: year
|
|
8
|
+
label: Illinois HBWD asset limit
|
|
9
|
+
reference:
|
|
10
|
+
- title: 89 Ill. Admin. Code § 120.510 (a)(9)- HBWD Eligibility
|
|
11
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
12
|
+
- title: 305 ILCS 5/5-2 - Classes of Persons Eligible (11)(c)
|
|
13
|
+
href: https://www.ilga.gov/documents/legislation/ilcs/documents/030500050K5-2.htm
|
|
14
|
+
- title: Health Benefits for Workers with Disabilities Eligibility | HFS
|
|
15
|
+
href: https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
description: Illinois limits the Health Benefits for Workers with Disabilities program to individuals with countable income at or below this percentage of the Federal Poverty Level.
|
|
2
|
+
values:
|
|
3
|
+
2022-04-01: 3.5
|
|
4
|
+
|
|
5
|
+
metadata:
|
|
6
|
+
unit: /1
|
|
7
|
+
period: year
|
|
8
|
+
label: Illinois HBWD income limit as percent of FPL
|
|
9
|
+
reference:
|
|
10
|
+
- title: 89 Ill. Admin. Code § 120.510 (a)(8) - HBWD Eligibility
|
|
11
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
12
|
+
- title: 305 ILCS 5/5-2 - Classes of Persons Eligible (11)(a)
|
|
13
|
+
href: https://www.ilga.gov/documents/legislation/ilcs/documents/030500050K5-2.htm
|
|
14
|
+
- title: Health Benefits for Workers with Disabilities Eligibility | HFS
|
|
15
|
+
href: https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
description: Illinois counts these income sources as earned income under the Health Benefits for Workers with Disabilities program.
|
|
2
|
+
values:
|
|
3
|
+
2022-04-01:
|
|
4
|
+
- employment_income
|
|
5
|
+
- self_employment_income
|
|
6
|
+
|
|
7
|
+
metadata:
|
|
8
|
+
unit: list
|
|
9
|
+
period: year
|
|
10
|
+
label: Illinois HBWD earned income sources
|
|
11
|
+
reference:
|
|
12
|
+
- title: 89 Ill. Admin. Code § 120.360 - Income - Earned Income
|
|
13
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.360
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
description: Illinois counts these income sources as unearned income under the Health Benefits for Workers with Disabilities program.
|
|
2
|
+
values:
|
|
3
|
+
2022-04-01:
|
|
4
|
+
- social_security
|
|
5
|
+
- disability_benefits
|
|
6
|
+
- workers_compensation
|
|
7
|
+
- unemployment_compensation
|
|
8
|
+
- retirement_distributions
|
|
9
|
+
- alimony_income
|
|
10
|
+
- dividend_income
|
|
11
|
+
- interest_income
|
|
12
|
+
- capital_gains
|
|
13
|
+
- farm_income
|
|
14
|
+
- farm_rent_income
|
|
15
|
+
- debt_relief
|
|
16
|
+
- illicit_income
|
|
17
|
+
- miscellaneous_income
|
|
18
|
+
|
|
19
|
+
metadata:
|
|
20
|
+
unit: list
|
|
21
|
+
period: year
|
|
22
|
+
label: Illinois HBWD unearned income sources
|
|
23
|
+
reference:
|
|
24
|
+
- title: 89 Ill. Admin. Code § 120.330 - Income - Unearned Income
|
|
25
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.330
|
policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/qualified_noncitizen_statuses.yaml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
description: Illinois considers these statuses as qualified noncitizens under the Health Benefits for Workers with Disabilities program.
|
|
2
|
+
values:
|
|
3
|
+
2022-04-01:
|
|
4
|
+
# - HONORABLY_DISCHARGED_VETERAN # Not in immigration_status enum
|
|
5
|
+
- REFUGEE
|
|
6
|
+
- ASYLEE
|
|
7
|
+
- DEPORTATION_WITHHELD
|
|
8
|
+
- CONDITIONAL_ENTRANT
|
|
9
|
+
- LEGAL_PERMANENT_RESIDENT
|
|
10
|
+
- PAROLED_ONE_YEAR
|
|
11
|
+
# - VICTIMS_OF_TRAFFICKING # Not in immigration_status enum yet
|
|
12
|
+
|
|
13
|
+
metadata:
|
|
14
|
+
label: Illinois HBWD qualified noncitizen statuses
|
|
15
|
+
period: year
|
|
16
|
+
unit: list
|
|
17
|
+
reference:
|
|
18
|
+
- title: 89 Ill. Admin. Code § 120.310 (a)&(b) - Citizenship and Alien Status
|
|
19
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.310
|
|
20
|
+
- title: 89 Ill. Admin. Code § 120.510 (a)(2) - HBWD Eligibility
|
|
21
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
description: Illinois sets this premium component for the Health Benefits for Workers with Disabilities program based on earned income bracket.
|
|
2
|
+
metadata:
|
|
3
|
+
type: single_amount
|
|
4
|
+
threshold_unit: currency-USD
|
|
5
|
+
amount_unit: currency-USD
|
|
6
|
+
period: month
|
|
7
|
+
label: Illinois HBWD earned income premium component
|
|
8
|
+
reference:
|
|
9
|
+
# Illinois presents the table as a matrix, but the values can be summed between row 1 and column 1.
|
|
10
|
+
- title: 89 Ill. Admin. Code § 120.510 (n)
|
|
11
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
12
|
+
brackets:
|
|
13
|
+
- threshold:
|
|
14
|
+
2022-04-01: 0
|
|
15
|
+
amount:
|
|
16
|
+
2022-04-01: 0
|
|
17
|
+
- threshold:
|
|
18
|
+
2022-04-01: 250
|
|
19
|
+
amount:
|
|
20
|
+
2022-04-01: 6
|
|
21
|
+
- threshold:
|
|
22
|
+
2022-04-01: 500
|
|
23
|
+
amount:
|
|
24
|
+
2022-04-01: 13
|
|
25
|
+
- threshold:
|
|
26
|
+
2022-04-01: 750
|
|
27
|
+
amount:
|
|
28
|
+
2022-04-01: 19
|
|
29
|
+
- threshold:
|
|
30
|
+
2022-04-01: 1_000
|
|
31
|
+
amount:
|
|
32
|
+
2022-04-01: 25
|
|
33
|
+
- threshold:
|
|
34
|
+
2022-04-01: 1_250
|
|
35
|
+
amount:
|
|
36
|
+
2022-04-01: 31
|
|
37
|
+
- threshold:
|
|
38
|
+
2022-04-01: 1_500
|
|
39
|
+
amount:
|
|
40
|
+
2022-04-01: 38
|
|
41
|
+
- threshold:
|
|
42
|
+
2022-04-01: 1_750
|
|
43
|
+
amount:
|
|
44
|
+
2022-04-01: 44
|
|
45
|
+
- threshold:
|
|
46
|
+
2022-04-01: 2_000
|
|
47
|
+
amount:
|
|
48
|
+
2022-04-01: 50
|
|
49
|
+
- threshold:
|
|
50
|
+
2022-04-01: 2_250
|
|
51
|
+
amount:
|
|
52
|
+
2022-04-01: 56
|
|
53
|
+
- threshold:
|
|
54
|
+
2022-04-01: 2_500
|
|
55
|
+
amount:
|
|
56
|
+
2022-04-01: 63
|
|
57
|
+
- threshold:
|
|
58
|
+
2022-04-01: 2_750
|
|
59
|
+
amount:
|
|
60
|
+
2022-04-01: 69
|
|
61
|
+
- threshold:
|
|
62
|
+
2022-04-01: 3_000
|
|
63
|
+
amount:
|
|
64
|
+
2022-04-01: 75
|
|
65
|
+
- threshold:
|
|
66
|
+
2022-04-01: 3_250
|
|
67
|
+
amount:
|
|
68
|
+
2022-04-01: 81
|
|
69
|
+
- threshold:
|
|
70
|
+
2022-04-01: 3_500
|
|
71
|
+
amount:
|
|
72
|
+
2022-04-01: 88
|
|
73
|
+
- threshold:
|
|
74
|
+
2022-04-01: 3_750
|
|
75
|
+
amount:
|
|
76
|
+
2022-04-01: 94
|
|
77
|
+
- threshold:
|
|
78
|
+
2022-04-01: 4_000
|
|
79
|
+
amount:
|
|
80
|
+
2022-04-01: 100
|
|
81
|
+
- threshold:
|
|
82
|
+
2022-04-01: 4_250
|
|
83
|
+
amount:
|
|
84
|
+
2022-04-01: 106
|
|
85
|
+
- threshold:
|
|
86
|
+
2022-04-01: 4_500
|
|
87
|
+
amount:
|
|
88
|
+
2022-04-01: 113
|
|
89
|
+
- threshold:
|
|
90
|
+
2022-04-01: 4_750
|
|
91
|
+
amount:
|
|
92
|
+
2022-04-01: 119
|
|
93
|
+
- threshold:
|
|
94
|
+
2022-04-01: 5_000
|
|
95
|
+
amount:
|
|
96
|
+
2022-04-01: 125
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
description: Illinois sets this premium component for the Health Benefits for Workers with Disabilities program based on unearned income bracket.
|
|
2
|
+
metadata:
|
|
3
|
+
type: single_amount
|
|
4
|
+
threshold_unit: currency-USD
|
|
5
|
+
amount_unit: currency-USD
|
|
6
|
+
period: month
|
|
7
|
+
label: Illinois HBWD unearned income premium component
|
|
8
|
+
reference:
|
|
9
|
+
# Illinois presents the table as a matrix, but the values can be summed between row 1 and column 1.
|
|
10
|
+
- title: 89 Ill. Admin. Code § 120.510 (n)
|
|
11
|
+
href: https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510
|
|
12
|
+
brackets:
|
|
13
|
+
- threshold:
|
|
14
|
+
2022-04-01: 0
|
|
15
|
+
amount:
|
|
16
|
+
2022-04-01: 0
|
|
17
|
+
- threshold:
|
|
18
|
+
2022-04-01: 250
|
|
19
|
+
amount:
|
|
20
|
+
2022-04-01: 19
|
|
21
|
+
- threshold:
|
|
22
|
+
2022-04-01: 500
|
|
23
|
+
amount:
|
|
24
|
+
2022-04-01: 38
|
|
25
|
+
- threshold:
|
|
26
|
+
2022-04-01: 750
|
|
27
|
+
amount:
|
|
28
|
+
2022-04-01: 56
|
|
29
|
+
- threshold:
|
|
30
|
+
2022-04-01: 1_000
|
|
31
|
+
amount:
|
|
32
|
+
2022-04-01: 75
|
|
33
|
+
- threshold:
|
|
34
|
+
2022-04-01: 1_250
|
|
35
|
+
amount:
|
|
36
|
+
2022-04-01: 94
|
|
37
|
+
- threshold:
|
|
38
|
+
2022-04-01: 1_500
|
|
39
|
+
amount:
|
|
40
|
+
2022-04-01: 113
|
|
41
|
+
- threshold:
|
|
42
|
+
2022-04-01: 1_750
|
|
43
|
+
amount:
|
|
44
|
+
2022-04-01: 131
|
|
45
|
+
- threshold:
|
|
46
|
+
2022-04-01: 2_000
|
|
47
|
+
amount:
|
|
48
|
+
2022-04-01: 150
|
|
49
|
+
- threshold:
|
|
50
|
+
2022-04-01: 2_250
|
|
51
|
+
amount:
|
|
52
|
+
2022-04-01: 169
|
|
53
|
+
- threshold:
|
|
54
|
+
2022-04-01: 2_500
|
|
55
|
+
amount:
|
|
56
|
+
2022-04-01: 188
|
|
57
|
+
- threshold:
|
|
58
|
+
2022-04-01: 2_750
|
|
59
|
+
amount:
|
|
60
|
+
2022-04-01: 206
|
|
61
|
+
- threshold:
|
|
62
|
+
2022-04-01: 3_000
|
|
63
|
+
amount:
|
|
64
|
+
2022-04-01: 225
|
|
65
|
+
- threshold:
|
|
66
|
+
2022-04-01: 3_250
|
|
67
|
+
amount:
|
|
68
|
+
2022-04-01: 244
|
|
69
|
+
- threshold:
|
|
70
|
+
2022-04-01: 3_500
|
|
71
|
+
amount:
|
|
72
|
+
2022-04-01: 263
|
|
73
|
+
- threshold:
|
|
74
|
+
2022-04-01: 3_750
|
|
75
|
+
amount:
|
|
76
|
+
2022-04-01: 281
|
|
77
|
+
- threshold:
|
|
78
|
+
2022-04-01: 4_000
|
|
79
|
+
amount:
|
|
80
|
+
2022-04-01: 300
|
|
81
|
+
- threshold:
|
|
82
|
+
2022-04-01: 4_250
|
|
83
|
+
amount:
|
|
84
|
+
2022-04-01: 319
|
|
85
|
+
- threshold:
|
|
86
|
+
2022-04-01: 4_500
|
|
87
|
+
amount:
|
|
88
|
+
2022-04-01: 338
|
|
89
|
+
- threshold:
|
|
90
|
+
2022-04-01: 4_750
|
|
91
|
+
amount:
|
|
92
|
+
2022-04-01: 356
|
|
93
|
+
- threshold:
|
|
94
|
+
2022-04-01: 5_000
|
|
95
|
+
amount:
|
|
96
|
+
2022-04-01: 375
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
from policyengine_core.periods import period as period_
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def create_nyc_mamdani_income_tax() -> Reform:
|
|
6
|
+
class nyc_mamdani_income_tax(Variable):
|
|
7
|
+
value_type = float
|
|
8
|
+
entity = Person
|
|
9
|
+
label = "Zohran Mamdani NYC income tax"
|
|
10
|
+
unit = USD
|
|
11
|
+
definition_period = YEAR
|
|
12
|
+
defined_for = "in_nyc"
|
|
13
|
+
|
|
14
|
+
def formula(person, period, parameters):
|
|
15
|
+
taxable_income = person.tax_unit("nyc_taxable_income", period)
|
|
16
|
+
p = parameters(period).gov.local.ny.mamdani_income_tax
|
|
17
|
+
return p.rate.calc(taxable_income)
|
|
18
|
+
|
|
19
|
+
class nyc_income_tax_before_credits(Variable):
|
|
20
|
+
value_type = float
|
|
21
|
+
entity = TaxUnit
|
|
22
|
+
label = "NYC income tax before credits"
|
|
23
|
+
unit = USD
|
|
24
|
+
definition_period = YEAR
|
|
25
|
+
defined_for = "in_nyc"
|
|
26
|
+
|
|
27
|
+
def formula(tax_unit, period, parameters):
|
|
28
|
+
taxable_income = tax_unit("nyc_taxable_income", period)
|
|
29
|
+
filing_status = tax_unit("filing_status", period)
|
|
30
|
+
filing_statuses = filing_status.possible_values
|
|
31
|
+
p = parameters(period).gov.local.ny.nyc.tax.income.rates
|
|
32
|
+
regular_tax = select(
|
|
33
|
+
[
|
|
34
|
+
filing_status == filing_statuses.SINGLE,
|
|
35
|
+
filing_status == filing_statuses.JOINT,
|
|
36
|
+
filing_status == filing_statuses.HEAD_OF_HOUSEHOLD,
|
|
37
|
+
filing_status == filing_statuses.SURVIVING_SPOUSE,
|
|
38
|
+
filing_status == filing_statuses.SEPARATE,
|
|
39
|
+
],
|
|
40
|
+
[
|
|
41
|
+
p.single.calc(taxable_income),
|
|
42
|
+
p.joint.calc(taxable_income),
|
|
43
|
+
p.head_of_household.calc(taxable_income),
|
|
44
|
+
p.surviving_spouse.calc(taxable_income),
|
|
45
|
+
p.separate.calc(taxable_income),
|
|
46
|
+
],
|
|
47
|
+
)
|
|
48
|
+
mamdani_tax = add(tax_unit, period, ["nyc_mamdani_income_tax"])
|
|
49
|
+
return regular_tax + mamdani_tax
|
|
50
|
+
|
|
51
|
+
class reform(Reform):
|
|
52
|
+
def apply(self):
|
|
53
|
+
self.update_variable(nyc_mamdani_income_tax)
|
|
54
|
+
self.update_variable(nyc_income_tax_before_credits)
|
|
55
|
+
|
|
56
|
+
return reform
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def create_nyc_mamdani_income_tax_reform(
|
|
60
|
+
parameters, period, bypass: bool = False
|
|
61
|
+
):
|
|
62
|
+
if bypass:
|
|
63
|
+
return create_nyc_mamdani_income_tax()
|
|
64
|
+
|
|
65
|
+
p = parameters.gov.local.ny.mamdani_income_tax
|
|
66
|
+
|
|
67
|
+
reform_active = False
|
|
68
|
+
current_period = period_(period)
|
|
69
|
+
|
|
70
|
+
for i in range(5):
|
|
71
|
+
if p(current_period).in_effect:
|
|
72
|
+
reform_active = True
|
|
73
|
+
break
|
|
74
|
+
current_period = current_period.offset(1, "year")
|
|
75
|
+
|
|
76
|
+
if reform_active:
|
|
77
|
+
return create_nyc_mamdani_income_tax()
|
|
78
|
+
else:
|
|
79
|
+
return None
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
nyc_mamdani_income_tax = create_nyc_mamdani_income_tax_reform(
|
|
83
|
+
None, None, bypass=True
|
|
84
|
+
)
|
|
@@ -101,6 +101,9 @@ from .reconciliation import (
|
|
|
101
101
|
from .states.mi.surtax import (
|
|
102
102
|
create_mi_surtax_reform,
|
|
103
103
|
)
|
|
104
|
+
from .local.ny.mamdani_income_tax import (
|
|
105
|
+
create_nyc_mamdani_income_tax_reform,
|
|
106
|
+
)
|
|
104
107
|
from .states.ut import (
|
|
105
108
|
create_ut_refundable_eitc_reform,
|
|
106
109
|
)
|
|
@@ -252,6 +255,11 @@ def create_structural_reforms_from_parameters(parameters, period):
|
|
|
252
255
|
parameters, period
|
|
253
256
|
)
|
|
254
257
|
mi_surtax = create_mi_surtax_reform(parameters, period)
|
|
258
|
+
|
|
259
|
+
nyc_mamdani_income_tax = create_nyc_mamdani_income_tax_reform(
|
|
260
|
+
parameters, period
|
|
261
|
+
)
|
|
262
|
+
|
|
255
263
|
ut_refundable_eitc = create_ut_refundable_eitc_reform(parameters, period)
|
|
256
264
|
|
|
257
265
|
american_worker_rebate_act = create_american_worker_rebate_act_reform(
|
|
@@ -320,6 +328,7 @@ def create_structural_reforms_from_parameters(parameters, period):
|
|
|
320
328
|
reconciled_ssn_for_llc_and_aoc,
|
|
321
329
|
ctc_additional_bracket,
|
|
322
330
|
mi_surtax,
|
|
331
|
+
nyc_mamdani_income_tax,
|
|
323
332
|
ut_refundable_eitc,
|
|
324
333
|
additional_tax_bracket,
|
|
325
334
|
american_worker_rebate_act,
|
policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
- name: Case 1, countable assets for single person.
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IL
|
|
5
|
+
spm_unit_cash_assets: 15_000
|
|
6
|
+
output:
|
|
7
|
+
il_hbwd_countable_assets: 15_000
|
|
8
|
+
|
|
9
|
+
- name: Case 2, countable assets at limit.
|
|
10
|
+
period: 2024-01
|
|
11
|
+
input:
|
|
12
|
+
state_code: IL
|
|
13
|
+
spm_unit_cash_assets: 25_000
|
|
14
|
+
output:
|
|
15
|
+
il_hbwd_countable_assets: 25_000
|
|
16
|
+
|
|
17
|
+
- name: Case 3, countable assets with zero.
|
|
18
|
+
period: 2024-01
|
|
19
|
+
input:
|
|
20
|
+
state_code: IL
|
|
21
|
+
spm_unit_cash_assets: 0
|
|
22
|
+
output:
|
|
23
|
+
il_hbwd_countable_assets: 0
|
policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
- name: Case 1, age eligible at 16.
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IL
|
|
5
|
+
age: 16
|
|
6
|
+
output:
|
|
7
|
+
il_hbwd_age_eligible: true
|
|
8
|
+
|
|
9
|
+
- name: Case 2, age eligible at 30.
|
|
10
|
+
period: 2024-01
|
|
11
|
+
input:
|
|
12
|
+
state_code: IL
|
|
13
|
+
age: 30
|
|
14
|
+
output:
|
|
15
|
+
il_hbwd_age_eligible: true
|
|
16
|
+
|
|
17
|
+
- name: Case 3, age eligible at 64.
|
|
18
|
+
period: 2024-01
|
|
19
|
+
input:
|
|
20
|
+
state_code: IL
|
|
21
|
+
age: 64
|
|
22
|
+
output:
|
|
23
|
+
il_hbwd_age_eligible: true
|
|
24
|
+
|
|
25
|
+
- name: Case 4, age ineligible at 15.
|
|
26
|
+
period: 2024-01
|
|
27
|
+
input:
|
|
28
|
+
state_code: IL
|
|
29
|
+
age: 15
|
|
30
|
+
output:
|
|
31
|
+
il_hbwd_age_eligible: false
|
|
32
|
+
|
|
33
|
+
- name: Case 5, age ineligible at 65.
|
|
34
|
+
period: 2024-01
|
|
35
|
+
input:
|
|
36
|
+
state_code: IL
|
|
37
|
+
age: 65
|
|
38
|
+
output:
|
|
39
|
+
il_hbwd_age_eligible: false
|
policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
- name: Case 1, asset eligible below limit.
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IL
|
|
5
|
+
spm_unit_cash_assets: 20_000
|
|
6
|
+
output:
|
|
7
|
+
il_hbwd_asset_eligible: true
|
|
8
|
+
|
|
9
|
+
- name: Case 2, asset eligible at limit.
|
|
10
|
+
period: 2024-01
|
|
11
|
+
input:
|
|
12
|
+
state_code: IL
|
|
13
|
+
spm_unit_cash_assets: 25_000
|
|
14
|
+
output:
|
|
15
|
+
il_hbwd_asset_eligible: true
|
|
16
|
+
|
|
17
|
+
- name: Case 3, asset ineligible above limit.
|
|
18
|
+
period: 2024-01
|
|
19
|
+
input:
|
|
20
|
+
state_code: IL
|
|
21
|
+
spm_unit_cash_assets: 25_001
|
|
22
|
+
output:
|
|
23
|
+
il_hbwd_asset_eligible: false
|
|
24
|
+
|
|
25
|
+
- name: Case 4, asset eligible with zero assets.
|
|
26
|
+
period: 2024-01
|
|
27
|
+
input:
|
|
28
|
+
state_code: IL
|
|
29
|
+
spm_unit_cash_assets: 0
|
|
30
|
+
output:
|
|
31
|
+
il_hbwd_asset_eligible: true
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
- name: Case 1, disability eligible via SSI disability.
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IL
|
|
5
|
+
is_ssi_disabled: true
|
|
6
|
+
social_security_disability: 0
|
|
7
|
+
output:
|
|
8
|
+
il_hbwd_disability_eligible: true
|
|
9
|
+
|
|
10
|
+
- name: Case 2, disability eligible via SSDI receipt.
|
|
11
|
+
period: 2024-01
|
|
12
|
+
input:
|
|
13
|
+
state_code: IL
|
|
14
|
+
is_ssi_disabled: false
|
|
15
|
+
social_security_disability: 14_400 # $1,200/month
|
|
16
|
+
output:
|
|
17
|
+
il_hbwd_disability_eligible: true
|
|
18
|
+
|
|
19
|
+
- name: Case 3, disability eligible via both.
|
|
20
|
+
period: 2024-01
|
|
21
|
+
input:
|
|
22
|
+
state_code: IL
|
|
23
|
+
is_ssi_disabled: true
|
|
24
|
+
social_security_disability: 14_400 # $1,200/month
|
|
25
|
+
output:
|
|
26
|
+
il_hbwd_disability_eligible: true
|
|
27
|
+
|
|
28
|
+
- name: Case 4, disability ineligible.
|
|
29
|
+
period: 2024-01
|
|
30
|
+
input:
|
|
31
|
+
state_code: IL
|
|
32
|
+
is_ssi_disabled: false
|
|
33
|
+
social_security_disability: 0
|
|
34
|
+
output:
|
|
35
|
+
il_hbwd_disability_eligible: false
|
policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
- name: Case 1, eligible working disabled person.
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IL
|
|
5
|
+
age: 35
|
|
6
|
+
is_ssi_disabled: true
|
|
7
|
+
employment_income: 30_000 # $2,500/month
|
|
8
|
+
spm_unit_cash_assets: 10_000
|
|
9
|
+
output:
|
|
10
|
+
il_hbwd_eligible: true
|
|
11
|
+
|
|
12
|
+
- name: Case 2, eligible SSDI recipient with job.
|
|
13
|
+
period: 2024-01
|
|
14
|
+
input:
|
|
15
|
+
state_code: IL
|
|
16
|
+
age: 50
|
|
17
|
+
social_security_disability: 14_400 # $1,200/month
|
|
18
|
+
employment_income: 21_600 # $1,800/month
|
|
19
|
+
spm_unit_cash_assets: 20_000
|
|
20
|
+
output:
|
|
21
|
+
il_hbwd_eligible: true
|
|
22
|
+
|
|
23
|
+
- name: Case 3, ineligible due to age.
|
|
24
|
+
period: 2024-01
|
|
25
|
+
input:
|
|
26
|
+
state_code: IL
|
|
27
|
+
age: 70
|
|
28
|
+
is_ssi_disabled: true
|
|
29
|
+
employment_income: 24_000 # $2,000/month
|
|
30
|
+
spm_unit_cash_assets: 5_000
|
|
31
|
+
output:
|
|
32
|
+
il_hbwd_eligible: false
|
|
33
|
+
|
|
34
|
+
- name: Case 4, ineligible due to no employment.
|
|
35
|
+
period: 2024-01
|
|
36
|
+
input:
|
|
37
|
+
state_code: IL
|
|
38
|
+
age: 40
|
|
39
|
+
is_ssi_disabled: true
|
|
40
|
+
social_security_disability: 18_000 # $1,500/month
|
|
41
|
+
spm_unit_cash_assets: 5_000
|
|
42
|
+
output:
|
|
43
|
+
il_hbwd_eligible: false
|
|
44
|
+
|
|
45
|
+
- name: Case 5, ineligible due to high income.
|
|
46
|
+
period: 2024-01
|
|
47
|
+
input:
|
|
48
|
+
state_code: IL
|
|
49
|
+
age: 45
|
|
50
|
+
is_ssi_disabled: true
|
|
51
|
+
employment_income: 72_000 # $6,000/month
|
|
52
|
+
spm_unit_cash_assets: 5_000
|
|
53
|
+
output:
|
|
54
|
+
il_hbwd_eligible: false
|
|
55
|
+
|
|
56
|
+
- name: Case 6, ineligible due to high assets.
|
|
57
|
+
period: 2024-01
|
|
58
|
+
input:
|
|
59
|
+
state_code: IL
|
|
60
|
+
age: 30
|
|
61
|
+
is_ssi_disabled: true
|
|
62
|
+
employment_income: 24_000 # $2,000/month
|
|
63
|
+
spm_unit_cash_assets: 30_000
|
|
64
|
+
output:
|
|
65
|
+
il_hbwd_eligible: false
|