taxcalc 5.0.0__py3-none-any.whl → 5.1.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.
@@ -16,7 +16,7 @@ from taxcalc import calcfunctions
16
16
 
17
17
  class GetFuncDefs(ast.NodeVisitor):
18
18
  """
19
- Return information about each function defined in the functions.py file.
19
+ Return information about each function defined in calcfunctions.py file.
20
20
  """
21
21
  def __init__(self):
22
22
  """
@@ -39,6 +39,8 @@ class GetFuncDefs(ast.NodeVisitor):
39
39
  """
40
40
  visit the specified FunctionDef node
41
41
  """
42
+ if node.name == 'SchXYZ':
43
+ return # skipping SchXYZ function that has multiple returns
42
44
  self.fname = node.name
43
45
  self.fnames.append(self.fname)
44
46
  self.fargs[self.fname] = []
@@ -68,6 +70,7 @@ class GetFuncDefs(ast.NodeVisitor):
68
70
  self.generic_visit(node)
69
71
 
70
72
 
73
+ @pytest.mark.calc_and_used_vars
71
74
  def test_calc_and_used_vars(tests_path):
72
75
  """
73
76
  Runs two kinds of tests on variables used in the calcfunctions.py file:
@@ -92,8 +95,6 @@ def test_calc_and_used_vars(tests_path):
92
95
  # .. create set of vars that are actually calculated in calcfunctions.py
93
96
  all_cvars = set()
94
97
  for fname in fnames:
95
- if fname == 'BenefitSurtax':
96
- continue # because BenefitSurtax is not really a function
97
98
  all_cvars.update(set(cvars[fname]))
98
99
  # .. add to all_cvars set variables calculated in Records class
99
100
  all_cvars.update(set(['num', 'sep', 'exact']))
@@ -110,8 +111,7 @@ def test_calc_and_used_vars(tests_path):
110
111
  found_error1 = True
111
112
  msg1 += f'VAR NOT CALCULATED: {var}\n'
112
113
  # Test (2):
113
- faux_functions = ['EITCamount', 'ComputeBenefit', 'BenefitPrograms',
114
- 'BenefitSurtax', 'BenefitLimitation', 'SchXYZ']
114
+ faux_functions = ['EITCamount', 'SchXYZ', 'BenefitPrograms']
115
115
  found_error2 = False
116
116
  msg2 = 'calculated & returned variables are not function arguments\n'
117
117
  for fname in fnames:
@@ -157,8 +157,6 @@ def test_function_args_usage(tests_path):
157
157
  fname = match.group(1)
158
158
  fargs = match.group(2).split(',') # list of function arguments
159
159
  fbody = match.group(3)
160
- if fname == 'Taxes':
161
- continue # because Taxes has part of fbody in return statement
162
160
  for farg in fargs:
163
161
  arg = farg.strip()
164
162
  if fbody.find(arg) < 0:
@@ -558,6 +556,7 @@ def test_EITC(test_tuple, expected_value, skip_jit):
558
556
 
559
557
  # Parameter values for tests
560
558
  PT_qbid_rt = 0.2
559
+ PT_qbid_limited = True
561
560
  PT_qbid_taxinc_thd = [160700.0, 321400.0, 160725.0, 160700.0, 321400.0]
562
561
  PT_qbid_taxinc_gap = [50000.0, 100000.0, 50000.0, 50000.0, 100000.0]
563
562
  PT_qbid_w2_wages_rt = 0.5
@@ -565,6 +564,8 @@ PT_qbid_alt_w2_wages_rt = 0.25
565
564
  PT_qbid_alt_property_rt = 0.025
566
565
  PT_qbid_ps = [9e99, 9e99, 9e99, 9e99, 9e99]
567
566
  PT_qbid_prt = 0.0
567
+ PT_qbid_min_ded = 400.0 # OBBBA value in 2026
568
+ PT_qbid_min_qbi = 1000.0 # OBBBA value in 2026
568
569
 
569
570
  # Input variable values for tests
570
571
  c00100 = [527860.66, 337675.10, 603700.00, 90700.00]
@@ -579,49 +580,58 @@ e02100 = [0.00, 0.00, 0.00, 0.00]
579
580
  e27200 = [0.00, 0.00, 0.00, 0.00]
580
581
  e00650 = [5000.00, 8000.00, 3000.00, 9000.00]
581
582
  c01000 = [7000.00, 4000.00, -3000.00, -3000.00]
583
+ senior_deduction = [0.00, 0.00, 1000.00, 0.00]
584
+ auto_loan_interest_deduction = [0.00, 0.00, 0.00, 1000.00]
582
585
  PT_SSTB_income = [0, 1, 1, 1]
