taxcalc 4.6.2__tar.gz → 5.0.0__tar.gz

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.
Files changed (243) hide show
  1. {taxcalc-4.6.2 → taxcalc-5.0.0}/Makefile +3 -3
  2. {taxcalc-4.6.2/taxcalc.egg-info → taxcalc-5.0.0}/PKG-INFO +1 -1
  3. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/about/releases.md +47 -0
  4. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/contributing/RELEASING.md +2 -2
  5. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/cli.md +51 -5
  6. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/policy_params.md +2 -569
  7. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/index.md +1 -1
  8. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/usage/tcja_after_2025.md +47 -46
  9. {taxcalc-4.6.2 → taxcalc-5.0.0}/extend_tcja.py +9 -15
  10. {taxcalc-4.6.2 → taxcalc-5.0.0}/ppp.py +0 -7
  11. {taxcalc-4.6.2 → taxcalc-5.0.0}/setup.py +1 -1
  12. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/__init__.py +1 -1
  13. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/calcfunctions.py +54 -459
  14. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/calculator.py +9 -7
  15. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/cli/tc.py +85 -29
  16. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/parameters.py +187 -120
  17. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/policy.py +53 -24
  18. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/policy_current_law.json +737 -4555
  19. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/records_variables.json +0 -40
  20. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/2017_law.json +1 -15
  21. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Larson2019.json +3 -3
  22. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/REFORMS.md +0 -2
  23. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/TCJA.json +2 -30
  24. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Trump2016.json +1 -16
  25. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Trump2017.json +1 -10
  26. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ext.json +1 -15
  27. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/taxcalcio.py +72 -21
  28. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/conftest.py +2 -2
  29. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/pufcsv_agg_expect.csv +2 -2
  30. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/reforms.json +36 -99
  31. taxcalc-5.0.0/taxcalc/tests/reforms_expect.csv +61 -0
  32. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_calcfunctions.py +1 -1
  33. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_calculator.py +9 -81
  34. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_compatible_data.py +0 -6
  35. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_parameters.py +22 -22
  36. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_policy.py +155 -56
  37. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_pufcsv.py +0 -56
  38. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_reforms.py +2 -2
  39. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_taxcalcio.py +16 -13
  40. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_utils.py +59 -59
  41. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/utils.py +5 -5
  42. {taxcalc-4.6.2 → taxcalc-5.0.0/taxcalc.egg-info}/PKG-INFO +1 -1
  43. taxcalc-4.6.2/taxcalc/tests/reforms_expect.csv +0 -65
  44. {taxcalc-4.6.2 → taxcalc-5.0.0}/.coveragerc +0 -0
  45. {taxcalc-4.6.2 → taxcalc-5.0.0}/.github/FUNDING.yml +0 -0
  46. {taxcalc-4.6.2 → taxcalc-5.0.0}/.github/workflows/build_and_test.yml +0 -0
  47. {taxcalc-4.6.2 → taxcalc-5.0.0}/.github/workflows/check_jupyterbook.yml +0 -0
  48. {taxcalc-4.6.2 → taxcalc-5.0.0}/.github/workflows/deploy_jupyterbook.yml +0 -0
  49. {taxcalc-4.6.2 → taxcalc-5.0.0}/.github/workflows/deploy_parameters_docs.yml +0 -0
  50. {taxcalc-4.6.2 → taxcalc-5.0.0}/.gitignore +0 -0
  51. {taxcalc-4.6.2 → taxcalc-5.0.0}/LICENSE +0 -0
  52. {taxcalc-4.6.2 → taxcalc-5.0.0}/MANIFEST.in +0 -0
  53. {taxcalc-4.6.2 → taxcalc-5.0.0}/PSL_catalog.json +0 -0
  54. {taxcalc-4.6.2 → taxcalc-5.0.0}/README.md +0 -0
  55. {taxcalc-4.6.2 → taxcalc-5.0.0}/codecov.yml +0 -0
  56. {taxcalc-4.6.2 → taxcalc-5.0.0}/conda.recipe/bld.bat +0 -0
  57. {taxcalc-4.6.2 → taxcalc-5.0.0}/conda.recipe/build.sh +0 -0
  58. {taxcalc-4.6.2 → taxcalc-5.0.0}/conda.recipe/meta.yaml +0 -0
  59. {taxcalc-4.6.2 → taxcalc-5.0.0}/csv_show.sh +0 -0
  60. {taxcalc-4.6.2 → taxcalc-5.0.0}/csv_vars.sh +0 -0
  61. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/PSL.svg +0 -0
  62. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/_config.yml +0 -0
  63. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/_static/atr.png +0 -0
  64. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/_static/mtr.png +0 -0
  65. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/_static/pch.png +0 -0
  66. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/_toc.yml +0 -0
  67. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/about/LICENSE.md +0 -0
  68. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/about/history.md +0 -0
  69. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/about/roadmap.md +0 -0
  70. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/calcfunctions.rst +0 -0
  71. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/calculator.rst +0 -0
  72. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/consumption.rst +0 -0
  73. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/data.rst +0 -0
  74. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/decorators.rst +0 -0
  75. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/growdiff.rst +0 -0
  76. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/growfactors.rst +0 -0
  77. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/parameters.rst +0 -0
  78. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/policy.rst +0 -0
  79. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/public_api.rst +0 -0
  80. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/records.rst +0 -0
  81. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/taxcalcio.rst +0 -0
  82. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/utils.rst +0 -0
  83. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/api/utilsprvt.rst +0 -0
  84. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/contributing/contributor_guide.md +0 -0
  85. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/contributing/param_naming.md +0 -0
  86. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/contributing/pr_workflow.md +0 -0
  87. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/contributing/testing.md +0 -0
  88. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/README.md +0 -0
  89. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/assumption_params.md +0 -0
  90. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/index.md +0 -0
  91. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/input_vars.md +0 -0
  92. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/make/make_io_vars.py +0 -0
  93. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/make/make_params.py +0 -0
  94. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/make/make_uguide.py +0 -0
  95. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/output_vars.md +0 -0
  96. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/python_interface.md +0 -0
  97. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/templates/assumption_params_template.md +0 -0
  98. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/templates/input_vars_template.md +0 -0
  99. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/templates/output_vars_template.md +0 -0
  100. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/guide/templates/policy_params_template.md +0 -0
  101. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/README.md +0 -0
  102. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/_static/reformA.json +0 -0
  103. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/_static/reformB.json +0 -0
  104. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/_static/reformC.json +0 -0
  105. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/convert_all.sh +0 -0
  106. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/index.md +0 -0
  107. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe00.md +0 -0
  108. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe01.md +0 -0
  109. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe02.md +0 -0
  110. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe03.md +0 -0
  111. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe04.md +0 -0
  112. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe04_pandas.md +0 -0
  113. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe05.md +0 -0
  114. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/md_src/recipe06.md +0 -0
  115. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe00.ipynb +0 -0
  116. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe01.ipynb +0 -0
  117. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe02.ipynb +0 -0
  118. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe03.ipynb +0 -0
  119. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe04.ipynb +0 -0
  120. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe04_pandas.ipynb +0 -0
  121. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe05.ipynb +0 -0
  122. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/recipes/recipe06.ipynb +0 -0
  123. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/usage/data.md +0 -0
  124. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/usage/overview.md +0 -0
  125. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/usage/starting.md +0 -0
  126. {taxcalc-4.6.2 → taxcalc-5.0.0}/docs/use_cases.md +0 -0
  127. {taxcalc-4.6.2 → taxcalc-5.0.0}/environment.yml +0 -0
  128. {taxcalc-4.6.2 → taxcalc-5.0.0}/gitpr +0 -0
  129. {taxcalc-4.6.2 → taxcalc-5.0.0}/gitpr.bat +0 -0
  130. {taxcalc-4.6.2 → taxcalc-5.0.0}/gitsync +0 -0
  131. {taxcalc-4.6.2 → taxcalc-5.0.0}/gitsync.bat +0 -0
  132. {taxcalc-4.6.2 → taxcalc-5.0.0}/pyproject.toml +0 -0
  133. {taxcalc-4.6.2 → taxcalc-5.0.0}/pytest.ini +0 -0
  134. {taxcalc-4.6.2 → taxcalc-5.0.0}/setup.cfg +0 -0
  135. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/assumptions/ASSUMPTIONS.md +0 -0
  136. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/assumptions/README.md +0 -0
  137. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/assumptions/economic_assumptions_template.json +0 -0
  138. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/cli/__init__.py +0 -0
  139. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/conftest.py +0 -0
  140. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/consumption.json +0 -0
  141. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/consumption.py +0 -0
  142. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/cps.csv.gz +0 -0
  143. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/cps_weights.csv.gz +0 -0
  144. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/data.py +0 -0
  145. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/decorators.py +0 -0
  146. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/growdiff.json +0 -0
  147. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/growdiff.py +0 -0
  148. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/growfactors.csv +0 -0
  149. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/growfactors.py +0 -0
  150. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/puf_ratios.csv +0 -0
  151. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/puf_weights.csv.gz +0 -0
  152. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/records.py +0 -0
  153. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/2017_law.out.csv +0 -0
  154. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ARPA.json +0 -0
  155. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ARPA.out.csv +0 -0
  156. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/BrownKhanna.json +0 -0
  157. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/BrownKhanna.out.csv +0 -0
  158. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/CARES.json +0 -0
  159. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/CARES.out.csv +0 -0
  160. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ConsolidatedAppropriationsAct2021.json +0 -0
  161. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ConsolidatedAppropriationsAct2021.out.csv +0 -0
  162. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Larson2019.out.csv +0 -0
  163. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/README.md +0 -0
  164. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Renacci.json +0 -0
  165. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Renacci.out.csv +0 -0
  166. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/SandersDeFazio.json +0 -0
  167. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/SandersDeFazio.out.csv +0 -0
  168. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/TCJA.md +0 -0
  169. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/TCJA.out.csv +0 -0
  170. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Trump2016.out.csv +0 -0
  171. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/Trump2017.out.csv +0 -0
  172. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/Clinton2016.json +0 -0
  173. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/RyanBrady.json +0 -0
  174. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_House.json +0 -0
  175. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_House_Amended.json +0 -0
  176. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_Reconciliation.json +0 -0
  177. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_Senate.json +0 -0
  178. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_Senate_111417.json +0 -0
  179. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/archive/TCJA_Senate_120117.json +0 -0
  180. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/cases.csv +0 -0
  181. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/clp.out.csv +0 -0
  182. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/growfactors_ext.csv +0 -0
  183. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes0.json +0 -0
  184. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes0.out.csv +0 -0
  185. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes1.json +0 -0
  186. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes1.out.csv +0 -0
  187. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes2.json +0 -0
  188. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes2.out.csv +0 -0
  189. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes3.json +0 -0
  190. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/reforms/ptaxes3.out.csv +0 -0
  191. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/benefits_expect.csv +0 -0
  192. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/cmpi_cps_expect.txt +0 -0
  193. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/cmpi_puf_expect.txt +0 -0
  194. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/cpscsv_agg_expect.csv +0 -0
  195. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/puf_var_correl_coeffs_2016.csv +0 -0
  196. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/puf_var_wght_means_by_year.csv +0 -0
  197. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/pufcsv_mtr_expect.txt +0 -0
  198. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_4package.py +0 -0
  199. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_benefits.py +0 -0
  200. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_compare.py +0 -0
  201. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_consumption.py +0 -0
  202. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_cpscsv.py +0 -0
  203. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_data.py +0 -0
  204. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_decorators.py +0 -0
  205. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_growdiff.py +0 -0
  206. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_growfactors.py +0 -0
  207. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_puf_var_stats.py +0 -0
  208. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_records.py +0 -0
  209. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/tests/test_responses.py +0 -0
  210. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/utilsprvt.py +0 -0
  211. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/CSV_INPUT_VARS.md +0 -0
  212. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/CSV_OUTPUT_VARS.md +0 -0
  213. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/README.md +0 -0
  214. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/Differences_Explained.md +0 -0
  215. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/README.md +0 -0
  216. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/a17-taxdiffs-expect.csv +0 -0
  217. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/a18-taxdiffs-expect.csv +0 -0
  218. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/a19-taxdiffs-expect.csv +0 -0
  219. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/a20-taxdiffs-expect.csv +0 -0
  220. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/a21-taxdiffs-expect.csv +0 -0
  221. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/b17-taxdiffs-expect.csv +0 -0
  222. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/b18-taxdiffs-expect.csv +0 -0
  223. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/b19-taxdiffs-expect.csv +0 -0
  224. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/b20-taxdiffs-expect.csv +0 -0
  225. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/b21-taxdiffs-expect.csv +0 -0
  226. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/c17-taxdiffs-expect.csv +0 -0
  227. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/c18-taxdiffs-expect.csv +0 -0
  228. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/expected_differences/c19-taxdiffs-expect.csv +0 -0
  229. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/input_setup.py +0 -0
  230. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/main_comparison.py +0 -0
  231. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/prepare_taxcalc_input.py +0 -0
  232. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/process_taxcalc_output.py +0 -0
  233. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/taxsim_emulation.json +0 -0
  234. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/taxsim_input.py +0 -0
  235. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/tc_sims.py +0 -0
  236. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/taxsim35/tests_35.py +0 -0
  237. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc/validation/tests_35.sh +0 -0
  238. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc.egg-info/SOURCES.txt +0 -0
  239. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc.egg-info/dependency_links.txt +0 -0
  240. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc.egg-info/entry_points.txt +0 -0
  241. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc.egg-info/requires.txt +0 -0
  242. {taxcalc-4.6.2 → taxcalc-5.0.0}/taxcalc.egg-info/top_level.txt +0 -0
  243. {taxcalc-4.6.2 → taxcalc-5.0.0}/tctest-nojit.sh +0 -0
@@ -49,19 +49,19 @@ rm -f tmp??????-??-#-tmp*
49
49
  endef
50
50
 
51
51
  .PHONY=pytest-cps
52
- pytest-cps:
52
+ pytest-cps: clean
53
53
  @$(pytest-setup)
54
54
  @cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m "not requires_pufcsv and not pre_release"
55
55
  @$(pytest-cleanup)
56
56
 
57
57
  .PHONY=pytest
58
- pytest:
58
+ pytest: clean
59
59
  @$(pytest-setup)
60
60
  @cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m "not pre_release"
61
61
  @$(pytest-cleanup)
62
62
 
63
63
  .PHONY=pytest-all
64
- pytest-all:
64
+ pytest-all: clean
65
65
  @$(pytest-setup)
66
66
  @cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m ""
67
67
  @$(pytest-cleanup)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taxcalc
3
- Version: 4.6.2
3
+ Version: 5.0.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
@@ -4,6 +4,53 @@ Go [here](https://github.com/PSLmodels/Tax-Calculator/pulls?q=is%3Apr+is%3Aclose
4
4
  for a complete commit history.
5
5
 
6
6
 
7
+ 2025-06-23 Release 5.0.0
8
+ ------------------------
9
+ (last merged pull request is
10
+ [#2920](https://github.com/PSLmodels/Tax-Calculator/pull/2920))
11
+
12
+ **This is a major release with changes that make Tax-Calculator incompatible with earlier releases.**
13
+
14
+ **API Changes**
15
+ - Rename two OASDI benefit taxation policy parameters
16
+ [[#2918](https://github.com/PSLmodels/Tax-Calculator/pull/2918) by Martin Holmer]
17
+ - Remove `PT_rt?` and `PT_brk?` and four associated `PT_*` parameters
18
+ [[#2919](https://github.com/PSLmodels/Tax-Calculator/pull/2919) by Martin Holmer]
19
+ - Remove several, but not all, policy parameters that limit itemized deductions
20
+ [[#2920](https://github.com/PSLmodels/Tax-Calculator/pull/2920) by Martin Holmer]
21
+
22
+ **New Features**
23
+
24
+ **Bug Fixes**
25
+
26
+
27
+ 2025-06-13 Release 4.6.3
28
+ ------------------------
29
+ (last merged pull request is
30
+ [#2915](https://github.com/PSLmodels/Tax-Calculator/pull/2915))
31
+
32
+ **This is a minor enhancement release.**
33
+
34
+ **API Changes**
35
+
36
+ **New Features**
37
+ - Update CLI documentation
38
+ [[#2907](https://github.com/PSLmodels/Tax-Calculator/pull/2907) by Martin Holmer]
39
+ - Add deprecation warnings for planned Tax-Calculator 5.0.0 changes, add two tests, and remove one obsolete test
40
+ [[#2908](https://github.com/PSLmodels/Tax-Calculator/pull/2908),
41
+ [#2909](https://github.com/PSLmodels/Tax-Calculator/pull/2909), and
42
+ [#2910](https://github.com/PSLmodels/Tax-Calculator/pull/2910) by Martin Holmer]
43
+ - Add optional `--runid N` CLI option that simplifies output file names
44
+ [[#2912](https://github.com/PSLmodels/Tax-Calculator/pull/2912) by Martin Holmer]
45
+ - Add a default `income_group` definition to the CLI --dumpdb output
46
+ [[#2913](https://github.com/PSLmodels/Tax-Calculator/pull/2913) and
47
+ [#2914](https://github.com/PSLmodels/Tax-Calculator/pull/2914) by Martin Holmer]
48
+ - Standardize CLI output file name extensions
49
+ [[#2915](https://github.com/PSLmodels/Tax-Calculator/pull/2915) by Martin Holmer]
50
+
51
+ **Bug Fixes**
52
+
53
+
7
54
  2025-05-16 Release 4.6.2
8
55
  ------------------------
9
56
  (last merged pull request is
@@ -16,7 +16,7 @@ In the top-level Tax-Calculator directory, do the following:
16
16
 
17
17
  --> on branch X-Y-Z, edit docs/about/releases.md to finalize X.Y.Z info
18
18
 
19
- --> specify release X.Y.Z in setup.py and taxcalc/__init__.py and docs/index.md
19
+ --> specify release X.Y.Z in setup.py, taxcalc/__init__.py, docs/index.md
20
20
 
21
21
  --> run `python update_pcl.py` [to update policy_current_law.json if needed]
22
22
 
@@ -24,7 +24,7 @@ In the top-level Tax-Calculator directory, do the following:
24
24
 
25
25
  --> run `python extend_tcja.py > ext.json` [to update reforms/ext.json]
26
26
 
27
- --> run `make cstest` [to make confirm project coding style is being followed]
27
+ --> run `make cstest` [to confirm project coding style is being followed]
28
28
 
29
29
  --> run `make pytest-all` [or `pytest -m pre_release -n4` in taxcalc subdir]
30
30
 
@@ -412,10 +412,7 @@ exploratory data analysis.
412
412
  % tc cps.csv 2024 --reform ref3.json --dumpdb
413
413
  Read input data for 2014; input data were extrapolated to 2024
414
414
  Write dump output to sqlite3 database file cps-24-#-ref3-#.db
415
- Execution time is 35.8 seconds
416
- Read input data for 2014; input data were extrapolated to 2025
417
- Write dump output to sqlite3 database file cps-25-#-ref3-#.db
418
- Execution time is 35.1 seconds
415
+ Execution time is 35.6 seconds
419
416
 
420
417
  % sqlite3 cps-24-#-ref3-#.db
421
418
  SQLite version 3.39.5 2022-10-14 20:58:05
@@ -531,6 +528,9 @@ to generate such budget-window results is to use the CLI tool's
531
528
  extend-TCJA-beyond-2025 reform, then we can execute the following run:
532
529
 
533
530
  ```
531
+ % tc --version
532
+ Tax-Calculator 4.6.2 on Python 3.12
533
+
534
534
  % tc ../tmd.csv 2026 --numyears 10 --reform ext.json --tables
535
535
  Read input data for 2021; input data were extrapolated to 2026
536
536
  Write tabular output to file tmd-26-#-ext-#-tables.text
@@ -552,7 +552,7 @@ Advance input data and policy to 2034
552
552
  Write tabular output to file tmd-34-#-ext-#-tables.text
553
553
  Advance input data and policy to 2035
554
554
  Write tabular output to file tmd-35-#-ext-#-tables.text
555
- Execution time is 60.9 seconds
555
+ Execution time is 55.6 seconds
556
556
  ```
557
557
 
558
558
  [PR
@@ -561,6 +561,52 @@ discusses how much faster this is relative to executing ten separate
561
561
  `tc` runs, and also shows how to tabulate the ten-year aggregate
562
562
  reform result from the files generated by this run.
563
563
 
564
+ Because the reform-induced change in aggregate federal income tax
565
+ liability is located on the last row of each tables output file in the
566
+ fourth column, we can look at the ten-year results quickly:
567
+
568
+ ```
569
+ % tail -1 tmd-??-*tables.text
570
+ ==> tmd-26-#-ext-#-tables.text <==
571
+ A 192.41 20828.3 -284.0 0.0 0.0 -284.0
572
+
573
+ ==> tmd-27-#-ext-#-tables.text <==
574
+ A 193.77 21613.4 -291.7 0.0 0.0 -291.7
575
+
576
+ ==> tmd-28-#-ext-#-tables.text <==
577
+ A 194.72 22404.7 -299.5 0.0 0.0 -299.5
578
+
579
+ ==> tmd-29-#-ext-#-tables.text <==
580
+ A 195.66 23243.3 -291.8 0.0 0.0 -291.8
581
+
582
+ ==> tmd-30-#-ext-#-tables.text <==
583
+ A 196.58 24115.1 -299.8 0.0 0.0 -299.8
584
+
585
+ ==> tmd-31-#-ext-#-tables.text <==
586
+ A 197.48 25020.0 -307.8 0.0 0.0 -307.8
587
+
588
+ ==> tmd-32-#-ext-#-tables.text <==
589
+ A 198.35 25952.7 -315.7 0.0 0.0 -315.7
590
+
591
+ ==> tmd-33-#-ext-#-tables.text <==
592
+ A 199.21 26905.4 -323.6 0.0 0.0 -323.6
593
+
594
+ ==> tmd-34-#-ext-#-tables.text <==
595
+ A 200.03 27878.9 -331.6 0.0 0.0 -331.6
596
+
597
+ ==> tmd-35-#-ext-#-tables.text <==
598
+ A 200.83 28883.0 -339.6 0.0 0.0 -339.6
599
+ ```
600
+
601
+ A simple way to sum up the ten annual changes is to use the [`awk`
602
+ program](https://www.gnu.org/software/gawk/manual/gawk.html), which
603
+ could be called `gawk` or `gawk.exe` on your computer, as follows:
604
+
605
+ ```
606
+ % tail -1 tmd-??-*tables.text | awk '$1~/A/{n++;c+=$4}END{print n,c}'
607
+ 10 -3085.1
608
+ ```
609
+
564
610
  More examples of analyzing different versions of the TCJA after 2025
565
611
  are available in this
566
612
  [document](https://taxcalc.pslmodels.org/usage/tcja_after_2025.html).