policyengine-us 1.408.0__py3-none-any.whl → 1.408.1__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.
Potentially problematic release.
This version of policyengine-us might be problematic. Click here for more details.
- policyengine_us/reforms/ctc/ctc_minimum_refundable_amount.py +2 -2
- policyengine_us/tests/policy/contrib/ctc/ctc_minimum_refundable_amount.yaml +33 -3
- {policyengine_us-1.408.0.dist-info → policyengine_us-1.408.1.dist-info}/METADATA +1 -1
- {policyengine_us-1.408.0.dist-info → policyengine_us-1.408.1.dist-info}/RECORD +7 -7
- {policyengine_us-1.408.0.dist-info → policyengine_us-1.408.1.dist-info}/WHEEL +0 -0
- {policyengine_us-1.408.0.dist-info → policyengine_us-1.408.1.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.408.0.dist-info → policyengine_us-1.408.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -74,13 +74,13 @@ def create_ctc_minimum_refundable_amount() -> Reform:
|
|
|
74
74
|
# Use either normal or ARPA CTC maximums.
|
|
75
75
|
individual_max = person("ctc_child_individual_maximum", period)
|
|
76
76
|
arpa_max = person("ctc_child_individual_maximum_arpa", period)
|
|
77
|
-
child_amount = individual_max + arpa_max
|
|
77
|
+
child_amount = tax_unit.sum(individual_max + arpa_max)
|
|
78
78
|
ctc = parameters(period).gov.irs.credits.ctc
|
|
79
79
|
qualifying_children = tax_unit("ctc_qualifying_children", period)
|
|
80
80
|
refundable_max = (
|
|
81
81
|
ctc.refundable.individual_max * qualifying_children
|
|
82
82
|
)
|
|
83
|
-
return
|
|
83
|
+
return min_(child_amount, refundable_max)
|
|
84
84
|
|
|
85
85
|
class non_refundable_ctc(Variable):
|
|
86
86
|
value_type = float
|
|
@@ -212,9 +212,9 @@
|
|
|
212
212
|
# Total minimum = 1_300
|
|
213
213
|
ctc_phase_in: 2_625 # (20_000 - 2_500) * 0.15
|
|
214
214
|
# Phase-in exceeds total minimum, so use phase-in
|
|
215
|
-
ctc_refundable_maximum:
|
|
216
|
-
refundable_ctc:
|
|
217
|
-
ctc: 4_000
|
|
215
|
+
ctc_refundable_maximum: 3_400 # 2 children * 1_700 (refundable max)
|
|
216
|
+
refundable_ctc: 3_400
|
|
217
|
+
ctc: 4_000
|
|
218
218
|
|
|
219
219
|
- name: Edge case - very high income with phase-out affecting refundability
|
|
220
220
|
period: 2024
|
|
@@ -245,3 +245,33 @@
|
|
|
245
245
|
ctc_phase_out: 2_500
|
|
246
246
|
ctc: 0 # Fully phased out (2_000 - 2_500 = 0, capped at 0)
|
|
247
247
|
refundable_ctc: 0 # No CTC left to be refundable
|
|
248
|
+
|
|
249
|
+
- name: Vectorization check
|
|
250
|
+
period: 2024
|
|
251
|
+
reforms: policyengine_us.reforms.ctc.ctc_minimum_refundable_amount.ctc_minimum_refundable_amount
|
|
252
|
+
input:
|
|
253
|
+
gov.contrib.ctc.minimum_refundable.in_effect: true
|
|
254
|
+
gov.contrib.ctc.minimum_refundable.amount[0].amount: 800
|
|
255
|
+
gov.contrib.ctc.minimum_refundable.amount[1].amount: 500
|
|
256
|
+
people:
|
|
257
|
+
person1:
|
|
258
|
+
age: 40
|
|
259
|
+
employment_income: 0
|
|
260
|
+
child1:
|
|
261
|
+
age: 5
|
|
262
|
+
ctc_qualifying_child: true
|
|
263
|
+
child2:
|
|
264
|
+
age: 5
|
|
265
|
+
ctc_qualifying_child: true
|
|
266
|
+
tax_units:
|
|
267
|
+
tax_unit:
|
|
268
|
+
members: [person1, child1, child2]
|
|
269
|
+
tax_unit_is_joint: false
|
|
270
|
+
households:
|
|
271
|
+
household:
|
|
272
|
+
members: [person1, child1, child2]
|
|
273
|
+
output:
|
|
274
|
+
ctc_child_individual_maximum: [0, 2_000, 2_000]
|
|
275
|
+
ctc_child_individual_maximum_arpa: [0, 0, 0]
|
|
276
|
+
ctc_qualifying_children: 2
|
|
277
|
+
refundable_ctc: 1_600
|
|
@@ -3175,7 +3175,7 @@ policyengine_us/reforms/crfb/tax_employer_payroll_tax.py,sha256=-V6vv51aYb0NRuB4
|
|
|
3175
3175
|
policyengine_us/reforms/crfb/tax_employer_social_security_tax.py,sha256=hawAdLtwCnY3_7jUVPTM0KpeYRfT7tVk0xqCMhdxP4E,4292
|
|
3176
3176
|
policyengine_us/reforms/ctc/__init__.py,sha256=mXLIEHPIXHe5PyI96pTmP9b3y1jwwTcMoRNOIx808Y4,434
|
|
3177
3177
|
policyengine_us/reforms/ctc/ctc_additional_bracket.py,sha256=KNmEB_OLwpLbvaPo4w0n18VnAmg0u3efirfVVCOrWj4,2391
|
|
3178
|
-
policyengine_us/reforms/ctc/ctc_minimum_refundable_amount.py,sha256=
|
|
3178
|
+
policyengine_us/reforms/ctc/ctc_minimum_refundable_amount.py,sha256=A03329drcOtMkxzKsIJsQZZQTzSe93Uyh3mVBGMD62U,4862
|
|
3179
3179
|
policyengine_us/reforms/ctc/ctc_older_child_supplement.py,sha256=eGkehEr_26CYSFo3K4gZ2vJYR_8wDX4r776DIMEaaik,1714
|
|
3180
3180
|
policyengine_us/reforms/ctc/ctc_per_child_phase_in.py,sha256=9URwoFEFvP7W-N_rmEG9_N1LTUEEvOS_jX7z8qT6PAQ,1765
|
|
3181
3181
|
policyengine_us/reforms/ctc/ctc_per_child_phase_out.py,sha256=6Z55YKtB5K_Wl21O_6HpohPEp4nJ0PUCAtkt_T2nYY8,3363
|
|
@@ -5265,7 +5265,7 @@ policyengine_us/tests/policy/contrib/crfb/tax_employer_medicare_tax.yaml,sha256=
|
|
|
5265
5265
|
policyengine_us/tests/policy/contrib/crfb/tax_employer_payroll_tax_percentage.yaml,sha256=N3l6vYyluEGIbd2HfSQFuAYPzg0r4CC0JZujm3-joO8,5510
|
|
5266
5266
|
policyengine_us/tests/policy/contrib/crfb/tax_employer_social_security_tax.yaml,sha256=0boINedj32lA-V2VLztNBoylnOlzRinlwtcg3JIij0g,474
|
|
5267
5267
|
policyengine_us/tests/policy/contrib/ctc/ctc_additional_bracket.yaml,sha256=0vUrhnn91ETd_lkk1YqG5EzGj8wTj2r5mHZ3A-mjwlo,3445
|
|
5268
|
-
policyengine_us/tests/policy/contrib/ctc/ctc_minimum_refundable_amount.yaml,sha256=
|
|
5268
|
+
policyengine_us/tests/policy/contrib/ctc/ctc_minimum_refundable_amount.yaml,sha256=dpCw9_a5-0-qR7c7kdRyGnyDL9pJoxVoYOqm0VXWUPM,8116
|
|
5269
5269
|
policyengine_us/tests/policy/contrib/ctc/ctc_older_child_supplement.yaml,sha256=7P67DlafOtTxAcpH2ossYPDInWyz6DJayNf_0Ed7rcQ,2059
|
|
5270
5270
|
policyengine_us/tests/policy/contrib/ctc/ctc_per_child_phase_in.yaml,sha256=uCAlu5Gj4iww2hCWbsqFst7zcT6UvM9_D9cKQyRc5QE,4754
|
|
5271
5271
|
policyengine_us/tests/policy/contrib/ctc/ctc_per_child_phase_out.yaml,sha256=H5k9TyIge7VeZRGxIXVTOQPV5SpqAuX509iV-SXLBI4,3829
|
|
@@ -8481,8 +8481,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
|
|
|
8481
8481
|
policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
|
|
8482
8482
|
policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
|
|
8483
8483
|
policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
|
|
8484
|
-
policyengine_us-1.408.
|
|
8485
|
-
policyengine_us-1.408.
|
|
8486
|
-
policyengine_us-1.408.
|
|
8487
|
-
policyengine_us-1.408.
|
|
8488
|
-
policyengine_us-1.408.
|
|
8484
|
+
policyengine_us-1.408.1.dist-info/METADATA,sha256=ozjh0Qgvf5VErQmJ94iMRtuCG8CrldRevSjoKVGHDI8,1649
|
|
8485
|
+
policyengine_us-1.408.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8486
|
+
policyengine_us-1.408.1.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
|
|
8487
|
+
policyengine_us-1.408.1.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
8488
|
+
policyengine_us-1.408.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|