583
586
  PT_binc_w2_wages = [0.00, 0.00, 0.00, 0.00]
584
587
  PT_ubia_property = [0.00, 0.00, 0.00, 0.00]
585
- c04800 = [0.0, 0.0, 0.0, 0.0] # unimportant for function
586
- qbided = [0.0, 0.0, 0.0, 0.0] # unimportant for function
588
+ c04800 = [0.0, 0.0, 0.0, 0.0] # calculated by function
589
+ qbided = [0.0, 0.0, 0.0, 0.0] # calculated by function
587
590
 
588
591
  tuple0 = (
589
592
  c00100[0], standard[0], c04470[0], c04600[0], MARS[0], e00900[0],
590
593
  c03260[0], e26270[0],
591
- e02100[0], e27200[0], e00650[0], c01000[0], PT_SSTB_income[0],
592
- PT_binc_w2_wages[0], PT_ubia_property[0], PT_qbid_rt,
594
+ e02100[0], e27200[0], e00650[0], c01000[0],
595
+ senior_deduction[0], auto_loan_interest_deduction[0], PT_SSTB_income[0],
596
+ PT_binc_w2_wages[0], PT_ubia_property[0], PT_qbid_rt, PT_qbid_limited,
593
597
  PT_qbid_taxinc_thd, PT_qbid_taxinc_gap, PT_qbid_w2_wages_rt,
594
- PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt, c04800[0],
595
- PT_qbid_ps, PT_qbid_prt, qbided[0])
596
- expected0 = (490860.66, 0)
598
+ PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt,
599
+ PT_qbid_ps, PT_qbid_prt, PT_qbid_min_ded, PT_qbid_min_qbi,
600
+ c04800[0], qbided[0])
601
+ expected0 = (490460.66, 400.00)
597
602
  tuple1 = (
598
603
  c00100[1], standard[1], c04470[1], c04600[1], MARS[1], e00900[1],
599
604
  c03260[1], e26270[1],
600
- e02100[1], e27200[1], e00650[1], c01000[1], PT_SSTB_income[1],
601
- PT_binc_w2_wages[1], PT_ubia_property[1], PT_qbid_rt,
605
+ e02100[1], e27200[1], e00650[1], c01000[1],
606
+ senior_deduction[1], auto_loan_interest_deduction[1], PT_SSTB_income[1],
607
+ PT_binc_w2_wages[1], PT_ubia_property[1], PT_qbid_rt, PT_qbid_limited,
602
608
  PT_qbid_taxinc_thd, PT_qbid_taxinc_gap, PT_qbid_w2_wages_rt,
603
- PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt, c04800[1],
604
- PT_qbid_ps, PT_qbid_prt, qbided[1])
609
+ PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt,
610
+ PT_qbid_ps, PT_qbid_prt, PT_qbid_min_ded, PT_qbid_min_qbi,
611
+ c04800[1], qbided[1])
605
612
  expected1 = (284400.08, 4275.02)
606
613
  tuple2 = (
607
614
  c00100[2], standard[2], c04470[2], c04600[2], MARS[2], e00900[2],
608
615
  c03260[2], e26270[2],
609
- e02100[2], e27200[2], e00650[2], c01000[2], PT_SSTB_income[2],
610
- PT_binc_w2_wages[2], PT_ubia_property[2], PT_qbid_rt,
616
+ e02100[2], e27200[2], e00650[2], c01000[2],
617
+ senior_deduction[2], auto_loan_interest_deduction[2], PT_SSTB_income[2],
618
+ PT_binc_w2_wages[2], PT_ubia_property[2], PT_qbid_rt, PT_qbid_limited,
611
619
  PT_qbid_taxinc_thd, PT_qbid_taxinc_gap, PT_qbid_w2_wages_rt,
612
- PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt, c04800[2],
613
- PT_qbid_ps, PT_qbid_prt, qbided[2])
614
- expected2 = (579300.00, 0)
620
+ PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt,
621
+ PT_qbid_ps, PT_qbid_prt, PT_qbid_min_ded, PT_qbid_min_qbi,
622
+ c04800[2], qbided[2])
623
+ expected2 = (577900.00, 400.00)
615
624
  tuple3 = (
616
625
  c00100[3], standard[3], c04470[3], c04600[3], MARS[3], e00900[3],
617
626
  c03260[3], e26270[3],
618
-
619
- e02100[3], e27200[3], e00650[3], c01000[3], PT_SSTB_income[3],
620
- PT_binc_w2_wages[3], PT_ubia_property[3], PT_qbid_rt,
627
+ e02100[3], e27200[3], e00650[3], c01000[3],
628
+ senior_deduction[3], auto_loan_interest_deduction[3], PT_SSTB_income[3],
629
+ PT_binc_w2_wages[3], PT_ubia_property[3], PT_qbid_rt, PT_qbid_limited,
621
630
  PT_qbid_taxinc_thd, PT_qbid_taxinc_gap, PT_qbid_w2_wages_rt,
622
- PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt, c04800[3],
623
- PT_qbid_ps, PT_qbid_prt, qbided[3])
624
- expected3 = (57500.00, 1200)
631
+ PT_qbid_alt_w2_wages_rt, PT_qbid_alt_property_rt,
632
+ PT_qbid_ps, PT_qbid_prt, PT_qbid_min_ded, PT_qbid_min_qbi,
633
+ c04800[3], qbided[3])
634
+ expected3 = (56500.00, 1200)
625
635
 
626
636
 
627
637
  @pytest.mark.parametrize(
@@ -886,3 +896,77 @@ def test_AGI(test_tuple, expected_value, skip_jit):
886
896
  test_value = calcfunctions.AGI(*test_tuple)
887
897
  print('Returned from agi function: ', test_value)
888
898
  assert np.allclose(test_value, expected_value)
899
+
900
+
901
+ # parameters for next test
902
+ e03150 = 0
903
+ e03210 = 0
904
+ c03260 = 0
905
+ e03270 = 0
906
+ e03300 = 0
907
+ e03400 = 0
908
+ e03500 = 0
909
+ e00800 = 0
910
+ e03220 = 0
911
+ e03230 = 0
912
+ e03240 = 0
913
+ e03290 = 0
914
+ care_deduction = 0
915
+ ALD_StudentLoan_hc = 0
916
+ ALD_SelfEmp_HealthIns_hc = 0
917
+ ALD_KEOGH_SEP_hc = 0
918
+ ALD_EarlyWithdraw_hc = 0
919
+ ALD_AlimonyPaid_hc = 0
920
+ ALD_AlimonyReceived_hc = 0
921
+ ALD_EducatorExpenses_hc = 0
922
+ ALD_HSADeduction_hc = 0
923
+ ALD_IRAContributions_hc = 0
924
+ ALD_DomesticProduction_hc = 0
925
+ ALD_Tuition_hc = 0
926
+ MARS = 1
927
+ earned = 200000
928
+ overtime_income = 13000
929
+ ALD_OvertimeIncome_hc = 0.
930
+ ALD_OvertimeIncome_c = [12500, 25000, 12500, 12500, 12500]
931
+ ALD_OvertimeIncome_ps = [150000, 300000, 150000, 150000, 150000]
932
+ ALD_OvertimeIncome_prt = 0.10
933
+ tip_income = 30000
934
+ ALD_TipIncome_hc = 0.
935
+ ALD_TipIncome_c = [25000, 25000, 25000, 25000, 25000]
936
+ ALD_TipIncome_ps = [150000, 300000, 150000, 150000, 150000]
937
+ ALD_TipIncome_prt = 0.10
938
+ c02900 = 0 # calculated in function
939
+ ALD_OvertimeIncome = 0 # calculated in function
940
+ ALD_TipIncome = 0 # calculated in function
941
+
942
+ tuple0 = (
943
+ e03150, e03210, c03260,
944
+ e03270, e03300, e03400, e03500, e00800,
945
+ e03220, e03230, e03240, e03290, care_deduction,
946
+ ALD_StudentLoan_hc, ALD_SelfEmp_HealthIns_hc, ALD_KEOGH_SEP_hc,
947
+ ALD_EarlyWithdraw_hc, ALD_AlimonyPaid_hc, ALD_AlimonyReceived_hc,
948
+ ALD_EducatorExpenses_hc, ALD_HSADeduction_hc, ALD_IRAContributions_hc,
949
+ ALD_DomesticProduction_hc, ALD_Tuition_hc,
950
+ MARS, earned,
951
+ overtime_income, ALD_OvertimeIncome_hc, ALD_OvertimeIncome_c,
952
+ ALD_OvertimeIncome_ps, ALD_OvertimeIncome_prt,
953
+ tip_income, ALD_TipIncome_hc, ALD_TipIncome_c,
954
+ ALD_TipIncome_ps, ALD_TipIncome_prt,
955
+ c02900, ALD_OvertimeIncome, ALD_TipIncome
956
+ )
957
+ ovr = 12500 - (200000 - 150000) * 0.10
958
+ tip = 25000 - (200000 - 150000) * 0.10
959
+ c02900 = 0 + ovr + tip
960
+ expected0 = (c02900, ovr, tip)
961
+
962
+
963
+ @pytest.mark.parametrize(
964
+ 'test_tuple,expected_value', [(tuple0, expected0)]
965
+ )
966
+ def test_Adj(test_tuple, expected_value, skip_jit):
967
+ """
968
+ Tests the Adj function ALD_OvertimeIncome and ALD_TipIncome code
969
+ """
970
+ test_value = calcfunctions.Adj(*test_tuple)
971
+ print('Returned from Adj function: ', test_value)
972
+ assert np.allclose(test_value, expected_value)
@@ -323,10 +323,17 @@ class ArrayParams(Parameters):
323
323
  }
