taxcalc 4.2.1__tar.gz → 4.2.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.
- taxcalc-4.2.2/.coveragerc +7 -0
- taxcalc-4.2.2/.github/FUNDING.yml +3 -0
- taxcalc-4.2.2/.github/workflows/build_and_test.yml +47 -0
- taxcalc-4.2.2/.github/workflows/check_jupyterbook.yml +29 -0
- taxcalc-4.2.2/.github/workflows/deploy_jupyterbook.yml +38 -0
- taxcalc-4.2.2/.github/workflows/deploy_parameters_docs.yml +39 -0
- taxcalc-4.2.2/.gitignore +27 -0
- taxcalc-4.2.2/Makefile +128 -0
- {taxcalc-4.2.1/taxcalc.egg-info → taxcalc-4.2.2}/PKG-INFO +3 -4
- taxcalc-4.2.2/PSL_catalog.json +29 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/README.md +1 -1
- taxcalc-4.2.2/codecov.yml +25 -0
- taxcalc-4.2.2/conda.recipe/bld.bat +5 -0
- taxcalc-4.2.2/conda.recipe/build.sh +10 -0
- taxcalc-4.2.2/conda.recipe/meta.yaml +39 -0
- taxcalc-4.2.2/csv_show.sh +26 -0
- taxcalc-4.2.2/csv_vars.sh +10 -0
- taxcalc-4.2.2/docs/PSL.svg +49 -0
- taxcalc-4.2.2/docs/_config.yml +27 -0
- taxcalc-4.2.2/docs/_static/atr.png +0 -0
- taxcalc-4.2.2/docs/_static/mtr.png +0 -0
- taxcalc-4.2.2/docs/_static/pch.png +0 -0
- taxcalc-4.2.2/docs/_toc.yml +60 -0
- taxcalc-4.2.2/docs/about/LICENSE.md +22 -0
- taxcalc-4.2.2/docs/about/history.md +12 -0
- taxcalc-4.2.2/docs/about/releases.md +2406 -0
- taxcalc-4.2.2/docs/about/roadmap.md +18 -0
- taxcalc-4.2.2/docs/api/calcfunctions.rst +23 -0
- taxcalc-4.2.2/docs/api/calculator.rst +20 -0
- taxcalc-4.2.2/docs/api/consumption.rst +15 -0
- taxcalc-4.2.2/docs/api/data.rst +15 -0
- taxcalc-4.2.2/docs/api/decorators.rst +19 -0
- taxcalc-4.2.2/docs/api/growdiff.rst +15 -0
- taxcalc-4.2.2/docs/api/growfactors.rst +15 -0
- taxcalc-4.2.2/docs/api/parameters.rst +20 -0
- taxcalc-4.2.2/docs/api/policy.rst +15 -0
- taxcalc-4.2.2/docs/api/public_api.rst +29 -0
- taxcalc-4.2.2/docs/api/records.rst +15 -0
- taxcalc-4.2.2/docs/api/taxcalcio.rst +17 -0
- taxcalc-4.2.2/docs/api/utils.rst +21 -0
- taxcalc-4.2.2/docs/api/utilsprvt.rst +15 -0
- taxcalc-4.2.2/docs/contributing/RELEASING.md +86 -0
- taxcalc-4.2.2/docs/contributing/contributor_guide.md +309 -0
- taxcalc-4.2.2/docs/contributing/dependencies.md +14 -0
- taxcalc-4.2.2/docs/contributing/param_naming.md +107 -0
- taxcalc-4.2.2/docs/contributing/pr_workflow.md +97 -0
- taxcalc-4.2.2/docs/contributing/testing.md +184 -0
- taxcalc-4.2.2/docs/guide/README.md +14 -0
- taxcalc-4.2.2/docs/guide/assumption_params.md +343 -0
- taxcalc-4.2.2/docs/guide/cli.md +360 -0
- taxcalc-4.2.2/docs/guide/index.md +11 -0
- taxcalc-4.2.2/docs/guide/input_vars.md +867 -0
- taxcalc-4.2.2/docs/guide/make/make_io_vars.py +74 -0
- taxcalc-4.2.2/docs/guide/make/make_params.py +221 -0
- taxcalc-4.2.2/docs/guide/make/make_uguide.py +75 -0
- taxcalc-4.2.2/docs/guide/output_vars.md +744 -0
- taxcalc-4.2.2/docs/guide/policy_params.md +4810 -0
- taxcalc-4.2.2/docs/guide/python_interface.md +6 -0
- taxcalc-4.2.2/docs/guide/templates/assumption_params_template.md +6 -0
- taxcalc-4.2.2/docs/guide/templates/input_vars_template.md +7 -0
- taxcalc-4.2.2/docs/guide/templates/output_vars_template.md +6 -0
- taxcalc-4.2.2/docs/guide/templates/policy_params_template.md +10 -0
- taxcalc-4.2.2/docs/index.md +92 -0
- taxcalc-4.2.2/docs/recipes/README.md +7 -0
- taxcalc-4.2.2/docs/recipes/_static/reformA.json +15 -0
- taxcalc-4.2.2/docs/recipes/_static/reformB.json +6 -0
- taxcalc-4.2.2/docs/recipes/_static/reformC.json +3 -0
- taxcalc-4.2.2/docs/recipes/convert_all.sh +8 -0
- taxcalc-4.2.2/docs/recipes/index.md +9 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe00.md +211 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe01.md +111 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe02.md +127 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe03.md +88 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe04.md +119 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe04_pandas.md +146 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe05.md +190 -0
- taxcalc-4.2.2/docs/recipes/md_src/recipe06.md +215 -0
- taxcalc-4.2.2/docs/recipes/recipe00.ipynb +1137 -0
- taxcalc-4.2.2/docs/recipes/recipe01.ipynb +200 -0
- taxcalc-4.2.2/docs/recipes/recipe02.ipynb +864 -0
- taxcalc-4.2.2/docs/recipes/recipe03.ipynb +173 -0
- taxcalc-4.2.2/docs/recipes/recipe04.ipynb +174 -0
- taxcalc-4.2.2/docs/recipes/recipe04_pandas.ipynb +263 -0
- taxcalc-4.2.2/docs/recipes/recipe05.ipynb +260 -0
- taxcalc-4.2.2/docs/recipes/recipe06.ipynb +262 -0
- taxcalc-4.2.2/docs/usage/data.md +83 -0
- taxcalc-4.2.2/docs/usage/overview.md +126 -0
- taxcalc-4.2.2/docs/usage/starting.md +78 -0
- taxcalc-4.2.2/docs/usage/tcja_after_2025.md +141 -0
- taxcalc-4.2.2/docs/use_cases.md +402 -0
- taxcalc-4.2.2/environment.yml +21 -0
- taxcalc-4.2.2/extend_tcja.py +143 -0
- taxcalc-4.2.2/gitpr +19 -0
- taxcalc-4.2.2/gitpr.bat +21 -0
- taxcalc-4.2.2/gitsync +12 -0
- taxcalc-4.2.2/gitsync.bat +15 -0
- taxcalc-4.2.2/ppp.py +77 -0
- taxcalc-4.2.2/pytest.ini +16 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/setup.py +2 -3
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/__init__.py +1 -1
- taxcalc-4.2.2/taxcalc/assumptions/ASSUMPTIONS.md +53 -0
- taxcalc-4.2.2/taxcalc/assumptions/README.md +17 -0
- taxcalc-4.2.2/taxcalc/assumptions/economic_assumptions_template.json +77 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/calcfunctions.py +7 -4
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/data.py +10 -5
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/policy_current_law.json +2033 -184
- taxcalc-4.2.2/taxcalc/reforms/2017_law.json +125 -0
- taxcalc-4.2.2/taxcalc/reforms/2017_law.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ARPA.json +78 -0
- taxcalc-4.2.2/taxcalc/reforms/ARPA.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/BrownKhanna.json +23 -0
- taxcalc-4.2.2/taxcalc/reforms/BrownKhanna.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/CARES.json +40 -0
- taxcalc-4.2.2/taxcalc/reforms/CARES.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ConsolidatedAppropriationsAct2021.json +15 -0
- taxcalc-4.2.2/taxcalc/reforms/ConsolidatedAppropriationsAct2021.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/Larson2019.json +36 -0
- taxcalc-4.2.2/taxcalc/reforms/Larson2019.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/README.md +22 -0
- taxcalc-4.2.2/taxcalc/reforms/REFORMS.md +92 -0
- taxcalc-4.2.2/taxcalc/reforms/Renacci.json +61 -0
- taxcalc-4.2.2/taxcalc/reforms/Renacci.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/SandersDeFazio.json +15 -0
- taxcalc-4.2.2/taxcalc/reforms/SandersDeFazio.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/TCJA.json +160 -0
- taxcalc-4.2.2/taxcalc/reforms/TCJA.md +48 -0
- taxcalc-4.2.2/taxcalc/reforms/TCJA.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/Trump2016.json +71 -0
- taxcalc-4.2.2/taxcalc/reforms/Trump2016.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/Trump2017.json +51 -0
- taxcalc-4.2.2/taxcalc/reforms/Trump2017.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/Clinton2016.json +56 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/RyanBrady.json +104 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_House.json +144 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_House_Amended.json +152 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_Reconciliation.json +187 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_Senate.json +116 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_Senate_111417.json +169 -0
- taxcalc-4.2.2/taxcalc/reforms/archive/TCJA_Senate_120117.json +174 -0
- taxcalc-4.2.2/taxcalc/reforms/cases.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/clp.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ext.json +59 -0
- taxcalc-4.2.2/taxcalc/reforms/growfactors_ext.csv +65 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes0.json +37 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes0.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes1.json +21 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes1.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes2.json +18 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes2.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes3.json +28 -0
- taxcalc-4.2.2/taxcalc/reforms/ptaxes3.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/reforms/rounding2022.json +153 -0
- taxcalc-4.2.2/taxcalc/reforms/rounding2022.out.csv +10 -0
- taxcalc-4.2.2/taxcalc/tests/benefits_expect.csv +169 -0
- taxcalc-4.2.2/taxcalc/tests/cmpi_cps_expect.txt +132 -0
- taxcalc-4.2.2/taxcalc/tests/cmpi_puf_expect.txt +132 -0
- taxcalc-4.2.2/taxcalc/tests/conftest.py +143 -0
- taxcalc-4.2.2/taxcalc/tests/cpscsv_agg_expect.csv +26 -0
- taxcalc-4.2.2/taxcalc/tests/puf_var_correl_coeffs_2016.csv +80 -0
- taxcalc-4.2.2/taxcalc/tests/puf_var_wght_means_by_year.csv +80 -0
- taxcalc-4.2.2/taxcalc/tests/pufcsv_agg_expect.csv +26 -0
- taxcalc-4.2.2/taxcalc/tests/pufcsv_mtr_expect.txt +63 -0
- taxcalc-4.2.2/taxcalc/tests/reforms.json +649 -0
- taxcalc-4.2.2/taxcalc/tests/reforms_expect.csv +65 -0
- taxcalc-4.2.2/taxcalc/tests/test_4package.py +67 -0
- taxcalc-4.2.2/taxcalc/tests/test_benefits.py +86 -0
- taxcalc-4.2.2/taxcalc/tests/test_calcfunctions.py +871 -0
- taxcalc-4.2.2/taxcalc/tests/test_calculator.py +1021 -0
- taxcalc-4.2.2/taxcalc/tests/test_compare.py +336 -0
- taxcalc-4.2.2/taxcalc/tests/test_compatible_data.py +338 -0
- taxcalc-4.2.2/taxcalc/tests/test_consumption.py +144 -0
- taxcalc-4.2.2/taxcalc/tests/test_cpscsv.py +163 -0
- taxcalc-4.2.2/taxcalc/tests/test_data.py +133 -0
- taxcalc-4.2.2/taxcalc/tests/test_decorators.py +332 -0
- taxcalc-4.2.2/taxcalc/tests/test_growdiff.py +102 -0
- taxcalc-4.2.2/taxcalc/tests/test_growfactors.py +94 -0
- taxcalc-4.2.2/taxcalc/tests/test_parameters.py +617 -0
- taxcalc-4.2.2/taxcalc/tests/test_policy.py +1575 -0
- taxcalc-4.2.2/taxcalc/tests/test_puf_var_stats.py +194 -0
- taxcalc-4.2.2/taxcalc/tests/test_pufcsv.py +385 -0
- taxcalc-4.2.2/taxcalc/tests/test_records.py +234 -0
- taxcalc-4.2.2/taxcalc/tests/test_reforms.py +385 -0
- taxcalc-4.2.2/taxcalc/tests/test_responses.py +41 -0
- taxcalc-4.2.2/taxcalc/tests/test_taxcalcio.py +755 -0
- taxcalc-4.2.2/taxcalc/tests/test_tmdcsv.py +38 -0
- taxcalc-4.2.2/taxcalc/tests/test_utils.py +792 -0
- taxcalc-4.2.2/taxcalc/tmd_growfactors.csv +55 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/tmd_weights.csv.gz +0 -0
- taxcalc-4.2.2/taxcalc/validation/CSV_INPUT_VARS.md +29 -0
- taxcalc-4.2.2/taxcalc/validation/CSV_OUTPUT_VARS.md +63 -0
- taxcalc-4.2.2/taxcalc/validation/README.md +68 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/Differences_Explained.md +54 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/README.md +139 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/a17-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/a18-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/a19-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/a20-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/a21-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/b17-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/b18-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/b19-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/b20-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/b21-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/c17-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/c18-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/expected_differences/c19-taxdiffs-expect.csv +25 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/input_setup.py +67 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/main_comparison.py +183 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/prepare_taxcalc_input.py +161 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/process_taxcalc_output.py +140 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/taxsim_emulation.json +49 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/taxsim_input.py +321 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/tc_sims.py +98 -0
- taxcalc-4.2.2/taxcalc/validation/taxsim35/tests_35.py +80 -0
- taxcalc-4.2.2/taxcalc/validation/tests_35.sh +13 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2/taxcalc.egg-info}/PKG-INFO +3 -4
- taxcalc-4.2.2/taxcalc.egg-info/SOURCES.txt +245 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc.egg-info/requires.txt +1 -1
- taxcalc-4.2.2/tctest-nojit.sh +3 -0
- taxcalc-4.2.1/taxcalc/tmd_growfactors.csv +0 -55
- taxcalc-4.2.1/taxcalc.egg-info/SOURCES.txt +0 -38
- {taxcalc-4.2.1 → taxcalc-4.2.2}/LICENSE +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/MANIFEST.in +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/setup.cfg +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/calculator.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/cli/__init__.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/cli/tc.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/conftest.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/consumption.json +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/consumption.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/cps.csv.gz +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/cps_weights.csv.gz +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/decorators.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/growdiff.json +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/growdiff.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/growfactors.csv +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/growfactors.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/parameters.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/policy.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/puf_ratios.csv +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/puf_weights.csv.gz +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/records.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/records_variables.json +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/taxcalcio.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/utils.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc/utilsprvt.py +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc.egg-info/dependency_links.txt +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc.egg-info/entry_points.txt +0 -0
- {taxcalc-4.2.1 → taxcalc-4.2.2}/taxcalc.egg-info/top_level.txt +0 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
name: Build Package and Test Source Code [Python 3.10, 3.11, 3.12]
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ${{ matrix.os }}
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
os: [ubuntu-latest, windows-latest]
|
11
|
+
python-version: ['3.10', '3.11', '3.12']
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- name: Checkout
|
15
|
+
uses: actions/checkout@master
|
16
|
+
with:
|
17
|
+
persist-credentials: false
|
18
|
+
|
19
|
+
- name: Setup Miniconda using Python ${{ matrix.python-version }}
|
20
|
+
uses: conda-incubator/setup-miniconda@v2
|
21
|
+
with:
|
22
|
+
activate-environment: taxcalc-dev
|
23
|
+
environment-file: environment.yml
|
24
|
+
python-version: ${{ matrix.python-version }}
|
25
|
+
auto-activate-base: false
|
26
|
+
|
27
|
+
- name: Build
|
28
|
+
shell: bash -l {0}
|
29
|
+
run: |
|
30
|
+
pip install -e . --user
|
31
|
+
pip install pytest-cov --user
|
32
|
+
pip install pytest-pycodestyle --user
|
33
|
+
- name: Test
|
34
|
+
shell: bash -l {0}
|
35
|
+
working-directory: ./
|
36
|
+
run: |
|
37
|
+
pytest -m 'not requires_pufcsv and not requires_tmdcsv and not pre_release and not local' --cov=./ --cov-report=xml
|
38
|
+
- name: Upload coverage to Codecov
|
39
|
+
if: matrix.os == 'ubuntu-latest' && contains(github.repository, 'PSLmodels/Tax-Calculator')
|
40
|
+
uses: codecov/codecov-action@v4
|
41
|
+
with:
|
42
|
+
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
|
43
|
+
file: ./coverage.xml
|
44
|
+
flags: unittests
|
45
|
+
name: codecov-umbrella
|
46
|
+
fail_ci_if_error: true
|
47
|
+
verbose: true
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: Test that Jupyter Book builds
|
2
|
+
on: [push, pull_request]
|
3
|
+
|
4
|
+
jobs:
|
5
|
+
build-and-deploy:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
steps:
|
8
|
+
- name: Checkout
|
9
|
+
uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
|
10
|
+
with:
|
11
|
+
persist-credentials: false
|
12
|
+
|
13
|
+
- name: Setup Miniconda
|
14
|
+
uses: conda-incubator/setup-miniconda@v2
|
15
|
+
with:
|
16
|
+
activate-environment: taxcalc-dev
|
17
|
+
environment-file: environment.yml
|
18
|
+
python-version: 3.11
|
19
|
+
auto-activate-base: false
|
20
|
+
|
21
|
+
- name: Build # Build Jupyter Book
|
22
|
+
shell: bash -l {0}
|
23
|
+
run: |
|
24
|
+
pip install jupyter-book
|
25
|
+
conda install -c pslmodels behresp
|
26
|
+
pip install -e .
|
27
|
+
python docs/guide/make/make_uguide.py
|
28
|
+
cd docs
|
29
|
+
jb build .
|
@@ -0,0 +1,38 @@
|
|
1
|
+
name: Build and Deploy Jupyter Book
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
jobs:
|
7
|
+
build-and-deploy:
|
8
|
+
if: github.repository == 'PSLmodels/Tax-Calculator'
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- name: Checkout
|
12
|
+
uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
|
13
|
+
with:
|
14
|
+
persist-credentials: false
|
15
|
+
|
16
|
+
- name: Setup Miniconda
|
17
|
+
uses: conda-incubator/setup-miniconda@v2
|
18
|
+
with:
|
19
|
+
activate-environment: taxcalc-dev
|
20
|
+
environment-file: environment.yml
|
21
|
+
python-version: 3.11
|
22
|
+
auto-activate-base: false
|
23
|
+
|
24
|
+
- name: Build # Build Jupyter Book
|
25
|
+
shell: bash -l {0}
|
26
|
+
run: |
|
27
|
+
pip install jupyter-book
|
28
|
+
conda install -c pslmodels behresp
|
29
|
+
pip install -e .
|
30
|
+
cd docs
|
31
|
+
jb build .
|
32
|
+
|
33
|
+
- name: Deploy
|
34
|
+
uses: JamesIves/github-pages-deploy-action@releases/v3
|
35
|
+
with:
|
36
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
37
|
+
BRANCH: gh-pages # The branch the action should deploy to.
|
38
|
+
FOLDER: docs/_build/html # The folder the action should deploy.
|
@@ -0,0 +1,39 @@
|
|
1
|
+
name: Build and Deploy Jupyter Book with Parameter Documentation
|
2
|
+
on:
|
3
|
+
release:
|
4
|
+
types: [published]
|
5
|
+
|
6
|
+
jobs:
|
7
|
+
build-and-deploy:
|
8
|
+
if: github.repository == 'PSLmodels/Tax-Calculator'
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- name: Checkout
|
12
|
+
uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
|
13
|
+
with:
|
14
|
+
persist-credentials: false
|
15
|
+
|
16
|
+
- name: Setup Miniconda
|
17
|
+
uses: conda-incubator/setup-miniconda@v2
|
18
|
+
with:
|
19
|
+
activate-environment: taxcalc-dev
|
20
|
+
environment-file: environment.yml
|
21
|
+
python-version: 3.11
|
22
|
+
auto-activate-base: false
|
23
|
+
|
24
|
+
- name: Build # Build Jupyter Book
|
25
|
+
shell: bash -l {0}
|
26
|
+
run: |
|
27
|
+
pip install jupyter-book
|
28
|
+
conda install -c pslmodels behresp
|
29
|
+
pip install -e .
|
30
|
+
python docs/guide/make/make_uguide.py
|
31
|
+
cd docs
|
32
|
+
jb build .
|
33
|
+
|
34
|
+
- name: Deploy
|
35
|
+
uses: JamesIves/github-pages-deploy-action@releases/v3
|
36
|
+
with:
|
37
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
38
|
+
BRANCH: gh-pages # The branch the action should deploy to.
|
39
|
+
FOLDER: docs/_build/html # The folder the action should deploy.
|
taxcalc-4.2.2/.gitignore
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
2
|
+
__pycache__/
|
3
|
+
*.py[cod]
|
4
|
+
|
5
|
+
# Unit test / coverage reports
|
6
|
+
.pytest_cache/
|
7
|
+
htmlcov/
|
8
|
+
.coverage
|
9
|
+
|
10
|
+
# Sphinx documentation
|
11
|
+
read-the-docs/_build/
|
12
|
+
|
13
|
+
# Mac OS X
|
14
|
+
*.DS_Store
|
15
|
+
|
16
|
+
# IRS-SOI PUF data file
|
17
|
+
puf.csv
|
18
|
+
tmd.csv
|
19
|
+
|
20
|
+
# Jupyter notebook checkpoints
|
21
|
+
*.ipynb_checkpoints*
|
22
|
+
|
23
|
+
# Built documentation
|
24
|
+
docs/_build/
|
25
|
+
|
26
|
+
# Validation files
|
27
|
+
taxcalc/validation/taxsim35/actual_differences/
|
taxcalc-4.2.2/Makefile
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
# GNU Makefile that documents and automates common development operations
|
2
|
+
# using the GNU make tool (version >= 3.81)
|
3
|
+
# Development is typically conducted on Linux or Max OS X (with the Xcode
|
4
|
+
# command-line tools installed), so this Makefile is designed
|
5
|
+
# to work in that environment (and not on Windows).
|
6
|
+
# USAGE: Tax-Calculator$ make [TARGET]
|
7
|
+
|
8
|
+
.PHONY=help
|
9
|
+
help:
|
10
|
+
@echo "USAGE: make [TARGET]"
|
11
|
+
@echo "TARGETS:"
|
12
|
+
@echo "help : show help message"
|
13
|
+
@echo "clean : remove .pyc files and local taxcalc package"
|
14
|
+
@echo "package : build and install local package"
|
15
|
+
@echo "pytest-cps : generate report for and cleanup after"
|
16
|
+
@echo " pytest -m 'not requires_pufcsv and not requires_tmdcsv and not pre_release'"
|
17
|
+
@echo "pytest : generate report for and cleanup after"
|
18
|
+
@echo " pytest -m 'not pre_release'"
|
19
|
+
@echo "pytest-all : generate report for and cleanup after"
|
20
|
+
@echo " pytest -m ''"
|
21
|
+
@echo "tctest : generate report for and cleanup after"
|
22
|
+
@echo " tc --test"
|
23
|
+
@echo "tctest-jit : generate report for and cleanup after"
|
24
|
+
@echo " tc --test when environment var NOTAXCALCJIT is set"
|
25
|
+
@echo "cstest : generate coding-style errors using the"
|
26
|
+
@echo " pycodestyle (nee pep8) and pylint tools"
|
27
|
+
@echo "coverage : generate test coverage report"
|
28
|
+
@echo "git-sync : synchronize local, origin, and upstream Git repos"
|
29
|
+
@echo "git-pr N=n : create local pr-n branch containing upstream PR"
|
30
|
+
|
31
|
+
.PHONY=clean
|
32
|
+
clean:
|
33
|
+
@find . -name *pyc -exec rm {} \;
|
34
|
+
@find . -name *cache -maxdepth 1 -exec rm -r {} \;
|
35
|
+
@pip uninstall taxcalc --yes --quiet 2>&1 > /dev/null
|
36
|
+
|
37
|
+
.PHONY=package
|
38
|
+
package:
|
39
|
+
@pip install -e .
|
40
|
+
|
41
|
+
define pytest-setup
|
42
|
+
rm -f taxcalc/tests/reforms_actual_init
|
43
|
+
endef
|
44
|
+
|
45
|
+
define pytest-cleanup
|
46
|
+
find . -name *cache -maxdepth 1 -exec rm -r {} \;
|
47
|
+
rm -f df-??-#-*
|
48
|
+
rm -f tmp??????-??-#-tmp*
|
49
|
+
endef
|
50
|
+
|
51
|
+
.PHONY=pytest-cps
|
52
|
+
pytest-cps:
|
53
|
+
@$(pytest-setup)
|
54
|
+
@cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m "not requires_pufcsv and not requires_tmdcsv and not pre_release"
|
55
|
+
@$(pytest-cleanup)
|
56
|
+
|
57
|
+
.PHONY=pytest
|
58
|
+
pytest:
|
59
|
+
@$(pytest-setup)
|
60
|
+
@cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m "not pre_release"
|
61
|
+
@$(pytest-cleanup)
|
62
|
+
|
63
|
+
.PHONY=pytest-all
|
64
|
+
pytest-all:
|
65
|
+
@$(pytest-setup)
|
66
|
+
@cd taxcalc ; pytest -n4 --disable-warnings --durations=0 --durations-min=2 -m ""
|
67
|
+
@$(pytest-cleanup)
|
68
|
+
|
69
|
+
define tctest-cleanup
|
70
|
+
rm -f test.csv
|
71
|
+
rm -f test-18-*
|
72
|
+
pip uninstall taxcalc --yes --quiet 2>&1 > /dev/null
|
73
|
+
endef
|
74
|
+
|
75
|
+
.PHONY=tctest
|
76
|
+
tctest: package
|
77
|
+
tc --test
|
78
|
+
@$(tctest-cleanup)
|
79
|
+
|
80
|
+
.PHONY=tctest-jit
|
81
|
+
tctest-jit:
|
82
|
+
@./tctest-nojit.sh
|
83
|
+
|
84
|
+
TOPLEVEL_JSON_FILES := $(shell ls -l ./*json | awk '{print $$9}')
|
85
|
+
TAXCALC_JSON_FILES := $(shell ls -l ./taxcalc/*json | awk '{print $$9}')
|
86
|
+
TESTS_JSON_FILES := $(shell ls -l ./taxcalc/tests/*json | awk '{print $$9}')
|
87
|
+
PYLINT_FILES := $(shell grep -rl --include="*py" disable=locally-disabled .)
|
88
|
+
PYLINT_OPTIONS = --disable=locally-disabled --score=no --jobs=4
|
89
|
+
RECIPE_FILES := $(shell ls -l ./docs/recipes/recipe*.ipynb | awk '{print $$9}')
|
90
|
+
PYLINT_IGNORE = C0103,C0111,E0401,E1120,R0913,R0914,W0401,W0614
|
91
|
+
RECIPE_OPTIONS = --disable=$(PYLINT_IGNORE) --score=no --jobs=4
|
92
|
+
|
93
|
+
.PHONY=cstest
|
94
|
+
cstest:
|
95
|
+
-pycodestyle .
|
96
|
+
@-pycodestyle --ignore=E501,E121 $(TOPLEVEL_JSON_FILES)
|
97
|
+
@-pycodestyle --ignore=E501,E121 $(TAXCALC_JSON_FILES)
|
98
|
+
@-pycodestyle --ignore=E501,E121 $(TESTS_JSON_FILES)
|
99
|
+
@-pylint $(PYLINT_OPTIONS) $(PYLINT_FILES)
|
100
|
+
@-pylint $(RECIPE_OPTIONS) $(RECIPE_FILES)
|
101
|
+
|
102
|
+
define coverage-cleanup
|
103
|
+
rm -f .coverage htmlcov/*
|
104
|
+
endef
|
105
|
+
|
106
|
+
COVMARK = "not requires_pufcsv and not requires_tmdcsv and not pre_release"
|
107
|
+
|
108
|
+
OS := $(shell uname -s)
|
109
|
+
|
110
|
+
.PHONY=coverage
|
111
|
+
coverage:
|
112
|
+
@$(coverage-cleanup)
|
113
|
+
@coverage run -m pytest -v -m $(COVMARK) > /dev/null
|
114
|
+
@coverage html --ignore-errors
|
115
|
+
ifeq ($(OS), Darwin) # on Mac OS X
|
116
|
+
@open htmlcov/index.html
|
117
|
+
else
|
118
|
+
@echo "Open htmlcov/index.html in browser to view report"
|
119
|
+
endif
|
120
|
+
@$(pytest-cleanup)
|
121
|
+
|
122
|
+
.PHONY=git-sync
|
123
|
+
git-sync:
|
124
|
+
@./gitsync
|
125
|
+
|
126
|
+
.PHONY=git-pr
|
127
|
+
git-pr:
|
128
|
+
@./gitpr $(N)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: taxcalc
|
3
|
-
Version: 4.2.
|
3
|
+
Version: 4.2.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
|
@@ -12,7 +12,6 @@ Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
13
13
|
Classifier: Programming Language :: Python
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
15
|
-
Classifier: Programming Language :: Python :: 3.9
|
16
15
|
Classifier: Programming Language :: Python :: 3.10
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
18
17
|
Classifier: Programming Language :: Python :: 3.12
|
@@ -25,12 +24,12 @@ Requires-Dist: pandas
|
|
25
24
|
Requires-Dist: bokeh
|
26
25
|
Requires-Dist: numba
|
27
26
|
Requires-Dist: requests
|
28
|
-
Requires-Dist: paramtools
|
27
|
+
Requires-Dist: paramtools>=0.18.3
|
29
28
|
|
30
29
|
| | |
|
31
30
|
| --- | --- |
|
32
31
|
| Org | [](https://www.PSLmodels.org) [](https://github.com/PSLmodels/Tax-Calculator/blob/master/LICENSE) [](https://pslmodels.github.io/Tax-Calculator/) |
|
33
|
-
| Package | [](https://www.python.org/downloads/release/python-3108/) [](https://www.python.org/downloads/release/python-3118/) [](https://www.python.org/downloads/release/python-3121/) [](https://pypi.org/project/taxcalc/) [](https://pypi.org/project/taxcalc/) [](https://anaconda.org/conda-forge/taxcalc)|
|
34
33
|
| Testing |   [](https://codecov.io/gh/PSLmodels/Tax-Calculator) |
|
35
34
|
|
36
35
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "Tax-Calculator",
|
3
|
+
"img": "",
|
4
|
+
"banner_title": "Tax-Calculator",
|
5
|
+
"banner_subtitle": "USA Federal Individual Income and Payroll Tax Microsimulation Model",
|
6
|
+
"detailed_description": "Tax-Calculator is an open-source microsimulation model for static analysis of USA federal income and payroll taxes.",
|
7
|
+
"policy_area": "Tax Microsimulation, Revenue Estimation, Distributional Analysis",
|
8
|
+
"geography": "United States",
|
9
|
+
"language": "Python",
|
10
|
+
"maintainers": [
|
11
|
+
{
|
12
|
+
"name": "Jason DeBacker",
|
13
|
+
"image": "https://github.com/jdebacker.png",
|
14
|
+
"link": "https://github.com/jdebacker"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"name": "Matthew Jensen",
|
18
|
+
"image": "https://avatars.githubusercontent.com/u/8301092?v=4",
|
19
|
+
"link": "https://github.com/MattHJensen/"
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"links": {
|
23
|
+
"code_repository": "https://github.com/PSLmodels/Tax-Calculator",
|
24
|
+
"user_documentation": "https://taxcalc.pslmodels.org/",
|
25
|
+
"contributor_documentation": "https://taxcalc.pslmodels.org/contributing/contributor_guide.html",
|
26
|
+
"webapp": "",
|
27
|
+
"recent_changes": "https://taxcalc.pslmodels.org/about/releases.html"
|
28
|
+
}
|
29
|
+
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
| | |
|
2
2
|
| --- | --- |
|
3
3
|
| Org | [](https://www.PSLmodels.org) [](https://github.com/PSLmodels/Tax-Calculator/blob/master/LICENSE) [](https://pslmodels.github.io/Tax-Calculator/) |
|
4
|
-
| Package | [](https://www.python.org/downloads/release/python-3108/) [](https://www.python.org/downloads/release/python-3118/) [](https://www.python.org/downloads/release/python-3121/) [](https://pypi.org/project/taxcalc/) [](https://pypi.org/project/taxcalc/) [](https://anaconda.org/conda-forge/taxcalc)|
|
5
5
|
| Testing |   [](https://codecov.io/gh/PSLmodels/Tax-Calculator) |
|
6
6
|
|
7
7
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
codecov:
|
2
|
+
require_ci_to_pass: yes
|
3
|
+
|
4
|
+
coverage:
|
5
|
+
precision: 2
|
6
|
+
round: down
|
7
|
+
range: "70...100"
|
8
|
+
|
9
|
+
parsers:
|
10
|
+
gcov:
|
11
|
+
branch_detection:
|
12
|
+
conditional: yes
|
13
|
+
loop: yes
|
14
|
+
method: no
|
15
|
+
macro: no
|
16
|
+
|
17
|
+
comment:
|
18
|
+
layout: "reach, diff, flags, files"
|
19
|
+
behavior: default
|
20
|
+
require_changes: false
|
21
|
+
|
22
|
+
ignore:
|
23
|
+
- "setup.py"
|
24
|
+
- "ppp.py"
|
25
|
+
- "extend_tcja.py"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
package:
|
2
|
+
name: taxcalc
|
3
|
+
version: 0.0.0
|
4
|
+
|
5
|
+
build:
|
6
|
+
entry_points:
|
7
|
+
- tc = taxcalc.cli.tc:cli_tc_main
|
8
|
+
|
9
|
+
requirements:
|
10
|
+
build:
|
11
|
+
- "python>=3.10, <3.13"
|
12
|
+
- "numpy>=1.26,<1.27"
|
13
|
+
- "pandas>=2.2"
|
14
|
+
- "bokeh>=2.4"
|
15
|
+
- "paramtools>=0.18.3"
|
16
|
+
- numba
|
17
|
+
- curl
|
18
|
+
- openpyxl
|
19
|
+
- behresp
|
20
|
+
|
21
|
+
run:
|
22
|
+
- "python>=3.10, <3.13"
|
23
|
+
- "numpy>=1.26,<1.27"
|
24
|
+
- "pandas>=2.2"
|
25
|
+
- "bokeh>=2.4"
|
26
|
+
- "paramtools>=0.18.3"
|
27
|
+
- numba
|
28
|
+
- curl
|
29
|
+
- openpyxl
|
30
|
+
- behresp
|
31
|
+
|
32
|
+
test:
|
33
|
+
commands:
|
34
|
+
- which tc # [unix]
|
35
|
+
- where tc # [win]
|
36
|
+
- tc --help
|
37
|
+
|
38
|
+
about:
|
39
|
+
home: https://github.com/PSLmodels/Tax-Calculator
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
if [[ "$#" -ne 2 ]]; then
|
3
|
+
echo "csv_show.sh prints all non-zero CSV file column values for RECID"
|
4
|
+
echo "ERROR: must specify exactly two command-line arguments"
|
5
|
+
echo "USAGE: ./csv_show.sh FILENAME RECID"
|
6
|
+
exit 1
|
7
|
+
fi
|
8
|
+
awk -F, '
|
9
|
+
BEGIN {
|
10
|
+
recid_varnum = 0
|
11
|
+
}
|
12
|
+
NR == 1 {
|
13
|
+
for ( i = 1; i <= NF; i++ ) {
|
14
|
+
varname[i] = $i
|
15
|
+
if ( $i == "RECID" ) recid_varnum = i
|
16
|
+
}
|
17
|
+
}
|
18
|
+
$recid_varnum == id {
|
19
|
+
for ( i = 1; i <= NF; i++ ) {
|
20
|
+
if ( $i != 0 ) {
|
21
|
+
print i, varname[i], $i
|
22
|
+
}
|
23
|
+
}
|
24
|
+
exit
|
25
|
+
}
|
26
|
+
' id=$2 $1
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
if [[ "$#" -ne 1 ]]; then
|
3
|
+
echo "csv_vars.sh prints all CSV file column numbers and names"
|
4
|
+
echo "ERROR: number of command-line arguments not equal to one"
|
5
|
+
echo "USAGE: ./csv_vars.sh FILENAME"
|
6
|
+
exit 1
|
7
|
+
fi
|
8
|
+
awk -F, '
|
9
|
+
NR == 1 { for( i = 1; i <= NF; i++ ) print i, $i }
|
10
|
+
' $1
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
2
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="1389px" height="581px" viewBox="0 0 13890 5810" preserveAspectRatio="xMidYMid meet">
|
3
|
+
<g id="layer101" fill="#09517e" stroke="none">
|
4
|
+
<path d="M9025 5222 c-16 -1 -54 -7 -83 -13 l-54 -11 7 -36 c3 -21 11 -54 16 -74 l9 -37 68 6 c82 7 91 -1 131 -109 l27 -73 -150 -367 c-83 -202 -152 -366 -153 -364 -1 1 -3 25 -4 54 l-2 51 -76 -5 c-65 -5 -81 -2 -108 15 -18 11 -40 35 -49 53 -37 71 -44 127 -44 361 l0 227 -90 0 -90 0 0 -405 0 -405 90 0 90 0 0 40 0 41 35 -35 c52 -52 128 -72 214 -57 36 6 99 13 139 14 l74 2 72 190 c41 105 91 236 112 292 l39 102 74 -197 c41 -108 90 -240 110 -292 l36 -95 98 -3 c53 -1 97 -1 97 2 0 2 -14 37 -31 77 -16 41 -63 155 -104 254 -41 99 -104 252 -140 340 -36 88 -79 192 -95 232 -40 98 -85 168 -123 192 -38 23 -99 38 -142 33z"/>
|
5
|
+
<path d="M6387 4910 c-48 -13 -92 -35 -139 -72 l-38 -30 0 46 0 46 -90 0 -90 0 0 -585 0 -585 95 0 95 0 0 226 0 226 40 -35 c53 -45 136 -72 225 -71 228 0 379 150 392 389 15 257 -138 441 -372 451 -44 2 -97 -1 -118 -6z m171 -172 c52 -25 96 -82 117 -151 48 -163 -29 -326 -169 -358 -86 -19 -154 0 -216 59 -38 37 -52 60 -65 106 -40 137 11 293 112 341 79 38 144 39 221 3z"/>
|
6
|
+
<path d="M7678 4906 c-209 -56 -266 -319 -93 -430 63 -42 129 -57 277 -65 75 -3 140 -10 143 -13 11 -11 -5 -82 -26 -117 -26 -42 -89 -71 -160 -71 -56 0 -161 29 -211 58 -15 9 -30 14 -32 11 -3 -3 -17 -30 -30 -61 -29 -66 -29 -66 65 -102 101 -38 212 -52 300 -37 95 16 145 39 197 92 79 81 85 112 90 442 l4 287 -96 0 -96 0 0 -35 0 -35 -47 31 c-90 56 -186 72 -285 45z m227 -140 c28 -13 63 -38 78 -55 24 -29 27 -40 27 -112 l0 -80 -92 6 c-120 8 -142 11 -184 31 -90 43 -84 172 9 215 56 25 102 24 162 -5z"/>
|
7
|
+
<path d="M4930 4315 l0 -585 95 0 95 0 0 505 0 505 200 0 200 0 0 80 0 80 -295 0 -295 0 0 -585z"/>
|
8
|
+
<path d="M5630 4495 l0 -405 95 0 95 0 0 405 0 405 -95 0 -95 0 0 -405z"/>
|
9
|
+
<path d="M7020 4495 l0 -405 95 0 95 0 0 37 0 37 28 -26 c46 -44 92 -62 157 -62 91 -1 95 2 95 78 0 96 0 95 -83 89 -64 -4 -76 -2 -107 18 -20 14 -46 46 -60 74 -24 49 -25 56 -28 308 l-4 257 -94 0 -94 0 0 -405z"/>
|
10
|
+
<path d="M3985 4877 c-3 -7 -4 -154 -3 -327 l3 -315 328 -3 327 -2 0 330 0 330 -325 0 c-253 0 -327 -3 -330 -13z"/>
|
11
|
+
<path d="M1490 3840 l0 -330 1573 2 1572 3 3 328 2 327 -1575 0 -1575 0 0 -330z"/>
|
12
|
+
<path d="M5641 3911 c-24 -22 -31 -38 -31 -66 0 -73 43 -115 116 -115 70 0 113 41 114 108 0 35 -6 49 -29 73 -25 25 -37 29 -84 29 -47 0 -60 -4 -86 -29z"/>
|
13
|
+
<path d="M2743 3453 c-10 -4 -13 -79 -13 -329 l0 -324 23 -5 c12 -3 441 -4 952 -3 l930 3 0 330 0 330 -940 2 c-517 1 -946 -1 -952 -4z"/>
|
14
|
+
<path d="M5122 3395 c-69 -16 -206 -85 -257 -129 l-40 -34 68 -101 c37 -55 73 -101 80 -101 7 0 35 17 64 38 143 108 292 129 357 51 31 -37 33 -77 5 -113 -26 -34 -56 -49 -182 -92 -139 -49 -210 -88 -263 -147 -135 -151 -76 -416 114 -508 115 -56 281 -66 417 -24 73 22 193 87 209 113 7 12 -101 192 -120 199 -7 2 -34 -11 -59 -31 -72 -55 -147 -79 -225 -73 -57 4 -68 9 -93 37 -23 26 -28 39 -23 64 9 47 54 78 183 126 157 57 206 83 264 137 68 63 92 130 87 243 -2 66 -9 96 -28 135 -52 105 -172 191 -299 215 -72 13 -193 11 -259 -5z"/>
|
15
|
+
<path d="M7927 3396 c-75 -21 -127 -63 -162 -131 l-30 -59 -3 -328 -3 -328 145 0 146 0 0 248 c0 136 5 265 10 287 17 75 89 106 161 69 57 -29 63 -61 67 -346 l3 -258 145 0 144 0 0 420 0 420 -140 0 -140 0 0 -37 0 -36 -22 20 c-69 63 -214 90 -321 59z"/>
|
16
|
+
<path d="M9310 3396 c-85 -22 -156 -80 -184 -148 -20 -47 -21 -164 -2 -209 20 -48 71 -93 139 -124 48 -22 81 -28 212 -38 l155 -11 0 -26 c0 -63 -58 -100 -157 -100 -73 0 -135 15 -201 49 -23 12 -45 21 -50 21 -5 0 -24 -37 -41 -82 -18 -46 -35 -88 -38 -95 -9 -23 125 -69 261 -89 213 -32 382 19 466 140 53 78 60 130 60 433 l0 274 -142 -3 -143 -3 -3 -27 -3 -26 -48 30 c-79 48 -183 61 -281 34z m288 -205 c28 -20 31 -26 34 -91 4 -81 11 -77 -115 -61 -49 7 -76 16 -93 32 -41 39 -25 116 30 140 34 14 110 4 144 -20z"/>
|
17
|
+
<path d="M10289 3400 c-87 -22 -149 -85 -168 -170 -6 -25 -11 -138 -11 -252 l0 -208 -60 0 -60 0 0 -110 0 -110 60 0 60 0 0 -110 0 -110 151 0 150 0 -3 110 -3 110 93 0 92 0 0 110 0 110 -92 0 -93 0 3 182 c4 222 4 223 99 215 l62 -6 5 42 c3 23 7 72 10 109 l5 66 -32 11 c-43 15 -223 23 -268 11z"/>
|
18
|
+
<path d="M11427 3400 c-72 -12 -170 -63 -228 -117 -166 -155 -169 -454 -7 -616 148 -148 431 -175 626 -61 184 108 252 365 150 571 -86 175 -300 263 -541 223z m192 -245 c133 -68 132 -309 -2 -374 -55 -27 -92 -27 -147 2 -127 64 -134 282 -11 364 40 27 116 31 160 8z"/>
|
19
|
+
<path d="M5820 2970 l0 -420 145 0 145 0 0 420 0 420 -145 0 -145 0 0 -420z"/>
|
20
|
+
<path d="M6270 2970 l0 -420 145 0 145 0 0 41 0 41 39 -31 c63 -50 107 -65 192 -64 106 1 171 31 222 103 l16 23 26 -32 c89 -105 292 -129 413 -47 58 38 99 114 112 206 5 36 10 185 10 333 l0 267 -150 0 -150 0 0 -266 c0 -292 -6 -325 -59 -346 -32 -12 -79 -3 -104 19 -42 39 -47 72 -47 339 l0 254 -150 0 -150 0 0 -260 c0 -280 -5 -311 -51 -344 -61 -42 -137 7 -158 102 -6 31 -11 148 -11 277 l0 225 -145 0 -145 0 0 -420z"/>
|
21
|
+
<path d="M8710 2805 l0 -585 150 0 150 0 0 585 0 585 -150 0 -150 0 0 -585z"/>
|
22
|
+
<path d="M10670 2970 l0 -420 150 0 150 0 0 420 0 420 -150 0 -150 0 0 -420z"/>
|
23
|
+
<path d="M12120 2970 l0 -420 145 0 145 0 0 46 0 46 45 -40 c55 -48 117 -67 211 -65 90 1 160 30 213 88 69 74 74 107 79 458 l4 307 -151 0 -150 0 -3 -274 c-3 -261 -4 -276 -24 -303 -28 -38 -81 -51 -131 -32 -30 11 -43 25 -63 64 -24 49 -25 57 -28 298 l-4 247 -144 0 -144 0 0 -420z"/>
|
24
|
+
<path d="M910 2410 l0 -330 1865 0 1865 0 -2 328 -3 327 -1862 3 -1863 2 0 -330z"/>
|
25
|
+
<path d="M5881 2452 c-100 -50 -106 -186 -12 -249 26 -17 48 -23 93 -23 65 0 100 14 138 55 21 23 25 36 25 90 0 54 -4 67 -25 90 -14 15 -37 33 -52 41 -38 20 -126 18 -167 -4z"/>
|
26
|
+
<path d="M10729 2450 c-51 -27 -73 -65 -73 -126 0 -94 56 -144 163 -144 106 0 161 50 161 145 0 25 -7 59 -15 75 -33 65 -159 91 -236 50z"/>
|
27
|
+
<path d="M8624 2190 c-23 -5 -60 -14 -83 -20 -47 -12 -46 -1 -6 -140 l21 -75 76 4 77 3 20 -33 c41 -66 41 -64 -114 -445 -80 -198 -152 -374 -160 -392 -8 -18 -15 -37 -15 -43 0 -6 56 -8 152 -7 l153 3 32 90 c17 50 55 159 85 242 46 134 68 179 68 142 0 -6 37 -116 82 -245 l82 -234 154 0 c119 0 153 3 149 13 -228 559 -383 932 -402 972 -60 122 -140 176 -259 174 -39 -1 -90 -5 -112 -9z"/>
|
28
|
+
<path d="M2110 1690 l0 -330 1265 0 1265 0 0 330 0 330 -1265 0 -1265 0 0 -330z"/>
|
29
|
+
<path d="M6097 1885 c-134 -37 -237 -119 -290 -232 -30 -65 -32 -74 -32 -189 0 -119 0 -121 38 -196 79 -161 219 -238 434 -238 80 0 116 5 171 24 188 63 292 209 292 410 0 214 -119 366 -327 420 -73 19 -219 20 -286 1z m230 -245 c41 -25 63 -59 80 -123 39 -153 -74 -293 -209 -256 -88 23 -135 107 -125 226 9 113 67 173 166 173 38 0 66 -6 88 -20z"/>
|
30
|
+
<path d="M7998 1885 c-199 -55 -318 -212 -318 -420 1 -125 32 -211 107 -296 87 -96 196 -139 355 -139 107 0 179 16 261 56 26 14 47 30 47 37 -1 19 -55 195 -63 203 -4 4 -34 -8 -68 -26 -156 -83 -306 -32 -340 116 -21 93 27 197 107 230 73 31 185 10 266 -48 22 -15 32 -18 38 -9 16 26 62 201 57 215 -8 20 -120 71 -185 85 -69 14 -205 13 -264 -4z"/>
|
31
|
+
<path d="M4910 1295 l0 -585 253 0 c272 0 335 8 425 54 59 30 126 101 154 164 18 39 22 67 22 157 0 102 -2 114 -29 168 -36 73 -108 139 -183 168 -47 19 -81 24 -202 27 l-145 4 3 214 3 214 -151 0 -150 0 0 -585z m479 -83 c55 -27 76 -64 75 -130 0 -104 -48 -142 -183 -142 l-81 0 0 145 0 145 78 0 c54 0 87 -5 111 -18z"/>
|
32
|
+
<path d="M6822 1298 l3 -583 148 -3 147 -3 0 586 0 585 -150 0 -150 0 2 -582z"/>
|
33
|
+
<path d="M7280 1460 l0 -420 145 0 145 0 0 420 0 420 -145 0 -145 0 0 -420z"/>
|
34
|
+
<path d="M3992 1302 c-9 -7 -12 -80 -10 -333 l3 -324 325 0 325 0 0 330 0 330 -315 2 c-173 2 -321 -1 -328 -5z"/>
|
35
|
+
<path d="M7345 946 c-16 -7 -41 -26 -55 -41 -21 -22 -25 -36 -25 -90 0 -54 4 -67 25 -90 38 -41 73 -55 135 -55 98 0 153 45 162 131 4 46 1 59 -19 89 -13 19 -39 43 -58 52 -41 21 -122 23 -165 4z"/>
|
36
|
+
</g>
|
37
|
+
<g id="layer102" fill="#1691ce" stroke="none">
|
38
|
+
<path d="M9030 5223 c-14 -2 -51 -8 -83 -15 l-59 -11 7 -36 c3 -20 11 -53 16 -74 l10 -38 47 7 c94 15 109 4 150 -107 l28 -75 -150 -368 c-93 -227 -152 -360 -154 -345 -1 13 -5 38 -8 56 l-5 31 -72 -4 c-84 -6 -124 12 -153 68 -37 71 -44 127 -44 361 l0 227 -90 0 -90 0 0 -405 0 -405 90 0 90 0 0 40 0 41 37 -36 c53 -52 126 -71 212 -56 36 6 99 13 139 14 l74 2 59 155 c182 477 162 432 176 397 7 -18 48 -129 93 -247 45 -118 89 -235 99 -260 l17 -45 97 -3 c53 -1 97 -1 97 2 0 2 -9 26 -21 53 -12 26 -49 118 -84 203 -65 159 -139 338 -239 583 -67 164 -105 229 -149 256 -37 23 -100 38 -137 34z"/>
|
39
|
+
<path d="M6393 4910 c-53 -11 -110 -41 -150 -79 l-33 -30 0 50 0 49 -90 0 -90 0 0 -585 0 -585 95 0 95 0 0 226 0 226 31 -27 c142 -119 382 -105 512 29 86 88 123 203 114 347 -14 219 -160 373 -364 384 -43 2 -97 0 -120 -5z m164 -172 c149 -69 180 -324 54 -449 -89 -89 -219 -92 -315 -8 -63 56 -89 128 -84 229 11 200 175 308 345 228z"/>
|
40
|
+
<path d="M7693 4910 c-76 -16 -141 -62 -180 -128 -22 -37 -26 -57 -26 -117 0 -77 9 -101 62 -158 59 -65 169 -95 350 -98 l113 -1 -6 -46 c-13 -99 -76 -152 -182 -152 -67 0 -151 21 -203 51 -39 23 -44 20 -76 -49 -27 -59 -28 -58 65 -95 138 -54 310 -57 416 -6 60 29 121 95 146 159 20 52 21 73 22 340 l1 285 -90 0 -90 0 -1 -28 c-1 -15 -3 -29 -5 -32 -3 -2 -24 9 -48 26 -79 53 -167 69 -268 49z m189 -132 c22 -6 59 -29 84 -51 l44 -39 0 -84 0 -85 -92 6 c-120 8 -142 11 -184 31 -90 43 -84 172 9 215 49 22 84 24 139 7z"/>
|
41
|
+
<path d="M4930 4315 l0 -585 95 0 95 0 0 505 0 505 193 1 c105 1 195 1 200 0 4 0 7 35 7 79 l0 80 -295 0 -295 0 0 -585z"/>
|
42
|
+
<path d="M5632 4498 l3 -403 93 -3 92 -3 0 406 0 405 -95 0 -95 0 2 -402z"/>
|
43
|
+
<path d="M7020 4495 l0 -405 95 0 95 0 0 41 0 42 21 -27 c33 -42 96 -69 164 -70 91 -1 95 2 95 78 0 96 0 95 -83 89 -64 -4 -76 -2 -107 18 -20 14 -46 46 -60 74 -24 49 -25 56 -28 308 l-3 257 -95 0 -94 0 0 -405z"/>
|
44
|
+
<path d="M3985 4877 c-3 -7 -4 -154 -3 -327 l3 -315 323 -3 322 -2 0 330 0 330 -320 0 c-249 0 -322 -3 -325 -13z"/>
|
45
|
+
<path d="M1490 3840 l0 -330 1570 0 1570 0 0 330 0 330 -1570 0 -1570 0 0 -330z"/>
|
46
|
+
<path d="M5661 3926 c-45 -25 -63 -88 -40 -139 15 -32 60 -57 104 -57 71 0 114 41 115 108 0 35 -6 49 -29 73 -25 24 -37 29 -78 29 -26 -1 -59 -7 -72 -14z"/>
|
47
|
+
</g>
|
48
|
+
|
49
|
+
</svg>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Book settings
|
2
|
+
title: Tax-Calculator
|
3
|
+
author: Policy Simulation Library
|
4
|
+
logo: PSL.svg
|
5
|
+
exclude_patterns: [guide/make, guide/templates, recipes/md_src, '**/README.md']
|
6
|
+
repository:
|
7
|
+
url: https://github.com/PSLmodels/Tax-Calculator
|
8
|
+
path_to_book: docs
|
9
|
+
branch: master
|
10
|
+
html:
|
11
|
+
use_edit_page_button: true
|
12
|
+
use_repository_button: true
|
13
|
+
use_issues_button: true
|
14
|
+
launch_buttons:
|
15
|
+
colab_url: "https://colab.research.google.com"
|
16
|
+
binderhub_url: "https://mybinder.org"
|
17
|
+
notebook_interface: "classic" # or "jupyterlab"
|
18
|
+
execute:
|
19
|
+
timeout: -1
|
20
|
+
|
21
|
+
#######################################################################################
|
22
|
+
# Advanced and power-user settings
|
23
|
+
sphinx:
|
24
|
+
extra_extensions : ['sphinx.ext.autodoc', 'sphinx.ext.mathjax',
|
25
|
+
'sphinx.ext.viewcode', 'sphinx.ext.napoleon',
|
26
|
+
'alabaster'] # A list of extra extensions to load by Sphinx.
|
27
|
+
config : # key-value pairs to directly over-ride the Sphinx configuration
|
Binary file
|
Binary file
|
Binary file
|