-
Notifications
You must be signed in to change notification settings - Fork 178
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reform to remove head of household filing status (#3163)
* Reform standard deduction remove head of household filing status Fixes #3162 Co-authored-by: Pavel Makarchuk <[email protected]> * Fill in __init__.py; Change name of functions Fixes #3162 * Add reform to reform lists and add unit test; Hoh formula still incomplete. Fixes #3162 * Use fix amount as temp Fixes #3162 * Small fix Fixes #3162 * Fix * Fix * debug purpose * debug * Fix * small fix * Suggested change Fixes #3162 * Suggested change Fixes #3162 * Small fix * Change to Romney * add readme * add FilingStatus enum * formatting nit * add remove_head_of_household reform to test * add to reform --------- Co-authored-by: Pavel Makarchuk <[email protected]> Co-authored-by: Max Ghenis <[email protected]>
- Loading branch information
1 parent
2e56e8c
commit 508da35
Showing
8 changed files
with
94 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
- bump: minor | ||
changes: | ||
added: | ||
- Reform for repealing head of household filing status, as Senator Romney proposed in his Family Security Act. |
1 change: 1 addition & 0 deletions
1
policyengine_us/parameters/gov/contrib/congress/romney/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Senator Mitt Romney |
1 change: 1 addition & 0 deletions
1
...yengine_us/parameters/gov/contrib/congress/romney/family_security_act/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Family Security Act |
9 changes: 9 additions & 0 deletions
9
.../parameters/gov/contrib/congress/romney/family_security_act/remove_head_of_household.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
description: The head of household filing status will be eliminated if this is true. | ||
values: | ||
2000-01-01: False | ||
metadata: | ||
unit: bool | ||
label: Repeal head of household filing status | ||
reference: | ||
- title: Family Security Act | ||
href: https://cdn.vox-cdn.com/uploads/chorus_asset/file/22279576/family_security_act_one_pager_appendix.pdf |
1 change: 1 addition & 0 deletions
1
policyengine_us/reforms/congress/romney/family_security_act/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from .remove_head_of_household import create_remove_head_of_household_reform |
57 changes: 57 additions & 0 deletions
57
policyengine_us/reforms/congress/romney/family_security_act/remove_head_of_household.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
from policyengine_us.model_api import * | ||
|
||
|
||
def create_remove_head_of_household() -> Reform: | ||
class FilingStatus(Enum): | ||
SINGLE = "Single" | ||
JOINT = "Joint" | ||
SEPARATE = "Separate" | ||
WIDOW = "Widow(er)" | ||
|
||
class filing_status(Variable): | ||
value_type = Enum | ||
entity = TaxUnit | ||
possible_values = FilingStatus | ||
default_value = FilingStatus.SINGLE | ||
definition_period = YEAR | ||
label = "Filing status" | ||
|
||
def formula(tax_unit, period, parameters): | ||
has_spouse = add(tax_unit, period, ["is_tax_unit_spouse"]) > 0 | ||
person = tax_unit.members | ||
is_separated = tax_unit.any(person("is_separated", period)) | ||
is_widowed = tax_unit.any(person("is_widowed", period)) | ||
return select( | ||
[has_spouse, is_separated, is_widowed], | ||
[ | ||
FilingStatus.JOINT, | ||
FilingStatus.SEPARATE, | ||
FilingStatus.WIDOW, | ||
], | ||
default=FilingStatus.SINGLE, | ||
) | ||
|
||
class reform(Reform): | ||
def apply(self): | ||
self.update_variable(filing_status) | ||
|
||
return reform | ||
|
||
|
||
def create_remove_head_of_household_reform( | ||
parameters, period, bypass: bool = False | ||
): | ||
if bypass: | ||
return create_remove_head_of_household() | ||
|
||
p = parameters(period).gov.contrib.congress.romney.family_security_act | ||
|
||
if p.remove_head_of_household is True: | ||
return create_remove_head_of_household() | ||
else: | ||
return None | ||
|
||
|
||
remove_head_of_household = create_remove_head_of_household_reform( | ||
None, None, bypass=True | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
...us/tests/policy/contrib/congress/romney/family_security_act/remove_head_of_household.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
- name: Remove head of household filing status | ||
period: 2023 | ||
reforms: policyengine_us.reforms.congress.romney.family_security_act.remove_head_of_household.remove_head_of_household | ||
input: | ||
gov.contrib.congress.romney.family_security_act.remove_head_of_household : true | ||
people: | ||
head: {} | ||
child: | ||
is_tax_unit_spouse: false | ||
tax_units: | ||
tax_unit: | ||
members: [head, child] | ||
output: | ||
filing_status: SINGLE |