324
324
  }
325
325
  },
326
- "idedtype": {
326
+ "EIC": {
327
327
  "type": "str",
328
328
  "validators": {
329
- "choice": {"choices": ["med", "sltx", "retx"]}
329
+ "choice": {
330
+ "choices": [
331
+ "0kids",
332
+ "1kid",
333
+ "2kids",
334
+ "3+kids"
335
+ ]
336
+ }
330
337
  }
331
338
  }
332
339
  },
@@ -344,23 +351,24 @@ class ArrayParams(Parameters):
344
351
  }
345
352
  },
346
353
  "one_dim": {
347
- "title": "One dimension parameter",
354
+ "title": "One dimensional parameter",
348
355
  "description": "",
349
356
  "type": "float",
350
357
  "indexed": True,
351
358
  "indexable": True,
352
359
  "value": [{"year": 2013, "value": 5}]
353
360
  },
354
- "two_dim": {
355
- "title": "Two dimension parameter",
361
+ "EITC_c": {
362
+ "title": "Two dimensional parameter",
356
363
  "description": "",
357
364
  "type": "float",
358
365
  "indexed": True,
359
366
  "indexable": True,
360
367
  "value": [
361
- {"year": 2013, "idedtype": "med", "value": 1},
362
- {"year": 2013, "idedtype": "sltx", "value": 2},
363
- {"year": 2013, "idedtype": "retx", "value": 3}
368
+ {"year": 2013, "EIC": "0kids", "value": 1},
369
+ {"year": 2013, "EIC": "1kid", "value": 2},
370
+ {"year": 2013, "EIC": "2kids", "value": 3},
371
+ {"year": 2013, "EIC": "3+kids", "value": 4}
364
372
  ]
365
373
  },
366
374
  "II_brk2": {
@@ -454,21 +462,21 @@ def test_expand_2d_short_array():
454
462
  """
455
463
  One of several _expand_?D tests.
456
464
  """
457
- val = np.array([1., 2., 3.])
465
+ val = np.array([1., 2., 3., 4.])
458
466
  exp2 = np.array([val * math.pow(1.02, i) for i in range(1, 5)])
459
- exp1 = np.array([1., 2., 3.])
460
- exp = np.zeros((5, 3))
467
+ exp1 = np.array([1., 2., 3., 4.])
468
+ exp = np.zeros((5, 4))
461
469
  exp[:1] = exp1
462
470
  exp[1:] = exp2
463
471
 
464
472
  params = ArrayParams(array_first=False, label_to_extend=None)
465
473
  years = [2013, 2014, 2015, 2016, 2017]
466
474
  params.extend(
467
- params=["two_dim"],
475
+ params=["EITC_c"],
468
476
  label="year",
469
477
  label_values=years,
470
478
  )
471
- res = params.to_array("two_dim", year=years)
479
+ res = params.to_array("EITC_c", year=years)
472
480
  assert np.allclose(exp, res, atol=0.01, rtol=0.0)
473
481
 
474
482
 
@@ -476,8 +484,8 @@ def test_expand_2d_variable_rates():
476
484
  """
477
485
  One of several _expand_?D tests.
478
486
  """
479
- ary = np.array([[1., 2., 3.]])
480
- cur = np.array([1., 2., 3.])
487
+ ary = np.array([[1., 2., 3., 4.]])
488
+ cur = np.array([1., 2., 3., 4.])
481
489
  irates = [0.02, 0.02, 0.02, 0.03, 0.035]
482
490
  exp2 = []
483
491
  for i in range(0, 4):
@@ -485,16 +493,16 @@ def test_expand_2d_variable_rates():
485
493
  cur = np.array(cur * (1.0 + irates[idx]))
486
494
  print('cur is ', cur)
487
495
  exp2.append(cur)
488
- exp1 = np.array([1., 2., 3.])
489
- exp = np.zeros((5, 3))
496
+ exp1 = np.array([1., 2., 3., 4.])
497
+ exp = np.zeros((5, 4))
490
498
  exp[:1] = exp1
491
499
  exp[1:] = exp2
492
500
 
493
501
  params = ArrayParams(array_first=False, label_to_extend=None)
494
502
  params._inflation_rates = irates
495
503
  years = [2013, 2014, 2015, 2016, 2017]
496
- params.extend(params=["two_dim"], label="year", label_values=years)
497
- res = params.to_array("two_dim", year=years)
504
+ params.extend(params=["EITC_c"], label="year", label_values=years)
505
+ res = params.to_array("EITC_c", year=years)
498
506
  assert np.allclose(exp, res, atol=0.01, rtol=0.0)
499
507
 
500
508
 
@@ -701,7 +701,7 @@ def test_section_titles(tests_path):
701
701
  cgqd_tax_same: 0
702
702
  },
703
703
  'Personal Income': {
704
- 'Regular: Non-AMT, Non-Pass-Through': 0,
704
+ 'Regular: Non-AMT': 0,
705
705
  'Pass-Through': 0,
706
706
  'Alternative Minimum Tax': 0
707
707
  },
@@ -48,7 +48,7 @@ def test_2017_law_reform(tests_path):
48
48
  'EITC_ps_MarriedJ': {'relation': '>', 'value': 5680},
49
49
  'EITC_InvestIncome_c': {'relation': '>', 'value': 3500},
50
50
  # ... parameters affected by TCJA and that are not indexed
51
- 'ID_Charity_crt_cash': {'relation': '=', 'value': 0.5},
51
+ 'ID_Charity_crt_all': {'relation': '=', 'value': 0.5},
52
52
  'II_rt3': {'relation': '=', 'value': 0.25},
53
53
  # ... parameters affected by TCJA and that are indexed
54
54
  'II_brk3': {'relation': '>', 'value': 91900},
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taxcalc
3
- Version: 5.0.0
3
+ Version: 5.1.0
4
4
  Summary: Tax-Calculator
5
5
  Home-page: https://github.com/PSLmodels/Tax-Calculator
6
6
  Download-URL: https://github.com/PSLmodels/Tax-Calculator
@@ -1,24 +1,24 @@
1
- taxcalc/__init__.py,sha256=8ZPmhDabuQcT5NOpKql7aJ7-l7GpLYovbyvTN8Ya5qk,536
2
- taxcalc/calcfunctions.py,sha256=k0p_w-IpHAeOBxqjAM-sFBl1Q7NqAOx3S6W_KB0vmgE,131393
3
- taxcalc/calculator.py,sha256=oXx_IRv0jbfXEFQZkg_E3DzuHJ1JP4kBE8YdbE04iA4,64079
1
+ taxcalc/__init__.py,sha256=_XaOmgCRkA4r5GDj-jiLRil_ejrYErRp_tYzYCVe41M,536
2
+ taxcalc/calcfunctions.py,sha256=reffSY1jtcO1M12GnLxMfyGQt5jRi_SBN9tGP0OuwdM,135350
3
+ taxcalc/calculator.py,sha256=yySfH1FLXgRrjxsI5aLsZNwqWG5ahF33z3dVeLNTe_Y,64135
4
4
  taxcalc/conftest.py,sha256=nO4J7qu1sTHgjqrzhpRMvfMJUrNm6GP_IsSuuDt_MeQ,141
5
- taxcalc/consumption.json,sha256=FBgDd72AZnviQRhGz5rPgpGpOmaOzNYfGB9GdTCeKPI,8102
5
+ taxcalc/consumption.json,sha256=FbGpsLP0W02sYc7o8N-BVz8Xw8hfk_gCr5MtHtgEBQQ,7615
6
6
  taxcalc/consumption.py,sha256=pkXhFGpFqu7hW62KaTctfRSzR-pXzMB1ai8XCQRAgXk,3480
7
7
  taxcalc/cps.csv.gz,sha256=SS6tSduU_Eu0EJwzpslnmqMsQQQucVMzzITfH-SeV40,9851074
8
8
  taxcalc/cps_weights.csv.gz,sha256=-k31Swqss0WEGA3Zo8AoReLR_C7BRUk4PDmfh-oVVyo,13657706
9
9
  taxcalc/data.py,sha256=QRyLsq250OsxUIjsuCFtREJsVyEOGaivwcON3teivMI,11698
10
10
  taxcalc/decorators.py,sha256=EwyVH4fSDf8x_BHzccf4-DRopo6KMVidYSYZFy_dJy0,11307
11
- taxcalc/growdiff.json,sha256=ReBAF6We9ZwTb0uDYQwbedPsQKdm6KSOERiddEYZbm0,15037
11
+ taxcalc/growdiff.json,sha256=GCMuFsHv5qP2HBzqiev3CbFJy0BXnhM2ShaPT2QuNTs,14601
12
12
  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
- taxcalc/parameters.py,sha256=vvweNfZ7GGI6cdi9yxsZLaLdonIIzbhjUp5NsBSkC84,35978
16
- taxcalc/policy.py,sha256=O75xwWsQt49aUte0fhIaLpORwjQj865gP9Bl8IpHIQQ,8408
17
- taxcalc/policy_current_law.json,sha256=tt4KyUyxXBmuQ4cvMcMf8xRGsb6Rvf0VvhxSMIQFmjg,590018
15
+ taxcalc/parameters.py,sha256=ObwQMBlPjq3tyNwiR94Nj0zouIVsNaHIho-OQK1RNKg,35966
16
+ taxcalc/policy.py,sha256=SBOUMdpsbriN81sh17-mYpwCk-snjjfFhYAWucmDUQ8,9081
17
+ taxcalc/policy_current_law.json,sha256=ksGNrGlI0EfRjh5cOAQISwgIaW7JbtnRriu6M8zKitw,613750
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
- taxcalc/records.py,sha256=K5QgP6Pm9PtEVDVzM7tpHYPu554Wio0KnrU7YTTBKgQ,18264
21
- taxcalc/records_variables.json,sha256=M4XMBpaolosMzY9cFKLFQxE2RYqPVKJuVHDX8AfVy9c,41362
20
+ taxcalc/records.py,sha256=zz-q7rNFUBqDLaDYjcScfwf22zzSw-XEew00HGWB0Ho,18397
21
+ taxcalc/records_variables.json,sha256=JQjaXOS-QyJLDMl_3K4WyCNyRmJpxho3vC_gik5g04Y,42681
22
22
  taxcalc/taxcalcio.py,sha256=_ylnC-dZUpDFn79F8pjkZEq-wJhPCQA7Ig9SRLyhrUA,37691
23
23
  taxcalc/utils.py,sha256=Wsvni2UP7WgnByN4bRIiLGgamDFwfQoexiy420o6ewY,63666
24
24
  taxcalc/utilsprvt.py,sha256=iIyWp9-N3_XWjQj2jV2CWnJy7vrNlKB2_vIMwYjgbWY,1323
@@ -27,13 +27,13 @@ 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=SglDU_h4Ol8sBi92B8T-ToOF1eDbp-5WtLrYNIIYkEk,5188
30
+ taxcalc/reforms/2017_law.json,sha256=k9dzXJCnX4eu1EfI0uVokEwbZijaBPG0EAFBcObCGGE,5187
31
31
  taxcalc/reforms/2017_law.out.csv,sha256=nnNKXqY2kof8HC1nnU8srPsvNNepi6ISXQ9OJpQnT7M,473
32
- taxcalc/reforms/ARPA.json,sha256=1H9LuJ_QitXRO9e8R3PWizajJgdioIzbGFdvdlt9FVg,3119
32
+ taxcalc/reforms/ARPA.json,sha256=6oGn3pZ4clAhjFHvqpmm7sXcm407Ea_8mjJchSscKpc,3203
33
33
  taxcalc/reforms/ARPA.out.csv,sha256=qSUdI0LoQFGG6h24eT-249pLEqmxmt7TvLrv1HX_y3Y,475
34
34
  taxcalc/reforms/BrownKhanna.json,sha256=yydcFsixV28p1I5uB0VgwJJ5GyGL0JU8K-IUwrPHlzs,964
35
35
  taxcalc/reforms/BrownKhanna.out.csv,sha256=D2pPxtH5RyMnf8wQad3R2W1Uh4ZLXa7MAQ_dQccMkPA,475
36
- taxcalc/reforms/CARES.json,sha256=dOgyA2_bqEAJXpoFSmfdpKTmnYd3Rq1-zx1wLVoMJcI,1979
36
+ taxcalc/reforms/CARES.json,sha256=lTAt0waGCgyUZ3ayrBOoiifqJYVgf19JHdqGusg400o,1977
37
37
  taxcalc/reforms/CARES.out.csv,sha256=4DkEQm6l3BKsRz9JW80qyqiU4AM9ocze2aInfqVDKCM,476
38
38
  taxcalc/reforms/ConsolidatedAppropriationsAct2021.json,sha256=3lWa9vNU3wneNQMI4aSSDAIC3grQ5qm6kHAmIBHSvBI,528
39
39
  taxcalc/reforms/ConsolidatedAppropriationsAct2021.out.csv,sha256=qSUdI0LoQFGG6h24eT-249pLEqmxmt7TvLrv1HX_y3Y,475
@@ -45,7 +45,7 @@ taxcalc/reforms/Renacci.json,sha256=U6rmbe1-IANG_H69xET5G8-v76ErbbHcm1JdRzAO8y4,
45
45
  taxcalc/reforms/Renacci.out.csv,sha256=dBrDH-Sc5EYvsYzotJZShRxd1EbhdI3enOUqaAsAyuI,472
46
46
  taxcalc/reforms/SandersDeFazio.json,sha256=BMSfl96ERD4SGd_PDMQkiDV5s4iD7Mh1BjS7uKxVD18,710
47
47
  taxcalc/reforms/SandersDeFazio.out.csv,sha256=gIgcP6deUqtq-r9p6Lirg_hxUFDtFPJmKZWGzLrnIjU,475
48
- taxcalc/reforms/TCJA.json,sha256=hUl5Irm9exKT7e5s-8NYjNrLboNLOy6eSh1oFuSTcrk,6132
48
+ taxcalc/reforms/TCJA.json,sha256=9prAFLdzzqcRr0cNKy7PjgUNQtKKxBJWARrcD5h9I0I,6131
49
49
  taxcalc/reforms/TCJA.md,sha256=Uy5DtvQ9IiQKmWS-ISX_Dup3MwZNpBgS1Y78Rn3butY,2159
50
50
  taxcalc/reforms/TCJA.out.csv,sha256=fiDRHHku0MQptfDXTK9KhnSF87_446bRFfebP_VBLZA,474
51
51
  taxcalc/reforms/Trump2016.json,sha256=v-pthOhjvsczMQACMU1vh3ZYXqWJhF-itkeDDFVyBjI,2250
@@ -54,7 +54,7 @@ taxcalc/reforms/Trump2017.json,sha256=sCaQkvFY66VPQa6GUzKbrsH5R3BxOcBwMuHE9Ypv0H
54
54
  taxcalc/reforms/Trump2017.out.csv,sha256=By1quzZONFLQGK5E76mbNNFuORZ8aCGHpD1BR5iwTS8,474
55
55
  taxcalc/reforms/cases.csv,sha256=JQ0LSnNeyl6xSgW5mimGUJMr7xwCWTOpiOpfwx2ETsg,570
56
56
  taxcalc/reforms/clp.out.csv,sha256=qSUdI0LoQFGG6h24eT-249pLEqmxmt7TvLrv1HX_y3Y,475
57
- taxcalc/reforms/ext.json,sha256=bfi0HO5rYtjdxbbmz9cb_UimE7tMNQVnEqsCU7z1tPg,2310
57
+ taxcalc/reforms/ext.json,sha256=pD8bTjtb7NuYVrOd1IT8pqscKRMX2_5hkrTOQceSiVw,2309
58
58
  taxcalc/reforms/growfactors_ext.csv,sha256=E0szWXtgV5jcpiyvREOz1yXw_poPIBC77bBQI1rlFxM,17733
59
59
  taxcalc/reforms/ptaxes0.json,sha256=QkvqCVkI23sF7FvTHqaUYNpEJYuHNChbKwH0mH7Otp4,1718
60
60
  taxcalc/reforms/ptaxes0.out.csv,sha256=DKGsyNWqo-ABUnjFjEGMpqqhmT2WDRGuU6sKTgH_obc,476
@@ -76,16 +76,16 @@ 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=Do3gRVVKUCZtQ2Ooy5jn6gMS9_WbclJ5FhSSHR6gwX8,2089
80
- taxcalc/tests/puf_var_correl_coeffs_2016.csv,sha256=2VtWUcTaE6c5cmmEDylv9XKVONLT6GZ10gozELxk-2g,57314
81
- taxcalc/tests/puf_var_wght_means_by_year.csv,sha256=nou_pIKICyXmCfyj_UziNXp1EB4BQU7Qa-ZvqlE1WqM,20049
82
- taxcalc/tests/pufcsv_agg_expect.csv,sha256=n3fmYQtpv7RClTyGsJ4ehFJzFexQA4Lp1jrbAuBcEK8,2117
83
- taxcalc/tests/pufcsv_mtr_expect.txt,sha256=xGsUfafzsZ04fFQw162ys-1Mf1CDC_PQ0QZNigS07VY,4265
84
- taxcalc/tests/reforms.json,sha256=5-Dl4t00F747RPuagHQBD8KlzWFu4b9x-DW1LajHoZ0,17094
79
+ taxcalc/tests/cpscsv_agg_expect.csv,sha256=kMagBzEhtig-z6EC3xLavQTtNebHDy1ppmCQOu12CDM,2089
80
+ taxcalc/tests/puf_var_correl_coeffs_2016.csv,sha256=o6Ly5au_J1npbIFQrqP2mwbI6Zc8yJrAOk8fzVRvreU,57314
81
+ taxcalc/tests/puf_var_wght_means_by_year.csv,sha256=Xu-pqCTbStyzNu2U4KVbgG-SRe9RLtVqJiwdjCDv1_E,20049
82
+ taxcalc/tests/pufcsv_agg_expect.csv,sha256=ZgqwtNL2gxTz6Qar2xiIbem5dvDTu4BZthtXeWkdmLc,2117
83
+ taxcalc/tests/pufcsv_mtr_expect.txt,sha256=MGOK4bV5ACNPtgfhj7cNOcZSkRcEREuZCT5dzju-yC4,4265
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
- taxcalc/tests/test_calcfunctions.py,sha256=512XEGEh2uT2si1eE2S5HP93ewj8dXLGGoDhi9Mqzbo,31949
88
+ taxcalc/tests/test_calcfunctions.py,sha256=7uD1EW48TgsEE6pNHIxkXNi9gvZR7dbT7il6jAqgy9s,34653
89
89
  taxcalc/tests/test_calculator.py,sha256=JTbaQ9rndIB7WylQE4inLvd7CazH4Vdnb0h7IRDtN3Q,33653
90
90
  taxcalc/tests/test_compare.py,sha256=WglH4ZJOEQnav_mAmnGjpb7dooXcQsB1m04hgQeoBUQ,10873
91
91
  taxcalc/tests/test_compatible_data.py,sha256=MP-DZXrBJ_2ftuxHchl3EGOhPnP5pnnrSQOM9POSx0c,13224
@@ -95,12 +95,12 @@ taxcalc/tests/test_data.py,sha256=Zwuf23WeaF0N53X0eo3MlnkO2Pn4qqgGNUZPpD8FETc,44
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
- taxcalc/tests/test_parameters.py,sha256=og-vbgGLb1Gow2xBjo9wy9nHNjFzrzmhOMw7ZeaNIJE,20132
99
- taxcalc/tests/test_policy.py,sha256=Y8hqQBwOI4-qIgmP-70402fZ17Mm4OGkx8sxnZXxT4I,55565
98
+ taxcalc/tests/test_parameters.py,sha256=G5mTb2ZQksVGEv8MoO2Fwt12ZJYzk7_-yGT-A-fhBkM,20420
99
+ taxcalc/tests/test_policy.py,sha256=B0Zple7HXAfi0ZhIyJhst05WB5DH60qoHyaIRR_Ar0Q,55547
100
100
  taxcalc/tests/test_puf_var_stats.py,sha256=TG-sQtOkR6cBOw0am7MUsMSwjPxVdkvt0Xov342oii8,7786
101
101
  taxcalc/tests/test_pufcsv.py,sha256=rxPaxA-SCAwaLy3jSnplvy_3dH8MQ-UKDSJnYZNhjzo,14434
102
102
  taxcalc/tests/test_records.py,sha256=ncswnbCY7vZgJ_h6xwql4oFw-jZG2gWOMWvEJC2_jdc,8827
103
- taxcalc/tests/test_reforms.py,sha256=2ttuq-e8uNDMO0PkGTqAqAcCtJwYAteJOVIEB5pbMMo,16032
103
+ taxcalc/tests/test_reforms.py,sha256=j7MhV4zQpOYvVCsvxxviWIv8TUt8Pz4xEuKL-uQS0ak,16031
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.0.0.dist-info/licenses/LICENSE,sha256=m5epLdB-_NXiY7NsEDgcHP4jDtJ4vOlRf5S3Jb-jraY,1299
135
- taxcalc-5.0.0.dist-info/METADATA,sha256=BlYQjYi7q_EggN2BVILeMue5JuP7YJuBm5GPx_mIRp0,3677
136
- taxcalc-5.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
137
- taxcalc-5.0.0.dist-info/entry_points.txt,sha256=a3ZE1piRv683p27fOLdWZvVJXESkoslTOp5iXV7uVco,50
138
- taxcalc-5.0.0.dist-info/top_level.txt,sha256=Wh8wTDHkA_cm4dn8IoUCviDyGgVQqwEQKPJnl8z6d4c,8
139
- taxcalc-5.0.0.dist-info/RECORD,,
134
+ taxcalc-5.1.0.dist-info/licenses/LICENSE,sha256=m5epLdB-_NXiY7NsEDgcHP4jDtJ4vOlRf5S3Jb-jraY,1299
135
+ taxcalc-5.1.0.dist-info/METADATA,sha256=D9snOqfo7azw_tcUtgHLsrvwKGCOhqZ5CRT5gdrq8Xw,3677
136
+ taxcalc-5.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
137
+ taxcalc-5.1.0.dist-info/entry_points.txt,sha256=a3ZE1piRv683p27fOLdWZvVJXESkoslTOp5iXV7uVco,50
138
+ taxcalc-5.1.0.dist-info/top_level.txt,sha256=Wh8wTDHkA_cm4dn8IoUCviDyGgVQqwEQKPJnl8z6d4c,8
139
+ taxcalc-5.1.0.dist-info/RECORD,,