policyengine-us 1.441.0__py3-none-any.whl → 1.441.2__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.
@@ -0,0 +1,68 @@
1
+ - name: No phase-out, no kiddie tax
2
+ period: 2022
3
+ input:
4
+ amt_income: 200_000
5
+ amt_kiddie_tax_applies: false
6
+ filer_adjusted_earnings: 400_000
7
+ filing_status: SINGLE
8
+ output:
9
+ # Base exemption for SINGLE in 2022 is 75,900
10
+ # income_excess = max(0, 200,000 - 539,900) = 0
11
+ # No phase-out, full exemption of 75,900
12
+ amt_exemption: 75_900
13
+
14
+ - name: No phase-out, kiddie tax applies with low earnings
15
+ period: 2022
16
+ input:
17
+ amt_income: 200_000
18
+ amt_kiddie_tax_applies: true
19
+ filer_adjusted_earnings: 10_000
20
+ filing_status: SINGLE
21
+ output:
22
+ # Base exemption for SINGLE in 2022 is 75,900
23
+ # reduced_exemption = 75,900 (no phase-out)
24
+ # exemption_cap = 10,000 + 8,200 (child amount) = 18,200
25
+ # amt_exemption = min(75,900, 18,200) = 18,200
26
+ amt_exemption: 18_200
27
+
28
+ - name: Full phase-out at high income
29
+ period: 2022
30
+ input:
31
+ amt_income: 1_000_000
32
+ amt_kiddie_tax_applies: false
33
+ filer_adjusted_earnings: 400_000
34
+ filing_status: SINGLE
35
+ output:
36
+ # Base exemption for SINGLE in 2022 is 75,900
37
+ # income_excess = max(0, 1,000,000 - 539,900) = 460,100
38
+ # exemption_phase_out = 0.25 * 460,100 = 115,025
39
+ # reduced_exemption = max(0, 75,900 - 115,025) = 0
40
+ amt_exemption: 0
41
+
42
+ - name: Partial phase-out
43
+ period: 2022
44
+ input:
45
+ amt_income: 600_000
46
+ amt_kiddie_tax_applies: false
47
+ filer_adjusted_earnings: 400_000
48
+ filing_status: SINGLE
49
+ output:
50
+ # Base exemption for SINGLE in 2022 is 75,900
51
+ # income_excess = max(0, 600,000 - 539,900) = 60,100
52
+ # exemption_phase_out = 0.25 * 60,100 = 15,025
53
+ # reduced_exemption = max(0, 75,900 - 15,025) = 60,875
54
+ amt_exemption: 60_875
55
+
56
+ - name: Joint filers, no phase-out
57
+ period: 2022
58
+ input:
59
+ amt_income: 500_000
60
+ amt_kiddie_tax_applies: false
61
+ filer_adjusted_earnings: 400_000
62
+ filing_status: JOINT
63
+ output:
64
+ # Base exemption for JOINT in 2022 is 118,100
65
+ # Phase-out starts at 1,079,800
66
+ # income_excess = max(0, 500,000 - 1,079,800) = 0
67
+ # Full exemption of 118,100
68
+ amt_exemption: 118_100
@@ -1,6 +1,7 @@
1
1
  - name: Single person.
2
2
  period: 2022
3
3
  input:
4
+ state_code: MA
4
5
  is_ssi_aged_blind_disabled: true
5
6
  uncapped_ssi: -100
6
7
  ma_maximum_state_supplement: 300
@@ -11,6 +12,7 @@
11
12
  - name: Single person fails resource test.
12
13
  period: 2022
13
14
  input:
15
+ state_code: MA
14
16
  is_ssi_aged_blind_disabled: true
15
17
  uncapped_ssi: -100
16
18
  ma_maximum_state_supplement: 300
