taxcalc 5.1.0__py3-none-any.whl → 5.2.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.
- taxcalc/__init__.py +1 -1
- taxcalc/calcfunctions.py +19 -14
- taxcalc/policy.py +7 -0
- taxcalc/policy_current_law.json +645 -249
- taxcalc/reforms/2017_law.json +2 -0
- taxcalc/tests/cpscsv_agg_expect.csv +26 -26
- taxcalc/tests/puf_var_wght_means_by_year.csv +80 -80
- taxcalc/tests/pufcsv_agg_expect.csv +26 -26
- taxcalc/tests/test_calculator.py +1 -0
- taxcalc/tests/test_cpscsv.py +2 -1
- taxcalc/tests/test_policy.py +81 -103
- taxcalc/tests/test_puf_var_stats.py +1 -1
- taxcalc/tests/test_pufcsv.py +2 -1
- taxcalc/tests/test_reforms.py +2 -2
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/METADATA +1 -1
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/RECORD +20 -20
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/WHEEL +0 -0
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/entry_points.txt +0 -0
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/licenses/LICENSE +0 -0
- {taxcalc-5.1.0.dist-info → taxcalc-5.2.0.dist-info}/top_level.txt +0 -0
taxcalc/tests/test_policy.py
CHANGED
@@ -62,6 +62,7 @@ def test_incorrect_implement_reform_usage():
|
|
62
62
|
pol.implement_reform({2020: {'II_em': -1000}})
|
63
63
|
|
64
64
|
|
65
|
+
@pytest.mark.local
|
65
66
|
def test_json_reform_url():
|
66
67
|
"""
|
67
68
|
Test reading a JSON reform from a URL. Results from the URL are expected
|
@@ -262,7 +263,6 @@ def test_multi_year_reform():
|
|
262
263
|
2019: 700000},
|
263
264
|
'SS_Earnings_c-indexed': {2017: False,
|
264
265
|
2019: True},
|
265
|
-
'CTC_c': {2015: 2000},
|
266
266
|
'EITC_c': {2016: [900, 5000, 8000, 9000],
|
267
267
|
2019: [1200, 7000, 10000, 12000]},
|
268
268
|
'II_em': {2016: 7000,
|
@@ -280,35 +280,9 @@ def test_multi_year_reform():
|
|
280
280
|
check_eitc_c(pol, reform, ifactor)
|
281
281
|
check_ii_em(pol, reform, ifactor)
|
282
282
|
check_ss_earnings_c(pol, reform, wfactor)
|
283
|
-
check_ctc_c(pol, reform)
|
284
283
|
# end of test_multi_year_reform with the check_* functions below:
|
285
284
|
|
286
285
|
|
287
|
-
def check_ctc_c(ppo, reform):
|
288
|
-
"""
|
289
|
-
Compare actual and expected _CTC_c parameter values
|
290
|
-
generated by the test_multi_year_reform() function above.
|
291
|
-
Ensure that future-year values in policy_current_law.json
|
292
|
-
are overwritten by reform.
|
293
|
-
"""
|
294
|
-
actual = {}
|
295
|
-
arr = getattr(ppo, '_CTC_c')
|
296
|
-
for i in range(0, ppo.num_years):
|
297
|
-
actual[ppo.start_year + i] = arr[i]
|
298
|
-
assert actual[2013] == 1000
|
299
|
-
assert actual[2014] == 1000
|
300
|
-
e2015 = reform['CTC_c'][2015]
|
301
|
-
assert actual[2015] == e2015
|
302
|
-
e2016 = actual[2015]
|
303
|
-
assert actual[2016] == e2016
|
304
|
-
e2017 = actual[2016]
|
305
|
-
assert actual[2017] == e2017
|
306
|
-
e2018 = actual[2017]
|
307
|
-
assert actual[2018] == e2018
|
308
|
-
e2019 = actual[2018]
|
309
|
-
assert actual[2019] == e2019
|
310
|
-
|
311
|
-
|
312
286
|
def check_eitc_c(ppo, reform, ifactor):
|
313
287
|
"""
|
314
288
|
Compare actual and expected _EITC_c parameter values
|
@@ -901,27 +875,27 @@ def test_index_offset_reform():
|
|
901
875
|
policy0.implement_reform({'parameter_indexing_CPI_offset': {2017: 0}})
|
902
876
|
cpiu_rates = policy0.inflation_rates()
|
903
877
|
|
904
|
-
reform1 = {'
|
878
|
+
reform1 = {'ODC_c-indexed': {2020: True}}
|
905
879
|
policy1 = Policy()
|
906
880
|
policy1.implement_reform(reform1)
|
907
881
|
offset = -0.005
|
908
|
-
reform2 = {'
|
882
|
+
reform2 = {'ODC_c-indexed': {2020: True},
|
909
883
|
'parameter_indexing_CPI_offset': {2020: offset}}
|
910
884
|
policy2 = Policy()
|
911
|
-
policy2.implement_reform(reform2)
|
912
|
-
# extract from policy1 and policy2 the parameter values of
|
885
|
+
policy2.implement_reform(reform2)
|
886
|
+
# extract from policy1 and policy2 the parameter values of ODC_c
|
913
887
|
pvalue1 = {}
|
914
888
|
pvalue2 = {}
|
915
889
|
for cyr in [2019, 2020, 2021]:
|
916
890
|
policy1.set_year(cyr)
|
917
|
-
pvalue1[cyr] = policy1.
|
891
|
+
pvalue1[cyr] = policy1.ODC_c[0]
|
918
892
|
policy2.set_year(cyr)
|
919
|
-
pvalue2[cyr] = policy2.
|
893
|
+
pvalue2[cyr] = policy2.ODC_c[0]
|
920
894
|
# check that pvalue1 and pvalue2 dictionaries contain the expected values
|
921
895
|
assert pvalue2[2019] == pvalue1[2019]
|
922
896
|
assert pvalue2[2020] == pvalue1[2020]
|
923
897
|
assert pvalue2[2020] == pvalue2[2019]
|
924
|
-
# ... indexing of
|
898
|
+
# ... indexing of ODC_c begins shows up first in 2021 parameter values
|
925
899
|
assert pvalue1[2021] > pvalue1[2020]
|
926
900
|
assert pvalue2[2021] > pvalue2[2020]
|
927
901
|
# ... calculate expected pvalue2[2021] from inflation rates and offset
|
@@ -998,11 +972,15 @@ def test_raise_errors_regression():
|
|
998
972
|
"""
|
999
973
|
This tests that raise_errors prevents the error from being thrown. The
|
1000
974
|
correct behavior is to exit the `adjust` function and store the errors.
|
975
|
+
** From the parameters.py docstring for the adjust method:
|
976
|
+
raise_errors: Boolean
|
977
|
+
Raise errors as a ValidationError. If False, they will be stored
|
978
|
+
in the errors attribute.
|
1001
979
|
"""
|
1002
980
|
ref = {
|
1003
|
-
"II_brk7-indexed": [{"value":
|
981
|
+
"II_brk7-indexed": [{"value": False}],
|
1004
982
|
"II_brk6": [{"value": 316700, "MARS": "single", "year": 2020}],
|
1005
|
-
"II_brk7": [{"value":
|
983
|
+
"II_brk7": [{"value": 320700, "MARS": "single", "year": 2020}],
|
1006
984
|
|
1007
985
|
}
|
1008
986
|
pol = Policy()
|
@@ -1177,14 +1155,14 @@ def test_activate_index():
|
|
1177
1155
|
"""
|
1178
1156
|
pol1 = Policy()
|
1179
1157
|
pol1.implement_reform({
|
1180
|
-
"
|
1181
|
-
"
|
1158
|
+
"ODC_c": {2022: 1000},
|
1159
|
+
"ODC_c-indexed": {2022: True}
|
1182
1160
|
})
|
1183
1161
|
pol2 = Policy()
|
1184
1162
|
pol2.adjust(
|
1185
1163
|
{
|
1186
|
-
"
|
1187
|
-
"
|
1164
|
+
"ODC_c": [{"year": 2022, "value": 1000}],
|
1165
|
+
"ODC_c-indexed": [{"year": 2022, "value": True}],
|
1188
1166
|
}
|
1189
1167
|
)
|
1190
1168
|
cmp_policy_objs(pol1, pol2)
|
@@ -1193,12 +1171,12 @@ def test_activate_index():
|
|
1193
1171
|
pol0.set_year(year=2021)
|
1194
1172
|
pol2.set_state(year=[2021, 2022, 2023])
|
1195
1173
|
exp = np.array([
|
1196
|
-
pol0.
|
1197
|
-
|
1198
|
-
|
1174
|
+
pol0.ODC_c[0],
|
1175
|
+
1000,
|
1176
|
+
1000 * (1 + pol2.inflation_rates(year=2022))
|
1199
1177
|
]).round(2)
|
1200
1178
|
|
1201
|
-
np.testing.assert_allclose(pol2.
|
1179
|
+
np.testing.assert_allclose(pol2.ODC_c, exp)
|
1202
1180
|
|
1203
1181
|
|
1204
1182
|
def test_apply_cpi_offset():
|
@@ -1404,7 +1382,7 @@ def test_adj_cpi_offset_and_index_status():
|
|
1404
1382
|
"""
|
1405
1383
|
pol1 = Policy()
|
1406
1384
|
pol1.implement_reform({
|
1407
|
-
"
|
1385
|
+
"ODC_c-indexed": {2020: True},
|
1408
1386
|
"parameter_indexing_CPI_offset": {2020: -0.005}},
|
1409
1387
|
)
|
1410
1388
|
pol2 = Policy()
|
@@ -1412,7 +1390,7 @@ def test_adj_cpi_offset_and_index_status():
|
|
1412
1390
|
{
|
1413
1391
|
"parameter_indexing_CPI_offset":
|
1414
1392
|
[{"year": 2020, "value": -0.005}],
|
1415
|
-
"
|
1393
|
+
"ODC_c-indexed": [{"year": 2020, "value": True}],
|
1416
1394
|
}
|
1417
1395
|
)
|
1418
1396
|
cmp_policy_objs(pol1, pol2)
|
@@ -1429,7 +1407,7 @@ def test_adj_cpi_offset_and_index_status():
|
|
1429
1407
|
|
1430
1408
|
pol2.set_state(year=[2021, 2022])
|
1431
1409
|
np.testing.assert_equal(
|
1432
|
-
(pol2.
|
1410
|
+
(pol2.ODC_c[1] / pol2.ODC_c[0] - 1).round(4),
|
1433
1411
|
round(pol0.inflation_rates(year=2021) + (-0.005), 4),
|
1434
1412
|
)
|
1435
1413
|
|
@@ -1515,9 +1493,9 @@ def test_cpi_offset_does_not_affect_wage_indexed_params():
|
|
1515
1493
|
np.testing.assert_equal(act_before_2025, exp_before_2025)
|
1516
1494
|
|
1517
1495
|
|
1518
|
-
def
|
1496
|
+
def test_ext_plus_odc1_reform(tests_path):
|
1519
1497
|
"""
|
1520
|
-
Test ext.json plus
|
1498
|
+
Test ext.json plus odc1 compound reform relative to ext.json baseline.
|
1521
1499
|
"""
|
1522
1500
|
# specify baseline policy, bas, as the extend-TCJA reform
|
1523
1501
|
bas = Policy()
|
@@ -1526,37 +1504,37 @@ def test_ext_plus_ctc1_reform(tests_path):
|
|
1526
1504
|
ext_text = rfile.read()
|
1527
1505
|
bas.implement_reform(Policy.read_json_reform(ext_text))
|
1528
1506
|
assert not bas.parameter_errors
|
1529
|
-
# specify reform policy, ref, as extend-TCJA plus liberalization of
|
1507
|
+
# specify reform policy, ref, as extend-TCJA plus liberalization of ODC
|
1530
1508
|
ref = Policy()
|
1531
1509
|
ref.implement_reform(Policy.read_json_reform(ext_text))
|
1532
|
-
|
1533
|
-
# one possible
|
1534
|
-
'
|
1535
|
-
2026:
|
1536
|
-
2027:
|
1537
|
-
2028:
|
1538
|
-
2029:
|
1510
|
+
odc1_reform = {
|
1511
|
+
# one possible other-dependent-credit revision to extend-TCJA reform
|
1512
|
+
'ODC_c': {
|
1513
|
+
2026: 1000.00,
|
1514
|
+
2027: 1000.00,
|
1515
|
+
2028: 1000.00,
|
1516
|
+
2029: 1000.00,
|
1539
1517
|
},
|
1540
|
-
'
|
1518
|
+
'ODC_c-indexed': {2029: True},
|
1541
1519
|
}
|
1542
|
-
ref.implement_reform(
|
1520
|
+
ref.implement_reform(odc1_reform)
|
1543
1521
|
assert not ref.parameter_errors
|
1544
1522
|
# check bas and ref parameter values against expected parameter values
|
1545
|
-
|
1546
|
-
2025:
|
1547
|
-
2026:
|
1548
|
-
2027:
|
1549
|
-
2028:
|
1550
|
-
2029:
|
1551
|
-
2030:
|
1523
|
+
exp_odc_c_bas = {
|
1524
|
+
2025: 500,
|
1525
|
+
2026: 500,
|
1526
|
+
2027: 500,
|
1527
|
+
2028: 500,
|
1528
|
+
2029: 500,
|
1529
|
+
2030: 500,
|
1552
1530
|
}
|
1553
|
-
|
1554
|
-
2025:
|
1555
|
-
2026:
|
1556
|
-
2027:
|
1557
|
-
2028:
|
1558
|
-
2029:
|
1559
|
-
2030:
|
1531
|
+
exp_odc_c_ref = {
|
1532
|
+
2025: 500,
|
1533
|
+
2026: 1000,
|
1534
|
+
2027: 1000,
|
1535
|
+
2028: 1000,
|
1536
|
+
2029: 1000,
|
1537
|
+
2030: 1022.4,
|
1560
1538
|
}
|
1561
1539
|
exp_actc_c = {
|
1562
1540
|
2025: 1700,
|
@@ -1568,16 +1546,16 @@ def test_ext_plus_ctc1_reform(tests_path):
|
|
1568
1546
|
}
|
1569
1547
|
for year in range(2025, 2031):
|
1570
1548
|
bas.set_year(year)
|
1571
|
-
assert np.allclose([bas.
|
1549
|
+
assert np.allclose([bas.ODC_c], [exp_odc_c_bas[year]])
|
1572
1550
|
assert np.allclose([bas.ACTC_c], [exp_actc_c[year]])
|
1573
1551
|
ref.set_year(year)
|
1574
|
-
assert np.allclose([ref.
|
1552
|
+
assert np.allclose([ref.ODC_c], [exp_odc_c_ref[year]])
|
1575
1553
|
assert np.allclose([ref.ACTC_c], [exp_actc_c[year]])
|
1576
1554
|
|
1577
1555
|
|
1578
|
-
def
|
1556
|
+
def test_ext_plus_odc2_reform(tests_path):
|
1579
1557
|
"""
|
1580
|
-
Test ext.json plus
|
1558
|
+
Test ext.json plus odc2 compound reform relative to ext.json baseline.
|
1581
1559
|
"""
|
1582
1560
|
# specify baseline policy, bas, as the extend-TCJA reform
|
1583
1561
|
bas = Policy()
|
@@ -1586,39 +1564,39 @@ def test_ext_plus_ctc2_reform(tests_path):
|
|
1586
1564
|
ext_text = rfile.read()
|
1587
1565
|
bas.implement_reform(Policy.read_json_reform(ext_text))
|
1588
1566
|
assert not bas.parameter_errors
|
1589
|
-
# specify reform policy, ref, as extend-TCJA plus liberalization of
|
1567
|
+
# specify reform policy, ref, as extend-TCJA plus liberalization of ODC
|
1590
1568
|
ref = Policy()
|
1591
1569
|
ref.implement_reform(Policy.read_json_reform(ext_text))
|
1592
|
-
|
1593
|
-
# one possible
|
1594
|
-
'
|
1595
|
-
2026:
|
1596
|
-
2027:
|
1597
|
-
2028:
|
1598
|
-
2029:
|
1570
|
+
odc2_reform = {
|
1571
|
+
# one possible other-dependent-credit revision to extend-TCJA reform
|
1572
|
+
'ODC_c': {
|
1573
|
+
2026: 600.00,
|
1574
|
+
2027: 600.00,
|
1575
|
+
2028: 600.00,
|
1576
|
+
2029: 800.00,
|
1599
1577
|
},
|
1600
|
-
'
|
1578
|
+
'ODC_c-indexed': {2029: True},
|
1601
1579
|
'ACTC_c': {2029: 1750},
|
1602
1580
|
'ACTC_c-indexed': {2029: False},
|
1603
1581
|
}
|
1604
|
-
ref.implement_reform(
|
1582
|
+
ref.implement_reform(odc2_reform)
|
1605
1583
|
assert not ref.parameter_errors
|
1606
1584
|
# check bas and ref parameter values against expected parameter values
|
1607
|
-
|
1608
|
-
2025:
|
1609
|
-
2026:
|
1610
|
-
2027:
|
1611
|
-
2028:
|
1612
|
-
2029:
|
1613
|
-
2030:
|
1585
|
+
exp_odc_c_bas = {
|
1586
|
+
2025: 500,
|
1587
|
+
2026: 500,
|
1588
|
+
2027: 500,
|
1589
|
+
2028: 500,
|
1590
|
+
2029: 500,
|
1591
|
+
2030: 500,
|
1614
1592
|
}
|
1615
|
-
|
1616
|
-
2025:
|
1617
|
-
2026:
|
1618
|
-
2027:
|
1619
|
-
2028:
|
1620
|
-
2029:
|
1621
|
-
2030:
|
1593
|
+
exp_odc_c_ref = {
|
1594
|
+
2025: 500,
|
1595
|
+
2026: 600,
|
1596
|
+
2027: 600,
|
1597
|
+
2028: 600,
|
1598
|
+
2029: 800,
|
1599
|
+
2030: 817.92,
|
1622
1600
|
}
|
1623
1601
|
exp_actc_c_bas = {
|
1624
1602
|
2025: 1700,
|
@@ -1638,8 +1616,8 @@ def test_ext_plus_ctc2_reform(tests_path):
|
|
1638
1616
|
}
|
1639
1617
|
for year in range(2025, 2031):
|
1640
1618
|
bas.set_year(year)
|
1641
|
-
assert np.allclose([bas.
|
1619
|
+
assert np.allclose([bas.ODC_c], [exp_odc_c_bas[year]])
|
1642
1620
|
assert np.allclose([bas.ACTC_c], [exp_actc_c_bas[year]])
|
1643
1621
|
ref.set_year(year)
|
1644
|
-
assert np.allclose([ref.
|
1622
|
+
assert np.allclose([ref.ODC_c], [exp_odc_c_ref[year]])
|
1645
1623
|
assert np.allclose([ref.ACTC_c], [exp_actc_c_ref[year]])
|
@@ -170,7 +170,7 @@ def test_puf_var_stats(tests_path, puf_fullsample):
|
|
170
170
|
del table_corr['description']
|
171
171
|
# add statistics to tables
|
172
172
|
year_headers = ['description']
|
173
|
-
for year in range(Policy.JSON_START_YEAR,
|
173
|
+
for year in range(Policy.JSON_START_YEAR, 2024 + 1):
|
174
174
|
assert year == calc.current_year
|
175
175
|
year_headers.append(str(year))
|
176
176
|
calc.calc_all()
|
taxcalc/tests/test_pufcsv.py
CHANGED
@@ -24,6 +24,7 @@ from taxcalc.calculator import Calculator
|
|
24
24
|
|
25
25
|
|
26
26
|
START_YEAR = 2017
|
27
|
+
NUM_YEARS = 19
|
27
28
|
|
28
29
|
|
29
30
|
@pytest.mark.pufcsv_agg
|
@@ -34,7 +35,7 @@ def test_agg(tests_path, puf_fullsample):
|
|
34
35
|
the full-sample puf.csv and a small sub-sample of puf.csv
|
35
36
|
"""
|
36
37
|
# pylint: disable=too-many-locals,too-many-statements
|
37
|
-
nyrs =
|
38
|
+
nyrs = NUM_YEARS
|
38
39
|
# create a baseline Policy object with current-law policy parameters
|
39
40
|
baseline_policy = Policy()
|
40
41
|
# create a Records object (rec) containing all puf.csv input records
|
taxcalc/tests/test_reforms.py
CHANGED
@@ -373,7 +373,7 @@ def test_ext_reform(tests_path):
|
|
373
373
|
ext.implement_reform(Policy.read_json_reform(rtext))
|
374
374
|
assert not ext.parameter_errors
|
375
375
|
ext.set_year(2026)
|
376
|
-
assert ext.II_em
|
376
|
+
assert np.allclose([ext.II_em], [end.II_em])
|
377
377
|
# test tax output generated by ext.json reform file using public CPS data
|
378
378
|
recs = Records.cps_constructor()
|
379
379
|
calc_end = Calculator(policy=end, records=recs, verbose=False)
|
@@ -386,4 +386,4 @@ def test_ext_reform(tests_path):
|
|
386
386
|
iitax_ext = calc_ext.array('iitax')
|
387
387
|
rdiff = iitax_ext - iitax_end
|
388
388
|
weighted_sum_rdiff = (rdiff * calc_end.array('s006')).sum() * 1.0e-9
|
389
|
-
assert np.allclose([weighted_sum_rdiff], [
|
389
|
+
assert np.allclose([weighted_sum_rdiff], [45.491], rtol=0.0, atol=0.01)
|
@@ -1,5 +1,5 @@
|
|
1
|
-
taxcalc/__init__.py,sha256=
|
2
|
-
taxcalc/calcfunctions.py,sha256=
|
1
|
+
taxcalc/__init__.py,sha256=envt-d8N73t_pQxUfxlv5-ZE1D2PRP2rNsfyaAcFUPs,536
|
2
|
+
taxcalc/calcfunctions.py,sha256=WpBHk5dRRDNmIvt1S4-Nua4urKqBFUFswWsh6Wbi0ac,135517
|
3
3
|
taxcalc/calculator.py,sha256=yySfH1FLXgRrjxsI5aLsZNwqWG5ahF33z3dVeLNTe_Y,64135
|
4
4
|
taxcalc/conftest.py,sha256=nO4J7qu1sTHgjqrzhpRMvfMJUrNm6GP_IsSuuDt_MeQ,141
|
5
5
|
taxcalc/consumption.json,sha256=FbGpsLP0W02sYc7o8N-BVz8Xw8hfk_gCr5MtHtgEBQQ,7615
|
@@ -13,8 +13,8 @@ taxcalc/growdiff.py,sha256=Q3St-KPIUN2I_l1S0jwN0yr8O4LuzkNIU-_qbXTkrZw,2977
|
|
13
13
|
taxcalc/growfactors.csv,sha256=URIGSKApCY4McvdILkCaIm8EhCGEME2Du-ef5Q9c0uE,5134
|
14
14
|
taxcalc/growfactors.py,sha256=dW71yYKhFDbFtGpBT-kZBqY4MV7IswKcNI3_c-X_Nfg,6525
|
15
15
|
taxcalc/parameters.py,sha256=ObwQMBlPjq3tyNwiR94Nj0zouIVsNaHIho-OQK1RNKg,35966
|
16
|
-
taxcalc/policy.py,sha256=
|
17
|
-
taxcalc/policy_current_law.json,sha256=
|
16
|
+
taxcalc/policy.py,sha256=G8-3ZMS_O9OD_uaG4xZZxsv9nnlPblDqoyQQzGEXHuM,9367
|
17
|
+
taxcalc/policy_current_law.json,sha256=1OsYLipwDvbUN2Ph6KnHAAKVW4HJiDgSKN0UqS1Bfjs,623682
|
18
18
|
taxcalc/puf_ratios.csv,sha256=USMM79UEX8PnSKY_LYLxvACER_9NHyj4ipNEk2iyykQ,3580
|
19
19
|
taxcalc/puf_weights.csv.gz,sha256=35iZhzFO0dHUI2zf4_liyk60E-3Sgr_AbxszGxw7LfM,13522484
|
20
20
|
taxcalc/records.py,sha256=zz-q7rNFUBqDLaDYjcScfwf22zzSw-XEew00HGWB0Ho,18397
|
@@ -27,7 +27,7 @@ taxcalc/assumptions/README.md,sha256=Ww55r2zH1neoRSl_MawrPmX-ugaztIZ7_ALrquuatdQ
|
|
27
27
|
taxcalc/assumptions/economic_assumptions_template.json,sha256=utMk38GwSQFrkOAtRrDVhMQLpfaZH3JmtTznKX7IouM,2610
|
28
28
|
taxcalc/cli/__init__.py,sha256=cyZ0tdx41j_vV_B6GAkqJmNKKG-B0wUC0ThC75lJlk4,104
|
29
29
|
taxcalc/cli/tc.py,sha256=hGkP-XHkvx0MoFdHf-BjUnKqAxQBRtk8Vv4uqtIGuRY,18760
|
30
|
-
taxcalc/reforms/2017_law.json,sha256=
|
30
|
+
taxcalc/reforms/2017_law.json,sha256=4QHE3gMKueXD3M97ODqA0LjofXUfSmwVvJA1FLclaqQ,5264
|
31
31
|
taxcalc/reforms/2017_law.out.csv,sha256=nnNKXqY2kof8HC1nnU8srPsvNNepi6ISXQ9OJpQnT7M,473
|
32
32
|
taxcalc/reforms/ARPA.json,sha256=6oGn3pZ4clAhjFHvqpmm7sXcm407Ea_8mjJchSscKpc,3203
|
33
33
|
taxcalc/reforms/ARPA.out.csv,sha256=qSUdI0LoQFGG6h24eT-249pLEqmxmt7TvLrv1HX_y3Y,475
|
@@ -76,31 +76,31 @@ taxcalc/tests/benefits_expect.csv,sha256=CFpMpg8a-5iNVSRnmCnl9dncwXx6eGn-KSnTJ2G
|
|
76
76
|
taxcalc/tests/cmpi_cps_expect.txt,sha256=NCyG3XhgnV8qJe9TaF9l-9yUuwNfANNDvFn1HcSfZ1c,6262
|
77
77
|
taxcalc/tests/cmpi_puf_expect.txt,sha256=dtHBPDY23qttxjQsPpxhLYoUId1tnPZ4uNHx49NlZ0s,6264
|
78
78
|
taxcalc/tests/conftest.py,sha256=jziEwugOsHJT2YohMxLAR0MZjjaynZJY7flj4lmBn8Q,5164
|
79
|
-
taxcalc/tests/cpscsv_agg_expect.csv,sha256=
|
79
|
+
taxcalc/tests/cpscsv_agg_expect.csv,sha256=80Sq2GlP2oz4vKJfrarYy4qRGWNxUs7DSBYV2qxesGk,3511
|
80
80
|
taxcalc/tests/puf_var_correl_coeffs_2016.csv,sha256=o6Ly5au_J1npbIFQrqP2mwbI6Zc8yJrAOk8fzVRvreU,57314
|
81
|
-
taxcalc/tests/puf_var_wght_means_by_year.csv,sha256=
|
82
|
-
taxcalc/tests/pufcsv_agg_expect.csv,sha256=
|
81
|
+
taxcalc/tests/puf_var_wght_means_by_year.csv,sha256=qEd_73jgAbMpvSM9I-PU50HDbuTgZzpvbU6DJ4M8vrw,12889
|
82
|
+
taxcalc/tests/pufcsv_agg_expect.csv,sha256=DNeYZ2PFTQxpEDA_Qk5HefUez51shk3HpLnoMoof88Q,3545
|
83
83
|
taxcalc/tests/pufcsv_mtr_expect.txt,sha256=MGOK4bV5ACNPtgfhj7cNOcZSkRcEREuZCT5dzju-yC4,4265
|
84
84
|
taxcalc/tests/reforms.json,sha256=JOzgOi3DGAGXLslWZtxWPe81UfvDR73OPe1t-MPAXeE,17097
|
85
85
|
taxcalc/tests/reforms_expect.csv,sha256=DJRO1LF8n6CX5viq3-uufqBF19hlVcqSq0T3EYgQQas,1363
|
86
86
|
taxcalc/tests/test_4package.py,sha256=1qhmDS3bdfNHNgz4pggaE6LduT3KKUtOsdtqP3QSIYQ,3601
|
87
87
|
taxcalc/tests/test_benefits.py,sha256=oaui5mO0TuW8Ht-uxvUCBL5zM3iTENq3Whyf_gEpY1U,3392
|
88
88
|
taxcalc/tests/test_calcfunctions.py,sha256=7uD1EW48TgsEE6pNHIxkXNi9gvZR7dbT7il6jAqgy9s,34653
|
89
|
-
taxcalc/tests/test_calculator.py,sha256=
|
89
|
+
taxcalc/tests/test_calculator.py,sha256=OPgukA61FEBidSX03VvdINhFJngg1S9CytYr67Luu24,33672
|
90
90
|
taxcalc/tests/test_compare.py,sha256=WglH4ZJOEQnav_mAmnGjpb7dooXcQsB1m04hgQeoBUQ,10873
|
91
91
|
taxcalc/tests/test_compatible_data.py,sha256=MP-DZXrBJ_2ftuxHchl3EGOhPnP5pnnrSQOM9POSx0c,13224
|
92
92
|
taxcalc/tests/test_consumption.py,sha256=c6zi9GqNK54cgfzxiWmY10UxOMJZ9vd9fOTwUKU1zMk,6318
|
93
|
-
taxcalc/tests/test_cpscsv.py,sha256=
|
93
|
+
taxcalc/tests/test_cpscsv.py,sha256=eiCZ1TUtRDyTcs7rnQ_8cxEGV04-YsOhT4caKDLejYM,8410
|
94
94
|
taxcalc/tests/test_data.py,sha256=Zwuf23WeaF0N53X0eo3MlnkO2Pn4qqgGNUZPpD8FETc,4461
|
95
95
|
taxcalc/tests/test_decorators.py,sha256=F31pt1S7jIgkgV62xMC-poWRzG7fzYVOJes9tOoCF40,10232
|
96
96
|
taxcalc/tests/test_growdiff.py,sha256=vXZTgPJTUi25mZrfmTPErytSC69Bs_36ydrQmWxgm9g,3420
|
97
97
|
taxcalc/tests/test_growfactors.py,sha256=L-DQMR2fh_rOQa3Lx1CDVnB2Q73zXUfTYYVunt0heto,2796
|
98
98
|
taxcalc/tests/test_parameters.py,sha256=G5mTb2ZQksVGEv8MoO2Fwt12ZJYzk7_-yGT-A-fhBkM,20420
|
99
|
-
taxcalc/tests/test_policy.py,sha256=
|
100
|
-
taxcalc/tests/test_puf_var_stats.py,sha256=
|
101
|
-
taxcalc/tests/test_pufcsv.py,sha256=
|
99
|
+
taxcalc/tests/test_policy.py,sha256=eFEWbgZ33ga-L9M51M-bhuE7HvlOOvBJ6vv90_aO3mM,54902
|
100
|
+
taxcalc/tests/test_puf_var_stats.py,sha256=PaoCmdhpjNMk1_3VaNoMV81-dWNhEChq-UhGlPvHVT8,7786
|
101
|
+
taxcalc/tests/test_pufcsv.py,sha256=OdM-KyPBCP8TS6iQgKkUzrA3mWzX_giKi2hipgMW-Gw,14456
|
102
102
|
taxcalc/tests/test_records.py,sha256=ncswnbCY7vZgJ_h6xwql4oFw-jZG2gWOMWvEJC2_jdc,8827
|
103
|
-
taxcalc/tests/test_reforms.py,sha256=
|
103
|
+
taxcalc/tests/test_reforms.py,sha256=9wvMvCOQwafOBiVVGPU8IjgAD8JU6k58zfgEzF-yobU,16045
|
104
104
|
taxcalc/tests/test_responses.py,sha256=2CkVVdaDNCSALMoUcGgweRlS2tfsK3kXogHtDkZMqJU,1663
|
105
105
|
taxcalc/tests/test_taxcalcio.py,sha256=4WUqtC9OsTczZqsa5jTaXfOQ5YNJRTotg5I6l9859KA,23821
|
106
106
|
taxcalc/tests/test_utils.py,sha256=hqBVxddwcSP_6dEBccb-FlPMDm68EENzTtFaVVZ8exs,29403
|
@@ -131,9 +131,9 @@ taxcalc/validation/taxsim35/expected_differences/b21-taxdiffs-expect.csv,sha256=
|
|
131
131
|
taxcalc/validation/taxsim35/expected_differences/c17-taxdiffs-expect.csv,sha256=YhgojbLowH3yujdYu7SGkdvBZmTgpugu4wYc1Be069M,1125
|
132
132
|
taxcalc/validation/taxsim35/expected_differences/c18-taxdiffs-expect.csv,sha256=g9J4BPbTySV-h-RcLvReJq9v1jscgiRSSZzi0taEA-k,1225
|
133
133
|
taxcalc/validation/taxsim35/expected_differences/c19-taxdiffs-expect.csv,sha256=Ceh15N_Xr3L7cpYjzGa-8NLCV3obc8PNHEhE5ZxSPhI,1238
|
134
|
-
taxcalc-5.
|
135
|
-
taxcalc-5.
|
136
|
-
taxcalc-5.
|
137
|
-
taxcalc-5.
|
138
|
-
taxcalc-5.
|
139
|
-
taxcalc-5.
|
134
|
+
taxcalc-5.2.0.dist-info/licenses/LICENSE,sha256=m5epLdB-_NXiY7NsEDgcHP4jDtJ4vOlRf5S3Jb-jraY,1299
|
135
|
+
taxcalc-5.2.0.dist-info/METADATA,sha256=rPQS2c0tRcARudzWVjbXrInuFkT3GNjrMOMO7rTSdyQ,3677
|
136
|
+
taxcalc-5.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
137
|
+
taxcalc-5.2.0.dist-info/entry_points.txt,sha256=a3ZE1piRv683p27fOLdWZvVJXESkoslTOp5iXV7uVco,50
|
138
|
+
taxcalc-5.2.0.dist-info/top_level.txt,sha256=Wh8wTDHkA_cm4dn8IoUCviDyGgVQqwEQKPJnl8z6d4c,8
|
139
|
+
taxcalc-5.2.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|