taxcalc 4.3.1__tar.gz → 4.3.2__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 (242) hide show
  1. {taxcalc-4.3.1 → taxcalc-4.3.2}/PKG-INFO +1 -1
  2. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/about/releases.md +20 -0
  3. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/index.md +1 -1
  4. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/usage/data.md +2 -2
  5. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/usage/tcja_after_2025.md +2 -13
  6. {taxcalc-4.3.1 → taxcalc-4.3.2}/setup.py +1 -1
  7. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/__init__.py +1 -1
  8. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/calculator.py +6 -6
  9. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/growfactors.py +1 -1
  10. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/policy.py +16 -3
  11. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ext.json +1 -1
  12. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_taxcalcio.py +1 -1
  13. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/PKG-INFO +1 -1
  14. {taxcalc-4.3.1 → taxcalc-4.3.2}/.coveragerc +0 -0
  15. {taxcalc-4.3.1 → taxcalc-4.3.2}/.github/FUNDING.yml +0 -0
  16. {taxcalc-4.3.1 → taxcalc-4.3.2}/.github/workflows/build_and_test.yml +0 -0
  17. {taxcalc-4.3.1 → taxcalc-4.3.2}/.github/workflows/check_jupyterbook.yml +0 -0
  18. {taxcalc-4.3.1 → taxcalc-4.3.2}/.github/workflows/deploy_jupyterbook.yml +0 -0
  19. {taxcalc-4.3.1 → taxcalc-4.3.2}/.github/workflows/deploy_parameters_docs.yml +0 -0
  20. {taxcalc-4.3.1 → taxcalc-4.3.2}/.gitignore +0 -0
  21. {taxcalc-4.3.1 → taxcalc-4.3.2}/LICENSE +0 -0
  22. {taxcalc-4.3.1 → taxcalc-4.3.2}/MANIFEST.in +0 -0
  23. {taxcalc-4.3.1 → taxcalc-4.3.2}/Makefile +0 -0
  24. {taxcalc-4.3.1 → taxcalc-4.3.2}/PSL_catalog.json +0 -0
  25. {taxcalc-4.3.1 → taxcalc-4.3.2}/README.md +0 -0
  26. {taxcalc-4.3.1 → taxcalc-4.3.2}/codecov.yml +0 -0
  27. {taxcalc-4.3.1 → taxcalc-4.3.2}/conda.recipe/bld.bat +0 -0
  28. {taxcalc-4.3.1 → taxcalc-4.3.2}/conda.recipe/build.sh +0 -0
  29. {taxcalc-4.3.1 → taxcalc-4.3.2}/conda.recipe/meta.yaml +0 -0
  30. {taxcalc-4.3.1 → taxcalc-4.3.2}/csv_show.sh +0 -0
  31. {taxcalc-4.3.1 → taxcalc-4.3.2}/csv_vars.sh +0 -0
  32. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/PSL.svg +0 -0
  33. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/_config.yml +0 -0
  34. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/_static/atr.png +0 -0
  35. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/_static/mtr.png +0 -0
  36. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/_static/pch.png +0 -0
  37. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/_toc.yml +0 -0
  38. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/about/LICENSE.md +0 -0
  39. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/about/history.md +0 -0
  40. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/about/roadmap.md +0 -0
  41. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/calcfunctions.rst +0 -0
  42. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/calculator.rst +0 -0
  43. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/consumption.rst +0 -0
  44. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/data.rst +0 -0
  45. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/decorators.rst +0 -0
  46. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/growdiff.rst +0 -0
  47. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/growfactors.rst +0 -0
  48. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/parameters.rst +0 -0
  49. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/policy.rst +0 -0
  50. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/public_api.rst +0 -0
  51. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/records.rst +0 -0
  52. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/taxcalcio.rst +0 -0
  53. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/utils.rst +0 -0
  54. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/api/utilsprvt.rst +0 -0
  55. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/RELEASING.md +0 -0
  56. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/contributor_guide.md +0 -0
  57. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/dependencies.md +0 -0
  58. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/param_naming.md +0 -0
  59. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/pr_workflow.md +0 -0
  60. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/contributing/testing.md +0 -0
  61. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/README.md +0 -0
  62. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/assumption_params.md +0 -0
  63. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/cli.md +0 -0
  64. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/index.md +0 -0
  65. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/input_vars.md +0 -0
  66. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/make/make_io_vars.py +0 -0
  67. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/make/make_params.py +0 -0
  68. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/make/make_uguide.py +0 -0
  69. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/output_vars.md +0 -0
  70. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/policy_params.md +0 -0
  71. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/python_interface.md +0 -0
  72. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/templates/assumption_params_template.md +0 -0
  73. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/templates/input_vars_template.md +0 -0
  74. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/templates/output_vars_template.md +0 -0
  75. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/guide/templates/policy_params_template.md +0 -0
  76. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/README.md +0 -0
  77. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/_static/reformA.json +0 -0
  78. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/_static/reformB.json +0 -0
  79. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/_static/reformC.json +0 -0
  80. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/convert_all.sh +0 -0
  81. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/index.md +0 -0
  82. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe00.md +0 -0
  83. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe01.md +0 -0
  84. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe02.md +0 -0
  85. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe03.md +0 -0
  86. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe04.md +0 -0
  87. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe04_pandas.md +0 -0
  88. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe05.md +0 -0
  89. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/md_src/recipe06.md +0 -0
  90. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe00.ipynb +0 -0
  91. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe01.ipynb +0 -0
  92. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe02.ipynb +0 -0
  93. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe03.ipynb +0 -0
  94. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe04.ipynb +0 -0
  95. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe04_pandas.ipynb +0 -0
  96. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe05.ipynb +0 -0
  97. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/recipes/recipe06.ipynb +0 -0
  98. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/usage/overview.md +0 -0
  99. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/usage/starting.md +0 -0
  100. {taxcalc-4.3.1 → taxcalc-4.3.2}/docs/use_cases.md +0 -0
  101. {taxcalc-4.3.1 → taxcalc-4.3.2}/environment.yml +0 -0
  102. {taxcalc-4.3.1 → taxcalc-4.3.2}/extend_tcja.py +0 -0
  103. {taxcalc-4.3.1 → taxcalc-4.3.2}/gitpr +0 -0
  104. {taxcalc-4.3.1 → taxcalc-4.3.2}/gitpr.bat +0 -0
  105. {taxcalc-4.3.1 → taxcalc-4.3.2}/gitsync +0 -0
  106. {taxcalc-4.3.1 → taxcalc-4.3.2}/gitsync.bat +0 -0
  107. {taxcalc-4.3.1 → taxcalc-4.3.2}/ppp.py +0 -0
  108. {taxcalc-4.3.1 → taxcalc-4.3.2}/pytest.ini +0 -0
  109. {taxcalc-4.3.1 → taxcalc-4.3.2}/setup.cfg +0 -0
  110. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/assumptions/ASSUMPTIONS.md +0 -0
  111. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/assumptions/README.md +0 -0
  112. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/assumptions/economic_assumptions_template.json +0 -0
  113. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/calcfunctions.py +0 -0
  114. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/cli/__init__.py +0 -0
  115. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/cli/tc.py +0 -0
  116. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/conftest.py +0 -0
  117. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/consumption.json +0 -0
  118. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/consumption.py +0 -0
  119. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/cps.csv.gz +0 -0
  120. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/cps_weights.csv.gz +0 -0
  121. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/data.py +0 -0
  122. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/decorators.py +0 -0
  123. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/growdiff.json +0 -0
  124. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/growdiff.py +0 -0
  125. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/growfactors.csv +0 -0
  126. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/parameters.py +0 -0
  127. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/policy_current_law.json +0 -0
  128. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/puf_ratios.csv +0 -0
  129. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/puf_weights.csv.gz +0 -0
  130. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/records.py +0 -0
  131. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/records_variables.json +0 -0
  132. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/2017_law.json +0 -0
  133. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/2017_law.out.csv +0 -0
  134. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ARPA.json +0 -0
  135. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ARPA.out.csv +0 -0
  136. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/BrownKhanna.json +0 -0
  137. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/BrownKhanna.out.csv +0 -0
  138. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/CARES.json +0 -0
  139. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/CARES.out.csv +0 -0
  140. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ConsolidatedAppropriationsAct2021.json +0 -0
  141. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ConsolidatedAppropriationsAct2021.out.csv +0 -0
  142. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Larson2019.json +0 -0
  143. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Larson2019.out.csv +0 -0
  144. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/README.md +0 -0
  145. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/REFORMS.md +0 -0
  146. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Renacci.json +0 -0
  147. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Renacci.out.csv +0 -0
  148. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/SandersDeFazio.json +0 -0
  149. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/SandersDeFazio.out.csv +0 -0
  150. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/TCJA.json +0 -0
  151. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/TCJA.md +0 -0
  152. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/TCJA.out.csv +0 -0
  153. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Trump2016.json +0 -0
  154. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Trump2016.out.csv +0 -0
  155. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Trump2017.json +0 -0
  156. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/Trump2017.out.csv +0 -0
  157. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/Clinton2016.json +0 -0
  158. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/RyanBrady.json +0 -0
  159. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_House.json +0 -0
  160. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_House_Amended.json +0 -0
  161. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_Reconciliation.json +0 -0
  162. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_Senate.json +0 -0
  163. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_Senate_111417.json +0 -0
  164. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/archive/TCJA_Senate_120117.json +0 -0
  165. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/cases.csv +0 -0
  166. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/clp.out.csv +0 -0
  167. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/growfactors_ext.csv +0 -0
  168. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes0.json +0 -0
  169. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes0.out.csv +0 -0
  170. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes1.json +0 -0
  171. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes1.out.csv +0 -0
  172. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes2.json +0 -0
  173. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes2.out.csv +0 -0
  174. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes3.json +0 -0
  175. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/reforms/ptaxes3.out.csv +0 -0
  176. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/taxcalcio.py +0 -0
  177. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/benefits_expect.csv +0 -0
  178. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/cmpi_cps_expect.txt +0 -0
  179. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/cmpi_puf_expect.txt +0 -0
  180. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/conftest.py +0 -0
  181. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/cpscsv_agg_expect.csv +0 -0
  182. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/puf_var_correl_coeffs_2016.csv +0 -0
  183. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/puf_var_wght_means_by_year.csv +0 -0
  184. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/pufcsv_agg_expect.csv +0 -0
  185. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/pufcsv_mtr_expect.txt +0 -0
  186. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/reforms.json +0 -0
  187. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/reforms_expect.csv +0 -0
  188. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_4package.py +0 -0
  189. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_benefits.py +0 -0
  190. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_calcfunctions.py +0 -0
  191. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_calculator.py +0 -0
  192. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_compare.py +0 -0
  193. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_compatible_data.py +0 -0
  194. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_consumption.py +0 -0
  195. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_cpscsv.py +0 -0
  196. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_data.py +0 -0
  197. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_decorators.py +0 -0
  198. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_growdiff.py +0 -0
  199. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_growfactors.py +0 -0
  200. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_parameters.py +0 -0
  201. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_policy.py +0 -0
  202. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_puf_var_stats.py +0 -0
  203. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_pufcsv.py +0 -0
  204. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_records.py +0 -0
  205. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_reforms.py +0 -0
  206. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_responses.py +0 -0
  207. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/tests/test_utils.py +0 -0
  208. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/utils.py +0 -0
  209. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/utilsprvt.py +0 -0
  210. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/CSV_INPUT_VARS.md +0 -0
  211. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/CSV_OUTPUT_VARS.md +0 -0
  212. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/README.md +0 -0
  213. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/Differences_Explained.md +0 -0
  214. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/README.md +0 -0
  215. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/a17-taxdiffs-expect.csv +0 -0
  216. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/a18-taxdiffs-expect.csv +0 -0
  217. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/a19-taxdiffs-expect.csv +0 -0
  218. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/a20-taxdiffs-expect.csv +0 -0
  219. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/a21-taxdiffs-expect.csv +0 -0
  220. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/b17-taxdiffs-expect.csv +0 -0
  221. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/b18-taxdiffs-expect.csv +0 -0
  222. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/b19-taxdiffs-expect.csv +0 -0
  223. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/b20-taxdiffs-expect.csv +0 -0
  224. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/b21-taxdiffs-expect.csv +0 -0
  225. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/c17-taxdiffs-expect.csv +0 -0
  226. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/c18-taxdiffs-expect.csv +0 -0
  227. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/expected_differences/c19-taxdiffs-expect.csv +0 -0
  228. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/input_setup.py +0 -0
  229. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/main_comparison.py +0 -0
  230. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/prepare_taxcalc_input.py +0 -0
  231. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/process_taxcalc_output.py +0 -0
  232. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/taxsim_emulation.json +0 -0
  233. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/taxsim_input.py +0 -0
  234. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/tc_sims.py +0 -0
  235. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/taxsim35/tests_35.py +0 -0
  236. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc/validation/tests_35.sh +0 -0
  237. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/SOURCES.txt +0 -0
  238. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/dependency_links.txt +0 -0
  239. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/entry_points.txt +0 -0
  240. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/requires.txt +0 -0
  241. {taxcalc-4.3.1 → taxcalc-4.3.2}/taxcalc.egg-info/top_level.txt +0 -0
  242. {taxcalc-4.3.1 → taxcalc-4.3.2}/tctest-nojit.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taxcalc