@@ -0,0 +1,47 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class amt_exemption(Variable):
5
+ value_type = float
6
+ entity = TaxUnit
7
+ definition_period = YEAR
8
+ label = "Alternative Minimum Tax exemption"
9
+ unit = USD
10
+ documentation = (
11
+ "AMT exemption amount after phase-out and kiddie tax adjustments. "
12
+ "Form 6251, Line 5."
13
+ )
14
+ reference = [
15
+ "https://www.law.cornell.edu/uscode/text/26/55#d", # 26 U.S.C. § 55(d)
16
+ "https://www.irs.gov/instructions/i6251",
17
+ ]
18
+
19
+ def formula(tax_unit, period, parameters):
20
+ p = parameters(period).gov.irs.income.amt
21
+ phase_out = p.exemption.phase_out
22
+ filing_status = tax_unit("filing_status", period)
23
+ amt_income = tax_unit("amt_income", period)
24
+
25
+ # Base exemption amount based on filing status
26
+ base_exemption_amount = p.exemption.amount[filing_status]
27
+
28
+ # Phase-out at higher income levels
29
+ income_excess = max_(0, amt_income - phase_out.start[filing_status])
30
+ exemption_phase_out = phase_out.rate * income_excess
31
+ reduced_exemption_amount = max_(
32
+ 0,
33
+ base_exemption_amount - exemption_phase_out,
34
+ )
35
+
36
+ # A reduced exemption amount is applied to kiddie tax filers
37
+ kiddie_tax_applies = tax_unit("amt_kiddie_tax_applies", period)
38
+ adj_earnings = tax_unit("filer_adjusted_earnings", period)
39
+ child_amount = p.exemption.child.amount
40
+
41
+ exemption_cap = where(
42
+ kiddie_tax_applies,
43
+ adj_earnings + child_amount,
44
+ np.inf,
45
+ )
46
+
47
+ return min_(reduced_exemption_amount, exemption_cap)
@@ -17,28 +17,10 @@ class amt_income_less_exemptions(Variable):
17
17
  taxable_income = tax_unit("taxable_income", period)
18
18
  kiddie_tax_applies = tax_unit("amt_kiddie_tax_applies", period)
19
19
  applied_income = where(kiddie_tax_applies, taxable_income, amt_income)
20
+
20
21
  # Form 6251, Part II top
21
- p = parameters(period).gov.irs.income.amt
22
- phase_out = p.exemption.phase_out
23
- filing_status = tax_unit("filing_status", period)
24
- # Line 5 the exemption amount is based on filing status and
25
- # is phased-out at higher income
26
- base_exemption_amount = p.exemption.amount[filing_status]
27
- income_excess = max_(0, amt_income - phase_out.start[filing_status])
28
- exemption_phase_out = phase_out.rate * income_excess
29
- reduced_exemption_amount = max_(
30
- 0,
31
- (base_exemption_amount - exemption_phase_out),
32
- )
33
- # A reduced exemption amount is applied to kiddie tax filers
34
- adj_earnings = tax_unit("filer_adjusted_earnings", period)
35
- child_amount = p.exemption.child.amount
22
+ # Line 5
23
+ amt_exemption = tax_unit("amt_exemption", period)
36
24
 
37
- exemption_cap = where(
38
- kiddie_tax_applies,
39
- adj_earnings + child_amount,
40
- np.inf,
41
- )
42
- capped_exemption_amount = min_(reduced_exemption_amount, exemption_cap)
43
25
  # Line 6
44
- return max_(0, applied_income - capped_exemption_amount)
26
+ return max_(0, applied_income - amt_exemption)
@@ -6,6 +6,7 @@ class ma_state_supplement(Variable):
6
6
  entity = Person
7
7
  label = "Massachusetts State Supplement payment amount"
8
8
  definition_period = YEAR
9
+ defined_for = StateCode.MA
9
10
  exhaustive_parameter_dependencies = "gov.states.ma.dta.ssp"
10
11
  reference = (
11
12
  "https://www.law.cornell.edu/regulations/massachusetts/106-CMR-327-330"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.441.0
3
+ Version: 1.441.2
4
4
  Summary: Add your description here.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License-File: LICENSE
@@ -3709,6 +3709,7 @@ policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_min
3709
3709
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_base_tax.yaml,sha256=SXdsIDBaCdOyYvRwtStZfl3GKynf0EjGU8H8bG2OUjs,457
3710
3710
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_higher_base_tax.yaml,sha256=nvJD0yK_3HHqTGPEWYLhpYFM3xvmOP9q-aerHFOhsxY,488
3711
3711
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_lower_base_tax.yaml,sha256=6hIYLFWVlvc97ZP0dCagPIGEVNblercTEzwUoxo9s-4,475
3712
+ policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml,sha256=q2q_EpzliOp0gVzQLH0MC5MfqVIof2ztfHUHITNAnvQ,2062
3712
3713
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_excluded_deductions.yaml,sha256=TzOqHwdeqP_Hgb7pQmRzIeOEHlzPM1o7uHdx1HUmHzk,1037
3713
3714
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income.yaml,sha256=afFV4CTgYBIMvLZZBLy6D9e8lDVVVB4i6ihNH7_r6ko,1103
3714
3715
  policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.yaml,sha256=SJUu7xmDLojXjkx1C8JvDV8XKEsOasurOOsbZ2A5KEs,1108
@@ -4492,7 +4493,7 @@ policyengine_us/tests/policy/baseline/gov/states/ma/dot/mbta/senior_charlie_card
4492
4493
  policyengine_us/tests/policy/baseline/gov/states/ma/dot/mbta/tap_charlie_card/ma_mbta_tap_charlie_card_eligible.yaml,sha256=esTUzQWNrbY9v2yZo_NuQM0NXg3hN65-SSCyUM-2FhU,585
4493
4494
  policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/integration.yaml,sha256=3yZRo9rNao7CSGXoPsEKtEL8MfvLALBizNzaP6R4Vvo,857
4494
4495
  policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_maximum_state_supplement.yaml,sha256=iPzVkpYsgKfFEDGI7I7bTgfQaHrvsMLttxQFaPDukFM,3358
4495
- policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml,sha256=4jpuIcet9dYhsPeSEBsSrqsN-291N7BB16InOM3XjMA,454
4496
+ policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml,sha256=PhQOncLFm5egsOvHHN751NhszfA6QHm95_wfD2U0W8Y,492
4496
4497
  policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/ma_eaedc.yaml,sha256=Pm3aGhZZVOpVuTI91xcXaiSnSkIGSPycQ_hw8p6AzGo,6480
4497
4498
  policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/ma_eaedc_if_tafdc_claimed.yaml,sha256=3dZ2KzQs9fPEMLDe5EunS0_KPPqNSqZU_xaDXHkTEqo,410
4498
4499
  policyengine_us/tests/policy/baseline/gov/states/ma/dta/tcap/eaedc/dependent_care_deduction/ma_eaedc_dependent_care_deduction.yaml,sha256=Lc4ceUm8k88hrDPJMcPgP6iBR7RKhRXohbAwyZ71F4c,3079
@@ -6082,9 +6083,10 @@ policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/reg
6082
6083
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_base_tax.py,sha256=4yYT2wf3SHjQuFALh_tmklKdlXRvkm1G30X31TMKPmw,448
6083
6084
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_higher_base_tax.py,sha256=OiFFFTCJgkOoBoB1gy6BE6CuKg2l0hU7EzNcF_pSFJ8,878
6084
6085
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/base_tax/amt_lower_base_tax.py,sha256=FN7x9iFA5g1R4VTzIsq8CX54lK8uTTqKWFkh_CTqyqU,869
6086
+ policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py,sha256=1hSL12Xg0ikKjzF0c_TFG2QuiRKgw7Vz2Xnpc2Cyoqw,1629
6085
6087
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_excluded_deductions.py,sha256=0QgcutGxblZdZjvIxGK2Nr9-Thhcc54TT5hyQDU7eWo,735
6086
6088
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income.py,sha256=8pynvFT8URaSMlkIkPGlXlP37Ope550_xVO4AD62X3M,391
6087
- policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py,sha256=qMXau2fX_FONv8SqMG_I0dFX1HKUGjI2FYLvhkWiKYU,1850
6089
+ policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py,sha256=kj5aaS0HAlYtIQd8OKCHxO_Ru2aH469WEjKRNphUi8g,930
6088
6090
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_separate_addition.py,sha256=Hz_ffYTqDz4BCQWj9ksLoB7zJEYKYtdshNFFcvIL3UI,1023
6089
6091
  policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/kiddie_tax/amt_kiddie_tax_applies.py,sha256=kNMlkpgKXiapLN0UDEoT5Y_qeA2DjrvIUrF97zTpBow,629
6090
6092
  policyengine_us/variables/gov/irs/tax/federal_income/before_credits/income_tax_before_credits.py,sha256=FIHI5BXMxRRITDIzwhb_jZCtMELOE4vl2Ui5zPNefy4,410
@@ -7158,7 +7160,7 @@ policyengine_us/variables/gov/states/ma/dot/mbta/senior_charlie_card/ma_mbta_sen
7158
7160
  policyengine_us/variables/gov/states/ma/dot/mbta/tap_charlie_card/ma_mbta_tap_charlie_card_eligible.py,sha256=TffXLhMlTtwUEuwr20PdRYtHmykP9vURibely1h9fIE,609
7159
7161
  policyengine_us/variables/gov/states/ma/dta/ssp/ma_maximum_state_supplement.py,sha256=6d3V8gOSyrf0nr8WvEsPm3v9DwmnsDcRPwcZtvXKip4,4674
7160
7162
  policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_living_arrangement.py,sha256=ciBLkfQ58VW1dan_CjVreisKfzAvS-ZPqfWw7PMOPzI,731
7161
- policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py,sha256=gZedOlMujZLugyzcqZpvDGJUZG27uVAN1jJNd-iP1z0,1060
7163
+ policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py,sha256=Kj7HIKLQ5Qj7FwGVA0uyS17WH1ESrsgIiljJV9IcTWA,1091
7162
7164
  policyengine_us/variables/gov/states/ma/dta/tcap/ma_tafdc_exceeds_eaedc.py,sha256=VhNZCM3P_muids3zeCjwoZWnSL-MD40UrI4ZLuaFWWU,566
7163
7165
  policyengine_us/variables/gov/states/ma/dta/tcap/ma_tcap_gross_earned_income.py,sha256=K6rtlFgCXlvHDL111B-9xAuy95zAIsSEZ1-lrHe-5jA,459
7164
7166
  policyengine_us/variables/gov/states/ma/dta/tcap/ma_tcap_gross_unearned_income.py,sha256=OiXL5zWtm06CityLzgEUjrtbwCJ-D7eVkpaZFmClVrQ,465
@@ -8881,8 +8883,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
8881
8883
  policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
8882
8884
  policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
8883
8885
  policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
8884
- policyengine_us-1.441.0.dist-info/METADATA,sha256=alJVB4lkqJZ_SlBO-YgpowxfKr7UFJd8UCR3nubwV5g,1649
8885
- policyengine_us-1.441.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8886
- policyengine_us-1.441.0.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8887
- policyengine_us-1.441.0.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8888
- policyengine_us-1.441.0.dist-info/RECORD,,
8886
+ policyengine_us-1.441.2.dist-info/METADATA,sha256=AjgzaOgQ6Gm2zv-apDpi4AHAZR33eKyfi8u_0g_vucA,1649
8887
+ policyengine_us-1.441.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8888
+ policyengine_us-1.441.2.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8889
+ policyengine_us-1.441.2.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8890
+ policyengine_us-1.441.2.dist-info/RECORD,,