3
- Version: 4.3.1
3
+ Version: 4.3.2
4
4
  Summary: taxcalc
5
5
  Home-page: https://github.com/PSLmodels/Tax-Calculator
6
6
  Download-URL: https://github.com/PSLmodels/Tax-Calculator
@@ -4,6 +4,26 @@ 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
+ 2024-11-08 Release 4.3.2
8
+ ------------------------
9
+ (last merged pull request is
10
+ [#2834](https://github.com/PSLmodels/Tax-Calculator/pull/2834))
11
+
12
+ **This is a bug-fix release.**
13
+
14
+ **API Changes**
15
+
16
+ **New Features**
17
+ - Add Policy.tmd_constructor() static method for convenience when using Python API
18
+ [[#2834](https://github.com/PSLmodels/Tax-Calculator/pull/2834) by Martin Holmer]
19
+
20
+ **Bug Fixes**
21
+ - Fix handling of tmd_growfactors.csv file
22
+ [[#2832](https://github.com/PSLmodels/Tax-Calculator/pull/2832) by Martin Holmer]
23
+ - Fix `tc` reform documentation output
24
+ [[#2833](https://github.com/PSLmodels/Tax-Calculator/pull/2833) by Martin Holmer]
25
+
26
+
7
27
  2024-10-28 Release 4.3.1
8
28
  ------------------------
9
29
  (last merged pull request is
@@ -57,7 +57,7 @@ The cross-model validation work with NBER's TAXSIM-27 model is described
57
57
 
58
58
  ## Latest release
59
59
 
60
- {doc}`4.3.1 (2024-10-28) <about/releases>`
60
+ {doc}`4.3.2 (2024-11-08) <about/releases>`
61
61
 
62
62
  If you are already using Tax-Calculator, upgrade using the following command:
63
63
 
@@ -69,8 +69,8 @@ available only to Tax-Calculator users who have purchased their own
69
69
  version of the 2015 IRS-SOI PUF. For those users, those three files
70
70
  are avaiable from the tax-microdata repository. These three tmd files
71
71
  can be used with the Tax-Calculator Python API (using the
72
- `Records.tmd_constructor()` static method) or with the Tax-Calculator
73
- CLI tool, `tc`.
72
+ `Records.tmd_constructor()` and `Policy.tmd_constructor()`static methods)
73
+ or with the Tax-Calculator CLI tool, `tc`.
74
74
 
75
75
  ## Using other data with Tax-Calculator
76
76
 
@@ -86,23 +86,12 @@ To analyze your reform relative to a reform that extends all TCJA
86
86
  temporary provisions beyond 2025, you would execute this command:
87
87
 
88
88
  ```
89
- tc z.csv 2026 --exact --tables --baseline ext.json --reform x.json
89
+ tc z.csv 2026 --exact --tables --baseline ext.json --reform ext.json+x.json
90
90
  ```
91
91
 
92
- The tables would be in the `z-26-ext-x-#-tab.text` output file
92
+ The tables would be in the `z-26-ext-ext+x-#-tab.text` output file
93
93
  generated by this `tc` run.
94
94
 
95
- Also, remember that you can simulate a _compound reform_ using the
96
- following syntax:
97
-
98
- ```
99
- tc z.csv 2026 --exact --tables --baseline ext.json --reform x.json+y.json
100
- ```
101
-
102
- where `y.json` contains a reform with additional provisions not
103
- included in your `x.json` reform file. The resulting table output
104
- would be in a file named `z-26-ext-x+y-#-tab.text`.
105
-
106
95
  And finally, you might consider creating a reform file called
107
96
  `end.json` that contains just the two characters `{}`. This is a null
108
97
  reform, which is equivalent to current-law policy, that could be used
@@ -3,7 +3,7 @@ from setuptools import setup
3
3
  with open("README.md") as f:
4
4
  longdesc = f.read()
5
5
 
6
- version = "4.3.1"
6
+ version = "4.3.2"
7
7
 
8
8
  config = {
9
9
  "description": "Tax Calculator",
@@ -14,6 +14,6 @@ from taxcalc.taxcalcio import *
14
14
  from taxcalc.utils import *
15
15
  from taxcalc.cli import *
16
16
 
17
- __version__ = '4.3.1'
17
+ __version__ = '4.3.2'
18
18
  __min_python3_version__ = 10
19
19
  __max_python3_version__ = 12
@@ -698,7 +698,8 @@ class Calculator():
698
698
  self.policy_param('FICA_ss_trt_employee') +
699
699
  self.policy_param('FICA_mc_trt_employer') +
700
700
  self.policy_param('FICA_mc_trt_employee')),
701
- 0.5 * (self.policy_param('FICA_mc_trt_employer') + self.policy_param('FICA_mc_trt_employee')))
701
+ 0.5 * (self.policy_param('FICA_mc_trt_employer') +
702
+ self.policy_param('FICA_mc_trt_employee')))
702
703
  else:
703
704
  adj = 0.0
704
705
  # compute marginal tax rates
@@ -1189,11 +1190,10 @@ class Calculator():
1189
1190
  for pname in baseline.keys():
1190
1191
  upda_value = getattr(updated, pname)
1191
1192
  base_value = getattr(baseline, pname)
1193
+ is_array = isinstance(upda_value, np.ndarray)
1192
1194
  if (
1193
- (isinstance(upda_value, np.ndarray) and
1194
- np.allclose(upda_value, base_value)) or
1195
- (not isinstance(upda_value, np.ndarray) and
1196
- upda_value != base_value)
1195
+ (is_array and not np.allclose(upda_value, base_value))
1196
+ or (is_array == False and upda_value != base_value)
1197
1197
  ):
1198
1198
  params_with_diff.append(pname)
1199
1199
  if params_with_diff:
@@ -1248,7 +1248,7 @@ class Calculator():
1248
1248
  else: # if baseline is GrowDiff object
1249
1249
  # each GrowDiff parameter has zero as default value
1250
1250
  doc += ' baseline_value: 0.0\n'
1251
- del mdata_base
1251
+ del mdata_base
1252
1252
  return doc
1253
1253
 
1254
1254
  # begin main logic of reform_documentation
@@ -38,7 +38,7 @@ class GrowFactors():
38
38
  which is for use with puf and cps data from the taxdata repository.
39
39
  """
40
40
 
41
- PACKAGE_FILE_NAMES = ['growfactors.csv', 'tmd_growfactors.csv']
41
+ PACKAGE_FILE_NAMES = ['growfactors.csv']
42
42
  FILE_PATH = os.path.abspath(os.path.dirname(__file__))
43
43
 
44
44
  VALID_NAMES = set(['ABOOK', 'ACGNS', 'ACPIM', 'ACPIU',
@@ -7,6 +7,7 @@ Tax-Calculator federal tax policy Policy class.
7
7
 
8
8
  import os
9
9
  import json
10
+ from pathlib import Path
10
11
  import numpy as np
11
12
  from taxcalc.parameters import Parameters
12
13
  from taxcalc.growfactors import GrowFactors
@@ -80,7 +81,7 @@ class Policy(Parameters):
80
81
  # (3) specify which Policy parameters are wage (rather than price) indexed
81
82
  WAGE_INDEXED_PARAMS = ['SS_Earnings_c', 'SS_Earnings_thd']
82
83
 
83
- def __init__(self, gfactors=None, only_reading_defaults=False, **kwargs):
84
+ def __init__(self, gfactors=None, **kwargs):
84
85
  # put JSON contents of DEFAULTS_FILE_NAME into self._vals dictionary
85
86
  super().__init__()
86
87
  # handle gfactors argument
@@ -92,7 +93,6 @@ class Policy(Parameters):
92
93
  raise ValueError('gfactors is not None or a GrowFactors instance')
93
94
  # read default parameters and initialize
94
95
  syr = Policy.JSON_START_YEAR
95
- lyr = Policy.LAST_BUDGET_YEAR
96
96
  nyrs = Policy.DEFAULT_NUM_YEARS
97
97
  self._inflation_rates = None
98
98
  self._wage_growth_rates = None
@@ -101,6 +101,19 @@ class Policy(Parameters):
101
101
  Policy.REDEFINED_PARAMS,
102
102
  Policy.WAGE_INDEXED_PARAMS, **kwargs)
103
103
 
104
+ @staticmethod
105
+ def tmd_constructor(growfactors_path): # pragma: no cover
106
+ """
107
+ Static method returns a Policy object instantiated with TMD
108
+ input data. This convenience method works in a analogous way
109
+ to Policy(), which returns a Policy object instantiated with
110
+ non-TMD input data.
111
+ """
112
+ assert isinstance(growfactors_path, Path)
113
+ gf_filename = str(growfactors_path)
114
+ tmd_growfactors = GrowFactors(growfactors_filename=gf_filename)
115
+ return Policy(gfactors=tmd_growfactors)
116
+
104
117
  @staticmethod
105
118
  def read_json_reform(obj):
106
119
  """
@@ -129,7 +142,7 @@ class Policy(Parameters):
129
142
  Policy.DEFAULTS_FILE_PATH,
130
143
  Policy.DEFAULTS_FILE_NAME
131
144
  )
132
- with open(path) as f:
145
+ with open(path, 'r', encoding='utf-8') as f:
133
146
  defaults = json.loads(f.read()) # pylint: disable=protected-access
134
147
  return [k for k in defaults if k != "schema"]
135
148
 
@@ -1,5 +1,5 @@
1
1
  // REFORM TO EXTEND TEMPORARY TCJA PROVISIONS BEYOND 2025
2
- // USING TAX-CALCULATOR 4.3.1
2
+ // USING TAX-CALCULATOR 4.3.2
3
3
  // WITH 2025-to-2026 INDEXING FACTOR = 1.022000
4
4
  // AND 2028-to-2029 INDEXING FACTOR = 1.019400
5
5
  {
@@ -88,7 +88,7 @@ def fixture_reformfile1():
88
88
  "II_em": { // personal exemption amount (see indexing changes below)
89
89
  "2016": 6000,
90
90
  "2018": 7500,
91
- "2020": 9000},
91
+ "2021": 9000},
92
92
  "II_em-indexed": { // personal exemption amount indexing status
93
93
  "2016": false, // values in future years are same as this year value
94
94
  "2018": true // values in future years indexed with this year as base
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taxcalc
3
- Version: 4.3.1
3
+ Version: 4.3.2
4
4
  Summary: taxcalc
5
5
  Home-page: https://github.com/PSLmodels/Tax-Calculator
6
6
  Download-URL: https://github.com/PSLmodels/Tax-Calculator
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes