From e0c379522464d942c54f92506451061abf6d4924 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Tue, 20 Feb 2024 18:41:36 -0500 Subject: [PATCH 01/16] add other required packages to setup.py --- setup.py | 69 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/setup.py b/setup.py index b90594a85..4d1be230d 100644 --- a/setup.py +++ b/setup.py @@ -1,38 +1,49 @@ from setuptools import setup -with open('README.md') as f: +with open("README.md") as f: longdesc = f.read() -version = '3.5.0' +version = "3.5.0" config = { - 'description': 'Tax Calculator', - 'url': 'https://github.com/PSLmodels/Tax-Calculator', - 'download_url': 'https://github.com/PSLmodels/Tax-Calculator', - 'description': 'taxcalc', - 'long_description': longdesc, - 'version': version, - 'license': 'CC0 1.0 Universal (CC0 1.0) Public Domain Dedication', - 'packages': ['taxcalc', 'taxcalc.cli'], - 'include_package_data': True, - 'name': 'taxcalc', - 'install_requires': ['setuptools', 'numpy', 'pandas', 'bokeh', 'numba'], - 'classifiers': [ - 'Development Status :: 4 - Beta', - 'Intended Audience :: Developers', - 'Natural Language :: English', - 'License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Topic :: Software Development :: Libraries :: Python Modules'], - 'tests_require': ['pytest'], - 'entry_points': { - 'console_scripts': ['tc=taxcalc.cli.tc:cli_tc_main'] - } + "description": "Tax Calculator", + "url": "https://github.com/PSLmodels/Tax-Calculator", + "download_url": "https://github.com/PSLmodels/Tax-Calculator", + "description": "taxcalc", + "long_description": longdesc, + "version": version, + "license": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", + "packages": ["taxcalc", "taxcalc.cli"], + "include_package_data": True, + "name": "taxcalc", + "install_requires": [ + "setuptools", + "numpy", + "pandas", + "bokeh", + "numba", + "requests", + "paramtools", + "behresp", + "aiohttp", + "curl", + "openpyxl", + ], + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Natural Language :: English", + "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Software Development :: Libraries :: Python Modules", + ], + "tests_require": ["pytest"], + "entry_points": {"console_scripts": ["tc=taxcalc.cli.tc:cli_tc_main"]}, } setup(**config) From 56f8c71507ac985e8577cbb955bb2cf7bf14667e Mon Sep 17 00:00:00 2001 From: jdebacker Date: Tue, 20 Feb 2024 18:42:08 -0500 Subject: [PATCH 02/16] pin to Python < 3.12 --- conda.recipe/meta.yaml | 6 +++--- environment.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index b7a076d8f..9f6d8f8cc 100755 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -8,7 +8,7 @@ build: requirements: build: - - python + - "python<3.12" - "numpy>=1.14" - "pandas>=1.2.0" - "bokeh>=1.4.0, <3.0.0" @@ -19,9 +19,9 @@ requirements: - aiohttp - curl - openpyxl - + run: - - python + - "python<3.12" - "numpy>=1.14" - "pandas>=1.2.0" - "bokeh>=1.4.0, <3.0.0" diff --git a/environment.yml b/environment.yml index ea0200d93..19dc1a14d 100644 --- a/environment.yml +++ b/environment.yml @@ -2,7 +2,7 @@ name: taxcalc-dev channels: - conda-forge dependencies: -- python +- "python<3.12" - curl - "numpy>=1.14" - "pandas>=1.2.0" From cbc5a59b2efc6c03f1c90fc6794bdb6724755745 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Tue, 20 Feb 2024 19:48:49 -0500 Subject: [PATCH 03/16] remove some from setup.py --- setup.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/setup.py b/setup.py index 4d1be230d..84bf4ea77 100644 --- a/setup.py +++ b/setup.py @@ -24,10 +24,6 @@ "numba", "requests", "paramtools", - "behresp", - "aiohttp", - "curl", - "openpyxl", ], "classifiers": [ "Development Status :: 4 - Beta", From 569f79ce00e550a4f99f2cfb16099b7ec0cb2550 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Wed, 21 Feb 2024 15:58:36 -0500 Subject: [PATCH 04/16] drop extension from license file --- LICENSE.md => LICENSE | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENSE.md => LICENSE (100%) diff --git a/LICENSE.md b/LICENSE similarity index 100% rename from LICENSE.md rename to LICENSE From 7ad749c3dd68ef7c0b0feecfe9e1701f7a0b1b86 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Wed, 21 Feb 2024 16:07:26 -0500 Subject: [PATCH 05/16] update readme metadata --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 48eefbd2e..2d5b7091c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ -[![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org) -[![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue.svg)](https://www.python.org/downloads/release/python-360/) -[![Build Status](https://travis-ci.org/PSLmodels/Tax-Calculator.svg?branch=master)](https://travis-ci.org/PSLmodels/Tax-Calculator) -[![Codecov](https://codecov.io/gh/PSLmodels/Tax-Calculator/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Tax-Calculator) +| | | +| --- | --- | +| Org | [![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org) [![OS License: CCO-1.0](https://img.shields.io/badge/OS%20License-CCO%201.0-yellow)](https://github.com/PSLmodels/Tax-Calculator/blob/master/LICENSE) [![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pslmodels.github.io/Tax-Calculator/) | +| Package | [![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-3916/) [![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3108/) [![Python 3.11](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3118/) [![PyPI Latest Release](https://img.shields.io/pypi/v/taxcalc.svg)](https://pypi.org/project/taxcalc/) [![PyPI Downloads](https://img.shields.io/pypi/dm/taxcalc.svg?label=PyPI%20downloads)](https://pypi.org/project/taxcalc/) [![Anaconda](https://img.shields.io/conda/dn/conda-forge/taxcalc?color=brightgreen&label=downloads&logo=conda-forge)](https://anaconda.org/conda-forge/taxcalc)| +| Testing | ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/build_and_test.yml/badge.svg?branch=master) ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/deploy_jupyterbook.yml/badge.svg?branch=master) [![Codecov](https://codecov.io/gh/PSLmodels/Tax-Calculator/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Tax-Calculator) | Tax-Calculator @@ -11,7 +12,7 @@ Tax-Calculator is an open-source microsimulation model for static analysis of USA federal income and payroll taxes. We are seeking contributors and maintainers. If you are interested in joining the project as a contributor or maintainer, -open a new [issue](https://github.com/PSLmodels/Tax-Calculator/issues) and ping @MattHJensen or @jdebacker -- or just jump right in. +open a new [issue](https://github.com/PSLmodels/Tax-Calculator/issues) and ping [@MattHJensen](https://github.com/MattHJensen/) or [@jdebacker](https://github.com/jdebacker/) -- or just jump right in. Complete documentation is available [here](https://PSLmodels.github.io/Tax-Calculator/). From 2f53f3a13a7b005d3c2d117257920be3dc3e40ff Mon Sep 17 00:00:00 2001 From: jdebacker Date: Wed, 21 Feb 2024 19:04:10 -0500 Subject: [PATCH 06/16] test on python 3.9-3.11 --- .github/workflows/build_and_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index f4eef9568..c57381ee1 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1,4 +1,4 @@ -name: Build Package and Test Source Code [Python 3.7, 3.8, 3.9, 3.10] +name: Build Package and Test Source Code [Python 3.9, 3.10, 2.11] on: [push, pull_request] @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - python-version: [3.7, 3.8, 3.9, '3.10'] + python-version: [3.9, '3.10', '3.11'] steps: - name: Checkout From 3ff655e537d79bb4484c302f051aef8116219d88 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Wed, 21 Feb 2024 19:04:25 -0500 Subject: [PATCH 07/16] fix py 3.11 badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d5b7091c..3c3aba333 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ | | | | --- | --- | | Org | [![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org) [![OS License: CCO-1.0](https://img.shields.io/badge/OS%20License-CCO%201.0-yellow)](https://github.com/PSLmodels/Tax-Calculator/blob/master/LICENSE) [![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pslmodels.github.io/Tax-Calculator/) | -| Package | [![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-3916/) [![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3108/) [![Python 3.11](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3118/) [![PyPI Latest Release](https://img.shields.io/pypi/v/taxcalc.svg)](https://pypi.org/project/taxcalc/) [![PyPI Downloads](https://img.shields.io/pypi/dm/taxcalc.svg?label=PyPI%20downloads)](https://pypi.org/project/taxcalc/) [![Anaconda](https://img.shields.io/conda/dn/conda-forge/taxcalc?color=brightgreen&label=downloads&logo=conda-forge)](https://anaconda.org/conda-forge/taxcalc)| +| Package | [![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-3916/) [![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3108/) [![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3118/) [![PyPI Latest Release](https://img.shields.io/pypi/v/taxcalc.svg)](https://pypi.org/project/taxcalc/) [![PyPI Downloads](https://img.shields.io/pypi/dm/taxcalc.svg?label=PyPI%20downloads)](https://pypi.org/project/taxcalc/) [![Anaconda](https://img.shields.io/conda/dn/conda-forge/taxcalc?color=brightgreen&label=downloads&logo=conda-forge)](https://anaconda.org/conda-forge/taxcalc)| | Testing | ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/build_and_test.yml/badge.svg?branch=master) ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/deploy_jupyterbook.yml/badge.svg?branch=master) [![Codecov](https://codecov.io/gh/PSLmodels/Tax-Calculator/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Tax-Calculator) | From d6a542d8fb17b57e6bbc7d1331f3008d7217aeac Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 22 Feb 2024 22:28:02 +0000 Subject: [PATCH 08/16] Update test benchmark 2024-02-22 --- taxcalc/tests/test_stats_benchmark.csv | 596 ++++++++++++------------- 1 file changed, 298 insertions(+), 298 deletions(-) diff --git a/taxcalc/tests/test_stats_benchmark.csv b/taxcalc/tests/test_stats_benchmark.csv index 33625476c..31dd07908 100644 --- a/taxcalc/tests/test_stats_benchmark.csv +++ b/taxcalc/tests/test_stats_benchmark.csv @@ -1,335 +1,335 @@ ,test_id,pytest_obj,status,duration_ms,test_tuple,expected_value,revision,expect,fname,jfname,pfname,good_revision,params,is_paramtools,set_year,csv,fyear,input_data,baseline,reform,assump,outdir,year,base,ref,asm,dumpvar_str,str_valid,num_vars,time_diff -0,taxcalc/tests/test_4package.py::test_for_consistency,,passed,3.8533480000069176,,,,,,,,,,,,,,,,,,,,,,,,,,0.012277999985599308 -1,taxcalc/tests/test_benefits.py::test_benefits,,passed,4128.532368999999,,,,,,,,,,,,,,,,,,,,,,,,,,192.6854849999986 -2,taxcalc/tests/test_calcfunctions.py::test_calc_and_used_vars,,passed,38.0213789999857,,,,,,,,,,,,,,,,,,,,,,,,,,3.261771999973462 -3,taxcalc/tests/test_calcfunctions.py::test_function_args_usage,,passed,1.8888740000022608,,,,,,,,,,,,,,,,,,,,,,,,,,0.0009649999981320434 -4,taxcalc/tests/test_calcfunctions.py::test_DependentCare,,passed,0.2579599999990023,,,,,,,,,,,,,,,,,,,,,,,,,,0.014933999977984114 -5,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, young]",,passed,0.1894120000258681,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 45, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, False, 0)",12000,,,,,,,,,,,,,,,,,,,,,,,,0.00539700002377691 -6,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity]",,passed,0.17630799999324154,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 66, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 1, 1, 2, 200, True, 300)",15800,,,,,,,,,,,,,,,,,,,,,,,,0.003023999965989843 -7,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity, over limit]",,passed,0.1756569999997737,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 66, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 400, True, 300)",13500,,,,,,,,,,,,,,,,,,,,,,,,0.0020720000293295016 -8,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, two old]",,passed,0.17298200000936959,"(0, 1200, [6000, 12000, 6000, 12000, 12000], 66, 67, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, True, 0)",14400,,,,,,,,,,,,,,,,,,,,,,,,0.0052079999761645845 -9,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 1],,passed,0.17661800001178563,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,0.007160000052408633 -10,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 2],,passed,0.1849129999982324,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,0.01702800000202842 -11,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single]",,passed,0.17993499997714935,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 1, 0, 0, 2, 0, True, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.014104000030101843 -12,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Marrid, Single, dep, under earn]",,passed,0.1747450000095796,"(1, 200, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1000,,,,,,,,,,,,,,,,,,,,,,,,0.004165000035527611 -13,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single, dep, over earn]",,passed,0.18193800002563876,"(1, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1350,,,,,,,,,,,,,,,,,,,,,,,,0.010997000060797346 -14,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 1],,passed,0.254122000001189,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(0, 4065, 4065, 0, 0, 3252, 25000, 10000, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.012257999969733702 -15,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 2],,passed,0.2240869999923234,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 6146.25, 4065, 2081.25, 1040.625, 4917, 38959.375, 21167.5, 17791.875, 21380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,0.009384000009049487 -16,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 3],,passed,0.24267099999519814,"(120000, 150000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 22202.25, 21453, 749.25, 374.625, 16773, 179625.375, 161833.5, 17791.875, 161380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,0.029362000049104636 -17,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 4],,passed,0.22459800001684016,"(120000, 500000, 15000, 100, 2000, 0.12, 0.03, 0, 400000, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 46067.85, 31953, 749.25, 374.625, 30138.6, 529625.375, 511833.5, 17791.875, 511380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,0.011939000017946455 -18,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 5],,passed,0.22399699997777134,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 300, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(300, 4065, 4065, 0, 0, 3285.3, 25300, 10279.1875, 15000, 10382, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.010206000013113226 -19,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 6],,passed,0.23545799999169503,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, -40000, 0, None, None, None, None, None, None, None, None, None, None, None)","(-40000, 4065, 4065, 0, 0, 3252, 0, 0, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.022719999975606725 -20,taxcalc/tests/test_calcfunctions.py::test_AfterTaxIncome,,passed,0.17711000000986132,,,,,,,,,,,,,,,,,,,,,,,,,,0.002313000010190136 -21,taxcalc/tests/test_calcfunctions.py::test_ExpandIncome,,passed,0.19104599999764105,,,,,,,,,,,,,,,,,,,,,,,,,,0.025445000005674956 -22,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple0-expected_value0],,passed,0.18258000000059837,"(1, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.01005699999723228 -23,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple1-expected_value1],,passed,0.17057699997735654,"(0, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.007570999997597028 -24,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple2-expected_value2],,passed,0.16986700001098143,"(1, 1, 2, 100, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.006862000020646519 -25,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple3-expected_value3],,passed,0.17412400001148853,"(0, 2, 1, 100, 200, 1000)","(200, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.008403000038015335 -26,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple4-expected_value4],,passed,0.1842129999829467,"(0, 1, 3, 100, 300, 1000)","(300, 1300)",,,,,,,,,,,,,,,,,,,,,,,,0.02038599998854812 -27,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple0-expected_value0],,passed,0.18815999999333144,"(1100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,0.016076999997949343 -28,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple1-expected_value1],,passed,0.1759069999991425,"(2100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,0.010646999982100197 -29,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple2-expected_value2],,passed,0.16850399998702414,"(1100000, 1, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.020590000019637955 -30,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple3-expected_value3],,passed,0.17015599999581354,"(1100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,0.0029219999930774343 -31,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple4-expected_value4],,passed,0.17264100000602411,"(2100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,0.006760000019312512 -32,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple5-expected_value5],,passed,0.16812299998036906,"(1100000, 2, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,0.006559999974342645 -33,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple6-expected_value6],,passed,0.1713690000144652,"(510000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(1003, 1203, 3003, 1303)",,,,,,,,,,,,,,,,,,,,,,,,0.005999000023848594 -34,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple7-expected_value7],,passed,0.1789630000246234,"(1100000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(109150, 109350, 111150, 109450)",,,,,,,,,,,,,,,,,,,,,,,,0.011860000057595299 -35,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple8-expected_value8],,passed,0.1654579999978978,"(510000, 3, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,0.0033340000129555847 -36,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple0-expected_value0],,passed,0.16837300000815958,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1400)",,,,,,,,,,,,,,,,,,,,,,,,0.001349000001482692 -37,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple1-expected_value1],,passed,0.17162899999334513,"(1, 76000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1120)",,,,,,,,,,,,,,,,,,,,,,,,0.005286999993359132 -38,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple2-expected_value2],,passed,0.19861900000250898,"(1, 90000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.012768000033247517 -39,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple3-expected_value3],,passed,0.17011599999250393,"(2, 50000, 3, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 4200)",,,,,,,,,,,,,,,,,,,,,,,,0.0053770000363329296 -40,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple4-expected_value4],,passed,0.1679620000061277,"(2, 155000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,0.003253000016911811 -41,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple5-expected_value5],,passed,0.1696159999937663,"(2, 170000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0032639999858475044 -42,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple6-expected_value6],,passed,0.16655900000728252,"(4, 50000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,0.0018800000418651153 -43,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple7-expected_value7],,passed,0.16786300000148913,"(4, 117000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 560)",,,,,,,,,,,,,,,,,,,,,,,,0.0029939999990347133 -44,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple8-expected_value8],,passed,0.1680629999896155,"(4, 130000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.002983999991101882 -45,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple9-expected_value9],,passed,0.1680620000001909,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.005087000033654504 -46,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple10-expected_value10],,passed,0.1681329999883019,"(1, 97000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 600)",,,,,,,,,,,,,,,,,,,,,,,,0.005018000024392677 -47,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple11-expected_value11],,passed,0.19116599997914818,"(1, 150000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.027799999998023878 -48,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple12-expected_value12],,passed,0.16635000000064792,"(2, 50000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,0.0001780000218332134 -49,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple13-expected_value13],,passed,0.16694999999344873,"(2, 160000, 5, 3, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,0.002821999942170833 -50,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple14-expected_value14],,passed,0.17033699998592056,"(2, 300000, 2, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.005206999958318248 -51,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple15-expected_value15],,passed,0.16692100001591825,"(4, 50000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 2200)",,,,,,,,,,,,,,,,,,,,,,,,0.003685000024233942 -52,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple16-expected_value16],,passed,0.1691150000056041,"(4, 130000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 825)",,,,,,,,,,,,,,,,,,,,,,,,0.00250200002938078 -53,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple17-expected_value17],,passed,0.16545699998005148,"(4, 170000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0014089999353927851 -54,taxcalc/tests/test_calcfunctions.py::test_EITCamount[test_tuple0-6660],,passed,267.3454119999974,"(0.0, 0.45, 19330, 6660, 19330, 19330, 0.2106)",6660,,,,,,,,,,,,,,,,,,,,,,,,14.185565999980554 -55,taxcalc/tests/test_calcfunctions.py::test_EITC[test_tuple0-6660],,passed,0.20085299999550443,"(4, 0, 3, 19330, 0, 0, 0, 0, 0, 0, 0, 0, 19330, 19330, 0, [8790, 19330, 19330, 19330], 25, 64, [5890, 5890, 5890, 5890], [0.0765, 0.34, 0.4, 0.45], [538, 3584, 5920, 6660], [0.0765, 0.1598, 0.2106, 0.2106], 0.0, 3650, 9e+99, False, False, 0)",6660,,,,,,,,,,,,,,,,,,,,,,,,0.001879999985021641 -56,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple0-expected_value0],,passed,0.18678800000770934,"(527860.66, 0.0, 37000.0, 0.0, 2, 352000.0, 0.0, 0.0, 0.0, 5000.0, 7000.0, 0, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(490860.66, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0013900000226386433 -57,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple1-expected_value1],,passed,0.17482500001619883,"(337675.1, 0.0, 49000.0, 0.0, 2, 23000.0, 0.0, 0.0, 0.0, 8000.0, 4000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(284075.1, 4600)",,,,,,,,,,,,,,,,,,,,,,,,0.0008890000060546299 -58,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple2-expected_value2],,passed,0.1722100000165483,"(603700.0, 24400.0, 0.0, 0.0, 2, 0.0, 11000.0, 0.0, 0.0, 3000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(579300.0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0026619999857757926 -59,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple3-expected_value3],,passed,0.17068799999719886,"(90700.0, 0.0, 32000.0, 0.0, 4, 0.0, 6000.0, 0.0, 0.0, 9000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(57500.0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.003958999997166729 -60,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2021[test_tuple0-expected_value0],,passed,0.18031499999437983,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, True, True, 0, 0, 0)","(0, 1000, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0019409999651998355 -61,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2022[test_tuple0-expected_value0],,passed,0.1798849999943286,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, False, False, 0, 0, 0)","(0, 0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.0076719999526631 -62,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2021[test_tuple0-0],,passed,0.17719999999599167,"(1000, 0, 600, [75000, 150000, 75000, 125000, 150000], 0.05, True, True, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.0018810000028679774 -63,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2022[test_tuple0-0],,passed,0.17533599998387217,"(0, 0, 0, [0, 0, 0, 0, 0], 0, False, False, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.00595899996369556 -64,taxcalc/tests/test_calcfunctions.py::test_AGI[test_tuple0-expected_value0],,passed,0.23035899999968024,"(29530, 0, 0, 0, 4, 1, 0, False, 0, 0, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.02, False, 10200, [150000, 150000, 150000, 150000, 150000], 10200, 0, 0, 0)","(19330, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0020310000081736335 -65,taxcalc/tests/test_calculator.py::test_make_calculator,,passed,2443.9045539999997,,,,,,,,,,,,,,,,,,,,,,,,,,14.153315000015937 -66,taxcalc/tests/test_calculator.py::test_make_calculator_deepcopy,,passed,2201.3976609999872,,,,,,,,,,,,,,,,,,,,,,,,,,7.8740089999769225 -67,taxcalc/tests/test_calculator.py::test_make_calculator_with_policy_reform,,passed,2583.0377519999956,,,,,,,,,,,,,,,,,,,,,,,,,,-0.12436500003332185 -68,taxcalc/tests/test_calculator.py::test_make_calculator_with_multiyear_reform,,passed,2671.204129000017,,,,,,,,,,,,,,,,,,,,,,,,,,10.790431000003991 -69,taxcalc/tests/test_calculator.py::test_calculator_advance_to_year,,passed,2064.263793000009,,,,,,,,,,,,,,,,,,,,,,,,,,8.034024000039608 -70,taxcalc/tests/test_calculator.py::test_make_calculator_raises_on_no_policy,,passed,375.253669000017,,,,,,,,,,,,,,,,,,,,,,,,,,-8.902089999992313 -71,taxcalc/tests/test_calculator.py::test_calculator_mtr,,passed,17572.622834000016,,,,,,,,,,,,,,,,,,,,,,,,,,201.75088600001618 -72,taxcalc/tests/test_calculator.py::test_calculator_mtr_when_PT_rates_differ,,passed,3007.4118510000008,,,,,,,,,,,,,,,,,,,,,,,,,,13.603149000033682 -73,taxcalc/tests/test_calculator.py::test_make_calculator_increment_years_first,,passed,2598.0418500000155,,,,,,,,,,,,,,,,,,,,,,,,,,38.79973900006917 -74,taxcalc/tests/test_calculator.py::test_ID_HC_vs_BS,,passed,5156.744659999987,,,,,,,,,,,,,,,,,,,,,,,,,,130.81614699998954 -75,taxcalc/tests/test_calculator.py::test_ID_StateLocal_HC_vs_CRT,,passed,4872.965366000017,,,,,,,,,,,,,,,,,,,,,,,,,,110.61965499999314 -76,taxcalc/tests/test_calculator.py::test_ID_RealEstate_HC_vs_CRT,,passed,4863.253312000012,,,,,,,,,,,,,,,,,,,,,,,,,,140.033162000037 -77,taxcalc/tests/test_calculator.py::test_calculator_using_nonstd_input,,passed,1895.146636999982,,,,,,,,,,,,,,,,,,,,,,,,,,114.54384799998252 -78,taxcalc/tests/test_calculator.py::test_bad_json_names,,passed,235.76800199998615,,,,,,,,,,,,,,,,,,,,,,,,,,100.24762699998746 -79,taxcalc/tests/test_calculator.py::test_json_assump_url,,passed,571.3219980000019,,,,,,,,,,,,,,,,,,,,,,,,,,375.75466899997423 -80,taxcalc/tests/test_calculator.py::test_read_bad_json_assump_file,,passed,0.30959599999391685,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0013570000021445594 -81,taxcalc/tests/test_calculator.py::test_json_doesnt_exist,,passed,0.22246399998948618,,,,,,,,,,,,,,,,,,,,,,,,,,0.0006679999842162943 -82,taxcalc/tests/test_calculator.py::test_calc_all,,passed,1778.3799190000025,,,,,,,,,,,,,,,,,,,,,,,,,,66.23974400000066 -83,taxcalc/tests/test_calculator.py::test_noreform_documentation,,passed,4231.495561000002,,,,,,,,,,,,,,,,,,,,,,,,,,124.670280000003 -84,taxcalc/tests/test_calculator.py::test_reform_documentation,,passed,6200.565699000009,,,,,,,,,,,,,,,,,,,,,,,,,,196.84385200000088 -85,taxcalc/tests/test_calculator.py::test_distribution_tables,,passed,3708.98110600001,,,,,,,,,,,,,,,,,,,,,,,,,,177.29183299996976 -86,taxcalc/tests/test_calculator.py::test_difference_table,,passed,3105.5597990000197,,,,,,,,,,,,,,,,,,,,,,,,,,94.14484900000298 -87,taxcalc/tests/test_calculator.py::test_diagnostic_table,,passed,2626.943239999974,,,,,,,,,,,,,,,,,,,,,,,,,,140.61455399993793 -88,taxcalc/tests/test_calculator.py::test_mtr_graph,,passed,2281.4407019999976,,,,,,,,,,,,,,,,,,,,,,,,,,84.3164440000237 -89,taxcalc/tests/test_calculator.py::test_atr_graph,,passed,2316.048665000011,,,,,,,,,,,,,,,,,,,,,,,,,,101.79037700001481 -90,taxcalc/tests/test_calculator.py::test_privacy_of_embedded_objects,,passed,2176.654883999987,,,,,,,,,,,,,,,,,,,,,,,,,,88.4196719999577 -91,taxcalc/tests/test_calculator.py::test_n65,,passed,1970.275885999996,,,,,,,,,,,,,,,,,,,,,,,,,,42.60278099994275 -92,taxcalc/tests/test_calculator.py::test_ce_aftertax_income,,passed,3169.2881719999946,,,,,,,,,,,,,,,,,,,,,,,,,,36.496281999973235 -93,taxcalc/tests/test_calculator.py::test_qbid_calculation,,passed,1601.631287999993,,,,,,,,,,,,,,,,,,,,,,,,,,-0.07225799996012938 -94,taxcalc/tests/test_calculator.py::test_qbid_limit_switch,,passed,3878.6970660000006,,,,,,,,,,,,,,,,,,,,,,,,,,-27.86136700004272 -95,taxcalc/tests/test_calculator.py::test_calc_all_benefits_amounts,,passed,5262.2502290000175,,,,,,,,,,,,,,,,,,,,,,,,,,123.90154800004893 -96,taxcalc/tests/test_calculator.py::test_cg_top_rate,,passed,4613.61839700001,,,,,,,,,,,,,,,,,,,,,,,,,,8.397916000006262 -97,taxcalc/tests/test_compatible_data.py::test_compatible_data_presence,,passed,0.3484780000064802,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04920699998933736 -98,taxcalc/tests/test_consumption.py::test_year_consistency,,passed,0.1432359999853361,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0037300000030882074 -99,taxcalc/tests/test_consumption.py::test_validity_of_consumption_vars_set,,passed,0.6931000000065524,,,,,,,,,,,,,,,,,,,,,,,,,,-0.007043000010753531 -100,taxcalc/tests/test_consumption.py::test_update_consumption,,passed,66.32821300001979,,,,,,,,,,,,,,,,,,,,,,,,,,1.2351530000387356 -101,taxcalc/tests/test_consumption.py::test_incorrect_update_consumption,,passed,400.47709999998915,,,,,,,,,,,,,,,,,,,,,,,,,,26.32754799998338 -102,taxcalc/tests/test_consumption.py::test_future_update_consumption,,passed,90.74923600002194,,,,,,,,,,,,,,,,,,,,,,,,,,-0.7968609999693399 -103,taxcalc/tests/test_consumption.py::test_consumption_default_data,,passed,29.244755999968675,,,,,,,,,,,,,,,,,,,,,,,,,,0.9480849999476959 -104,taxcalc/tests/test_consumption.py::test_consumption_response,,passed,4134.711589000006,,,,,,,,,,,,,,,,,,,,,,,,,,44.38625000000275 -105,taxcalc/tests/test_cpscsv.py::test_agg,,passed,10489.651927000012,,,,,,,,,,,,,,,,,,,,,,,,,,117.77936200002114 -106,taxcalc/tests/test_cpscsv.py::test_cps_availability,,passed,641.1905019999722,,,,,,,,,,,,,,,,,,,,,,,,,,-18.09997100002647 -107,taxcalc/tests/test_data.py::test_recs_class,,passed,377.5449519999938,,,,,,,,,,,,,,,,,,,,,,,,,,-11.368502000038973 -108,taxcalc/tests/test_decorators.py::test_create_apply_function_string,,passed,0.14489900001990463,,,,,,,,,,,,,,,,,,,,,,,,,,-0.02567099994621458 -109,taxcalc/tests/test_decorators.py::test_create_apply_function_string_with_params,,passed,0.1178090000166776,,,,,,,,,,,,,,,,,,,,,,,,,,0.0037959999872328037 -110,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string_mult_outputs,,passed,0.11861100000487568,,,,,,,,,,,,,,,,,,,,,,,,,,0.0044469999807006805 -111,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string,,passed,0.11208800003714714,,,,,,,,,,,,,,,,,,,,,,,,,,0.0021120000610608397 -112,taxcalc/tests/test_decorators.py::test_make_apply_function,,passed,0.5930740000508194,,,,,,,,,,,,,,,,,,,,,,,,,,-0.02686799996354239 -113,taxcalc/tests/test_decorators.py::test_magic_apply_jit,,passed,398.5197670000389,,,,,,,,,,,,,,,,,,,,,,,,,,-2.2306789999788634 -114,taxcalc/tests/test_decorators.py::test_magic_apply_jit_swap,,passed,0.6584950000387835,,,,,,,,,,,,,,,,,,,,,,,,,,-0.05196699999032717 -115,taxcalc/tests/test_decorators.py::test_magic_iterate_jit,,passed,138.52537100001427,,,,,,,,,,,,,,,,,,,,,,,,,,0.31097099997623445 -116,taxcalc/tests/test_decorators.py::test_faux_function_iterate_jit,,passed,107.66371299996536,,,,,,,,,,,,,,,,,,,,,,,,,,-0.7863800000222909 -117,taxcalc/tests/test_decorators.py::test_ret_everything_iterate_jit,,passed,172.33771600001546,,,,,,,,,,,,,,,,,,,,,,,,,,-0.6588759999885951 -118,taxcalc/tests/test_decorators.py::test_function_takes_kwarg,,passed,136.8336139999542,,,,,,,,,,,,,,,,,,,,,,,,,,3.118579999920712 -119,taxcalc/tests/test_decorators.py::test_function_no_parameters_listed,,passed,140.2348109999707,,,,,,,,,,,,,,,,,,,,,,,,,,5.429393999918375 -120,taxcalc/tests/test_decorators.py::test_function_parameters_optional,,passed,140.51609499995266,,,,,,,,,,,,,,,,,,,,,,,,,,3.1442819999938365 -121,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_no_return,,passed,5.479623999974592,,,,,,,,,,,,,,,,,,,,,,,,,,-0.014366000016252656 -122,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_unknown_return_argument,,passed,4.045525999970323,,,,,,,,,,,,,,,,,,,,,,,,,,-0.13284999999996217 -123,taxcalc/tests/test_decorators.py::test_force_no_jit,,passed,5.3040689999761526,,,,,,,,,,,,,,,,,,,,,,,,,,0.04324599996152756 -124,taxcalc/tests/test_growdiff.py::test_year_consistency,,passed,0.1594469999872672,,,,,,,,,,,,,,,,,,,,,,,,,,0.024093999968499702 -125,taxcalc/tests/test_growdiff.py::test_update_and_apply_growdiff,,passed,405.8254010000155,,,,,,,,,,,,,,,,,,,,,,,,,,-1.6555289999473644 -126,taxcalc/tests/test_growdiff.py::test_has_any_response,,passed,104.56608999999162,,,,,,,,,,,,,,,,,,,,,,,,,,2.655304999962013 -127,taxcalc/tests/test_growdiff.py::test_description_punctuation,,passed,0.3049680000231092,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004591999982039796 -128,taxcalc/tests/test_growdiff.py::test_boolean_value_infomation,,passed,0.27267699999811157,,,,,,,,,,,,,,,,,,,,,,,,,,0.015546000042832075 -129,taxcalc/tests/test_growfactors.py::test_improper_usage,,passed,3.4920780000220475,,,,,,,,,,,,,,,,,,,,,,,,,,0.4570130000729473 -130,taxcalc/tests/test_growfactors.py::test_update_after_use,,passed,2.0367590000205382,,,,,,,,,,,,,,,,,,,,,,,,,,0.1553349999880993 -131,taxcalc/tests/test_growfactors.py::test_proper_usage,,passed,2.0451240000056714,,,,,,,,,,,,,,,,,,,,,,,,,,0.2277199999980437 -132,taxcalc/tests/test_growfactors.py::test_growfactors_csv_values,,passed,2.206816000011713,,,,,,,,,,,,,,,,,,,,,,,,,,0.0210119999906051 -133,taxcalc/tests/test_parameters.py::test_params_class[revision0-],,passed,9.376695000014479,,,{},,,,,,,,,,,,,,,,,,,,,,,0.08494200000086494 -134,taxcalc/tests/test_parameters.py::test_params_class[revision1-error],,passed,10.973666000040794,,,{'real_param': {2004: 1.9}},error,,,,,,,,,,,,,,,,,,,,,,-0.46496799996020854 -135,taxcalc/tests/test_parameters.py::test_params_class[revision2-raise],,passed,12.477564000050734,,,{'int_param': {2004: [3.6]}},raise,,,,,,,,,,,,,,,,,,,,,,0.2795070000729538 -136,taxcalc/tests/test_parameters.py::test_params_class[revision3-raise],,passed,10.57526400001052,,,{'int_param': {2004: [3]}},raise,,,,,,,,,,,,,,,,,,,,,,0.28022200001487185 -137,taxcalc/tests/test_parameters.py::test_params_class[revision4-noerror],,passed,14.885493999997834,,,"{'label_param': {2004: [1, 2]}}",noerror,,,,,,,,,,,,,,,,,,,,,,0.2692079999633279 -138,taxcalc/tests/test_parameters.py::test_params_class[revision5-raise],,passed,8.201539000026514,,,"{'label_param': {2004: [[1, 2]]}}",raise,,,,,,,,,,,,,,,,,,,,,,0.39624000004323534 -139,taxcalc/tests/test_parameters.py::test_params_class[revision6-raise],,passed,9.497770999985278,,,"{'label_param': {2004: [1, 2, 3]}}",raise,,,,,,,,,,,,,,,,,,,,,,0.5370879999873068 -140,taxcalc/tests/test_parameters.py::test_params_class[revision7-raise],,passed,10.963657999980114,,,{'bool_param': {2004: [4.9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.5501729999650706 -141,taxcalc/tests/test_parameters.py::test_params_class[revision8-raise],,passed,10.589551999999003,,,{'str_param': {2004: [9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.27598599996281337 -142,taxcalc/tests/test_parameters.py::test_params_class[revision9-noerror],,passed,12.414357000011478,,,{'str_param': {2004: 'nonlinear'}},noerror,,,,,,,,,,,,,,,,,,,,,,0.14962500000592627 -143,taxcalc/tests/test_parameters.py::test_params_class[revision10-error],,passed,10.382736999986264,,,{'str_param': {2004: 'unknownvalue'}},error,,,,,,,,,,,,,,,,,,,,,,0.26450600000771374 -144,taxcalc/tests/test_parameters.py::test_params_class[revision11-raise],,passed,10.91504700002588,,,{'str_param': {2004: ['nonlinear']}},raise,,,,,,,,,,,,,,,,,,,,,,0.5289040000207024 -145,taxcalc/tests/test_parameters.py::test_params_class[revision12-raise],,passed,10.775918000035745,,,{'real_param': {2004: 'linear'}},raise,,,,,,,,,,,,,,,,,,,,,,0.47628600003690913 -146,taxcalc/tests/test_parameters.py::test_params_class[revision13-raise],,passed,13.135908999970525,,,"{'real_param': {2004: [0.2, 0.3]}}",raise,,,,,,,,,,,,,,,,,,,,,,1.4168999999810694 -147,taxcalc/tests/test_parameters.py::test_params_class[revision14-raise],,passed,11.742886999968505,,,{'real_param-indexed': {2004: True}},raise,,,,,,,,,,,,,,,,,,,,,,0.5443929999273696 -148,taxcalc/tests/test_parameters.py::test_params_class[revision15-raise],,passed,8.178616000009242,,,{'unknown_param-indexed': {2004: False}},raise,,,,,,,,,,,,,,,,,,,,,,0.437066000017694 -149,taxcalc/tests/test_parameters.py::test_json_file_contents[consumption.json],,passed,178.4727509999584,,,,,consumption.json,,,,,,,,,,,,,,,,,,,,,2.0651349999525337 -150,taxcalc/tests/test_parameters.py::test_json_file_contents[policy_current_law.json],,passed,108637.030482,,,,,policy_current_law.json,,,,,,,,,,,,,,,,,,,,,4965.389421 -151,taxcalc/tests/test_parameters.py::test_json_file_contents[growdiff.json],,passed,689.0932929999849,,,,,growdiff.json,,,,,,,,,,,,,,,,,,,,,5.611541999940073 -152,taxcalc/tests/test_parameters.py::test_parameters_mentioned[consumption.json-consumption.py],,passed,0.2577489999566751,,,,,,consumption.json,consumption.py,,,,,,,,,,,,,,,,,,,-0.012037000033160383 -153,taxcalc/tests/test_parameters.py::test_parameters_mentioned[policy_current_law.json-calcfunctions.py],,passed,9.058121000009578,,,,,,policy_current_law.json,calcfunctions.py,,,,,,,,,,,,,,,,,,,0.1777040000092711 -154,taxcalc/tests/test_parameters.py::test_parameters_mentioned[growdiff.json-growdiff.py],,passed,0.26356000000760105,,,,,,growdiff.json,growdiff.py,,,,,,,,,,,,,,,,,,,-0.0005050000027040369 -155,taxcalc/tests/test_parameters.py::test_expand_xd_errors,,passed,4.957391999994343,,,,,,,,,,,,,,,,,,,,,,,,,,0.009967999972104735 -156,taxcalc/tests/test_parameters.py::test_expand_empty,,passed,5.1842740000438425,,,,,,,,,,,,,,,,,,,,,,,,,,-0.08847999998806699 -157,taxcalc/tests/test_parameters.py::test_expand_1d_scalar,,passed,15.00863999996227,,,,,,,,,,,,,,,,,,,,,,,,,,-0.14737100002548686 -158,taxcalc/tests/test_parameters.py::test_expand_2d_short_array,,passed,5.872575000012148,,,,,,,,,,,,,,,,,,,,,,,,,,0.028428999996776838 -159,taxcalc/tests/test_parameters.py::test_expand_2d_variable_rates,,passed,7.164708000004794,,,,,,,,,,,,,,,,,,,,,,,,,,0.036205000014888356 -160,taxcalc/tests/test_parameters.py::test_expand_2d_already_filled,,passed,8.965148000015688,,,,,,,,,,,,,,,,,,,,,,,,,,0.11237300003585915 -161,taxcalc/tests/test_parameters.py::test_expand_2d_partial_expand,,passed,9.399664999989454,,,,,,,,,,,,,,,,,,,,,,,,,,0.12830600002189385 -162,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n]",,passed,0.2996179999854576,,,,,,,," +0,taxcalc/tests/test_4package.py::test_for_consistency,,passed,3.8811480000049414,,,,,,,,,,,,,,,,,,,,,,,,,,0.02779999999802385 +1,taxcalc/tests/test_benefits.py::test_benefits,,passed,3902.5216729999956,,,,,,,,,,,,,,,,,,,,,,,,,,-226.010696000003 +2,taxcalc/tests/test_calcfunctions.py::test_calc_and_used_vars,,passed,35.49012400000606,,,,,,,,,,,,,,,,,,,,,,,,,,-2.5312549999796374 +3,taxcalc/tests/test_calcfunctions.py::test_function_args_usage,,passed,1.8604269999968892,,,,,,,,,,,,,,,,,,,,,,,,,,-0.028447000005371592 +4,taxcalc/tests/test_calcfunctions.py::test_DependentCare,,passed,0.23908800000072006,,,,,,,,,,,,,,,,,,,,,,,,,,-0.018871999998282263 +5,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, young]",,passed,0.1882529999761573,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 45, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, False, 0)",12000,,,,,,,,,,,,,,,,,,,,,,,,-0.0011590000497108122 +6,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity]",,passed,0.17419599998902413,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 66, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 1, 1, 2, 200, True, 300)",15800,,,,,,,,,,,,,,,,,,,,,,,,-0.002112000004217379 +7,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity, over limit]",,passed,0.17412599999033773,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 66, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 400, True, 300)",13500,,,,,,,,,,,,,,,,,,,,,,,,-0.0015310000094359566 +8,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, two old]",,passed,0.17671099999461148,"(0, 1200, [6000, 12000, 6000, 12000, 12000], 66, 67, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, True, 0)",14400,,,,,,,,,,,,,,,,,,,,,,,,0.003728999985241982 +9,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 1],,passed,0.1753789999838773,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.0012390000279083047 +10,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 2],,passed,0.17124999999396096,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.013663000004271453 +11,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single]",,passed,0.17015900002093076,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 1, 0, 0, 2, 0, True, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.009775999956218528 +12,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Marrid, Single, dep, under earn]",,passed,0.17213300000662457,"(1, 200, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1000,,,,,,,,,,,,,,,,,,,,,,,,-0.0026120000029550283 +13,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single, dep, over earn]",,passed,0.17036999997799285,"(1, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1350,,,,,,,,,,,,,,,,,,,,,,,,-0.011568000047645854 +14,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 1],,passed,0.24134299999900577,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(0, 4065, 4065, 0, 0, 3252, 25000, 10000, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.012779000002183238 +15,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 2],,passed,0.21805899999094436,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 6146.25, 4065, 2081.25, 1040.625, 4917, 38959.375, 21167.5, 17791.875, 21380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.006028000001379041 +16,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 3],,passed,0.21671599998285274,"(120000, 150000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 22202.25, 21453, 749.25, 374.625, 16773, 179625.375, 161833.5, 17791.875, 161380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.025955000012345353 +17,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 4],,passed,0.21471200000178214,"(120000, 500000, 15000, 100, 2000, 0.12, 0.03, 0, 400000, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 46067.85, 31953, 749.25, 374.625, 30138.6, 529625.375, 511833.5, 17791.875, 511380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.00988600001505796 +18,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 5],,passed,0.21365099999570702,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 300, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(300, 4065, 4065, 0, 0, 3285.3, 25300, 10279.1875, 15000, 10382, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.010345999982064286 +19,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 6],,passed,0.2142410000089967,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, -40000, 0, None, None, None, None, None, None, None, None, None, None, None)","(-40000, 4065, 4065, 0, 0, 3252, 0, 0, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.021216999982698298 +20,taxcalc/tests/test_calcfunctions.py::test_AfterTaxIncome,,passed,0.1760810000064339,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0010290000034273994 +21,taxcalc/tests/test_calcfunctions.py::test_ExpandIncome,,passed,0.16597100000126375,,,,,,,,,,,,,,,,,,,,,,,,,,-0.025074999996377245 +22,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple0-expected_value0],,passed,0.173616000012089,"(1, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.008963999988509302 +23,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple1-expected_value1],,passed,0.1630759999784459,"(0, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.007500999998910601 +24,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple2-expected_value2],,passed,0.1626140000041687,"(1, 1, 2, 100, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.007253000006812699 +25,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple3-expected_value3],,passed,0.16593099999795413,"(0, 2, 1, 100, 200, 1000)","(200, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.008193000013534374 +26,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple4-expected_value4],,passed,0.1650789999985136,"(0, 1, 3, 100, 300, 1000)","(300, 1300)",,,,,,,,,,,,,,,,,,,,,,,,-0.019133999984433103 +27,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple0-expected_value0],,passed,0.17416699998307195,"(1100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,-0.013993000010259465 +28,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple1-expected_value1],,passed,0.1657800000032239,"(2100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,-0.010126999995918595 +29,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple2-expected_value2],,passed,0.16357699999502984,"(1100000, 1, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.004926999991994252 +30,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple3-expected_value3],,passed,0.17296400000077483,"(1100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,0.002808000004961342 +31,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple4-expected_value4],,passed,0.1682060000121055,"(2100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,-0.004434999993918581 +32,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple5-expected_value5],,passed,0.16471799997930248,"(1100000, 2, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.003405000001066527 +33,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple6-expected_value6],,passed,0.16741400000341855,"(510000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(1003, 1203, 3003, 1303)",,,,,,,,,,,,,,,,,,,,,,,,-0.00395500001104665 +34,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple7-expected_value7],,passed,0.16784400000346977,"(1100000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(109150, 109350, 111150, 109450)",,,,,,,,,,,,,,,,,,,,,,,,-0.011119000021153624 +35,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple8-expected_value8],,passed,0.16435800000635936,"(510000, 3, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.001099999991538425 +36,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple0-expected_value0],,passed,0.1696869999818773,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1400)",,,,,,,,,,,,,,,,,,,,,,,,0.001313999973717811 +37,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple1-expected_value1],,passed,0.16700300000138668,"(1, 76000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1120)",,,,,,,,,,,,,,,,,,,,,,,,-0.004625999991958424 +38,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple2-expected_value2],,passed,0.18278199999599565,"(1, 90000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.015837000006513252 +39,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple3-expected_value3],,passed,0.16737400000010894,"(2, 50000, 3, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 4200)",,,,,,,,,,,,,,,,,,,,,,,,-0.0027419999923949667 +40,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple4-expected_value4],,passed,0.16779499998165193,"(2, 155000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,-0.000167000024475783 +41,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple5-expected_value5],,passed,0.16900699998245727,"(2, 170000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0006090000113090355 +42,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple6-expected_value6],,passed,0.16646200000991485,"(4, 50000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,-9.69999973676472e-05 +43,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple7-expected_value7],,passed,0.16646199998149314,"(4, 117000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 560)",,,,,,,,,,,,,,,,,,,,,,,,-0.0014010000199959627 +44,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple8-expected_value8],,passed,0.16833600000154547,"(4, 130000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.00027300001192998025 +45,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple9-expected_value9],,passed,0.16479900000376801,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.0032629999964228773 +46,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple10-expected_value10],,passed,0.16566100001114137,"(1, 97000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 600)",,,,,,,,,,,,,,,,,,,,,,,,-0.0024719999771605217 +47,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple11-expected_value11],,passed,0.1662020000026132,"(1, 150000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.024963999976534895 +48,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple12-expected_value12],,passed,0.16497900000445043,"(2, 50000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,-0.0013709999961974695 +49,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple13-expected_value13],,passed,0.1664819999973588,"(2, 160000, 5, 3, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,-0.0004679999960899017 +50,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple14-expected_value14],,passed,0.1675340000133474,"(2, 300000, 2, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.002802999972573106 +51,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple15-expected_value15],,passed,0.166762999981529,"(4, 50000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 2200)",,,,,,,,,,,,,,,,,,,,,,,,-0.00015800003438920518 +52,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple16-expected_value16],,passed,0.1666920000218397,"(4, 130000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 825)",,,,,,,,,,,,,,,,,,,,,,,,-0.0024229999837643845 +53,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple17-expected_value17],,passed,0.17848500002060064,"(4, 170000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.013028000040549242 +54,taxcalc/tests/test_calcfunctions.py::test_EITCamount[test_tuple0-6660],,passed,253.01942699999813,"(0.0, 0.45, 19330, 6660, 19330, 19330, 0.2106)",6660,,,,,,,,,,,,,,,,,,,,,,,,-14.325984999999264 +55,taxcalc/tests/test_calcfunctions.py::test_EITC[test_tuple0-6660],,passed,0.1974600000096416,"(4, 0, 3, 19330, 0, 0, 0, 0, 0, 0, 0, 0, 19330, 19330, 0, [8790, 19330, 19330, 19330], 25, 64, [5890, 5890, 5890, 5890], [0.0765, 0.34, 0.4, 0.45], [538, 3584, 5920, 6660], [0.0765, 0.1598, 0.2106, 0.2106], 0.0, 3650, 9e+99, False, False, 0)",6660,,,,,,,,,,,,,,,,,,,,,,,,-0.0033929999858628157 +56,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple0-expected_value0],,passed,0.1846959999909359,"(527860.66, 0.0, 37000.0, 0.0, 2, 352000.0, 0.0, 0.0, 0.0, 5000.0, 7000.0, 0, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(490860.66, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0020920000167733988 +57,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple1-expected_value1],,passed,0.17378500001541397,"(337675.1, 0.0, 49000.0, 0.0, 2, 23000.0, 0.0, 0.0, 0.0, 8000.0, 4000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(284075.1, 4600)",,,,,,,,,,,,,,,,,,,,,,,,-0.0010400000007848298 +58,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple2-expected_value2],,passed,0.1763999999866428,"(603700.0, 24400.0, 0.0, 0.0, 2, 0.0, 11000.0, 0.0, 0.0, 3000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(579300.0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0041899999700945045 +59,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple3-expected_value3],,passed,0.17680099998074184,"(90700.0, 0.0, 32000.0, 0.0, 4, 0.0, 6000.0, 0.0, 0.0, 9000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(57500.0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.006112999983543033 +60,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2021[test_tuple0-expected_value0],,passed,0.17683199999396493,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, True, True, 0, 0, 0)","(0, 1000, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0034830000004148765 +61,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2022[test_tuple0-expected_value0],,passed,0.17236299999012772,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, False, False, 0, 0, 0)","(0, 0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.0075220000042008905 +62,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2021[test_tuple0-0],,passed,0.20779899998046858,"(1000, 0, 600, [75000, 150000, 75000, 125000, 150000], 0.05, True, True, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.030598999984476988 +63,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2022[test_tuple0-0],,passed,0.17171100000723527,"(0, 0, 0, [0, 0, 0, 0, 0], 0, False, False, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.003624999976636817 +64,taxcalc/tests/test_calcfunctions.py::test_AGI[test_tuple0-expected_value0],,passed,0.2221569999960593,"(29530, 0, 0, 0, 4, 1, 0, False, 0, 0, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.02, False, 10200, [150000, 150000, 150000, 150000, 150000], 10200, 0, 0, 0)","(19330, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.008202000003620896 +65,taxcalc/tests/test_calculator.py::test_make_calculator,,passed,2431.88115800001,,,,,,,,,,,,,,,,,,,,,,,,,,-12.023395999990043 +66,taxcalc/tests/test_calculator.py::test_make_calculator_deepcopy,,passed,2162.8505719999966,,,,,,,,,,,,,,,,,,,,,,,,,,-38.54708899999059 +67,taxcalc/tests/test_calculator.py::test_make_calculator_with_policy_reform,,passed,2551.66523699998,,,,,,,,,,,,,,,,,,,,,,,,,,-31.372515000015937 +68,taxcalc/tests/test_calculator.py::test_make_calculator_with_multiyear_reform,,passed,2638.3228699999963,,,,,,,,,,,,,,,,,,,,,,,,,,-32.88125900002069 +69,taxcalc/tests/test_calculator.py::test_calculator_advance_to_year,,passed,2009.9638100000163,,,,,,,,,,,,,,,,,,,,,,,,,,-54.299982999992835 +70,taxcalc/tests/test_calculator.py::test_make_calculator_raises_on_no_policy,,passed,368.49725700000135,,,,,,,,,,,,,,,,,,,,,,,,,,-6.756412000015644 +71,taxcalc/tests/test_calculator.py::test_calculator_mtr,,passed,17371.634511000026,,,,,,,,,,,,,,,,,,,,,,,,,,-200.9883229999905 +72,taxcalc/tests/test_calculator.py::test_calculator_mtr_when_PT_rates_differ,,passed,3023.665176999998,,,,,,,,,,,,,,,,,,,,,,,,,,16.253325999997287 +73,taxcalc/tests/test_calculator.py::test_make_calculator_increment_years_first,,passed,2599.3032679999997,,,,,,,,,,,,,,,,,,,,,,,,,,1.2614179999841326 +74,taxcalc/tests/test_calculator.py::test_ID_HC_vs_BS,,passed,5042.125366999982,,,,,,,,,,,,,,,,,,,,,,,,,,-114.61929300000429 +75,taxcalc/tests/test_calculator.py::test_ID_StateLocal_HC_vs_CRT,,passed,4751.953189000005,,,,,,,,,,,,,,,,,,,,,,,,,,-121.01217700001143 +76,taxcalc/tests/test_calculator.py::test_ID_RealEstate_HC_vs_CRT,,passed,4815.828667000005,,,,,,,,,,,,,,,,,,,,,,,,,,-47.42464500000642 +77,taxcalc/tests/test_calculator.py::test_calculator_using_nonstd_input,,passed,1790.0788759999955,,,,,,,,,,,,,,,,,,,,,,,,,,-105.0677609999866 +78,taxcalc/tests/test_calculator.py::test_bad_json_names,,passed,119.85177099998623,,,,,,,,,,,,,,,,,,,,,,,,,,-115.9162309999999 +79,taxcalc/tests/test_calculator.py::test_json_assump_url,,passed,381.80683599998133,,,,,,,,,,,,,,,,,,,,,,,,,,-189.5151620000206 +80,taxcalc/tests/test_calculator.py::test_read_bad_json_assump_file,,passed,0.3017450000015742,,,,,,,,,,,,,,,,,,,,,,,,,,-0.007850999992342567 +81,taxcalc/tests/test_calculator.py::test_json_doesnt_exist,,passed,0.2353109999830849,,,,,,,,,,,,,,,,,,,,,,,,,,0.012846999993598812 +82,taxcalc/tests/test_calculator.py::test_calc_all,,passed,1680.0860580000005,,,,,,,,,,,,,,,,,,,,,,,,,,-98.29386100000193 +83,taxcalc/tests/test_calculator.py::test_noreform_documentation,,passed,4090.9036159999914,,,,,,,,,,,,,,,,,,,,,,,,,,-140.59194500001104 +84,taxcalc/tests/test_calculator.py::test_reform_documentation,,passed,5927.51475,,,,,,,,,,,,,,,,,,,,,,,,,,-273.0509490000086 +85,taxcalc/tests/test_calculator.py::test_distribution_tables,,passed,3566.802402999997,,,,,,,,,,,,,,,,,,,,,,,,,,-142.17870300001323 +86,taxcalc/tests/test_calculator.py::test_difference_table,,passed,3026.4086090000146,,,,,,,,,,,,,,,,,,,,,,,,,,-79.1511900000055 +87,taxcalc/tests/test_calculator.py::test_diagnostic_table,,passed,2453.4132919999934,,,,,,,,,,,,,,,,,,,,,,,,,,-173.52994799998078 +88,taxcalc/tests/test_calculator.py::test_mtr_graph,,passed,2228.712229999985,,,,,,,,,,,,,,,,,,,,,,,,,,-52.728472000012516 +89,taxcalc/tests/test_calculator.py::test_atr_graph,,passed,2203.9183409999905,,,,,,,,,,,,,,,,,,,,,,,,,,-112.13032400002066 +90,taxcalc/tests/test_calculator.py::test_privacy_of_embedded_objects,,passed,2129.4501379999815,,,,,,,,,,,,,,,,,,,,,,,,,,-47.20474600000534 +91,taxcalc/tests/test_calculator.py::test_n65,,passed,1925.9815460000027,,,,,,,,,,,,,,,,,,,,,,,,,,-44.294339999993326 +92,taxcalc/tests/test_calculator.py::test_ce_aftertax_income,,passed,3076.8135459999826,,,,,,,,,,,,,,,,,,,,,,,,,,-92.474626000012 +93,taxcalc/tests/test_calculator.py::test_qbid_calculation,,passed,1572.8496510000127,,,,,,,,,,,,,,,,,,,,,,,,,,-28.781636999980265 +94,taxcalc/tests/test_calculator.py::test_qbid_limit_switch,,passed,3792.519209999995,,,,,,,,,,,,,,,,,,,,,,,,,,-86.1778560000057 +95,taxcalc/tests/test_calculator.py::test_calc_all_benefits_amounts,,passed,5149.175173000003,,,,,,,,,,,,,,,,,,,,,,,,,,-113.07505600001423 +96,taxcalc/tests/test_calculator.py::test_cg_top_rate,,passed,4582.591059000009,,,,,,,,,,,,,,,,,,,,,,,,,,-31.027338000000782 +97,taxcalc/tests/test_compatible_data.py::test_compatible_data_presence,,passed,0.3657849999854079,,,,,,,,,,,,,,,,,,,,,,,,,,0.017306999978927706 +98,taxcalc/tests/test_consumption.py::test_year_consistency,,passed,0.11655899999141184,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026676999993924255 +99,taxcalc/tests/test_consumption.py::test_validity_of_consumption_vars_set,,passed,0.7362790000229325,,,,,,,,,,,,,,,,,,,,,,,,,,0.04317900001638009 +100,taxcalc/tests/test_consumption.py::test_update_consumption,,passed,65.68682799999692,,,,,,,,,,,,,,,,,,,,,,,,,,-0.6413850000228649 +101,taxcalc/tests/test_consumption.py::test_incorrect_update_consumption,,passed,380.64344999997957,,,,,,,,,,,,,,,,,,,,,,,,,,-19.83365000000964 +102,taxcalc/tests/test_consumption.py::test_future_update_consumption,,passed,87.73738799999364,,,,,,,,,,,,,,,,,,,,,,,,,,-3.0118480000282943 +103,taxcalc/tests/test_consumption.py::test_consumption_default_data,,passed,28.014226000010467,,,,,,,,,,,,,,,,,,,,,,,,,,-1.2305299999582076 +104,taxcalc/tests/test_consumption.py::test_consumption_response,,passed,4038.9258559999917,,,,,,,,,,,,,,,,,,,,,,,,,,-95.78573300001426 +105,taxcalc/tests/test_cpscsv.py::test_agg,,passed,10159.02041000001,,,,,,,,,,,,,,,,,,,,,,,,,,-330.6315170000016 +106,taxcalc/tests/test_cpscsv.py::test_cps_availability,,passed,607.4803569999858,,,,,,,,,,,,,,,,,,,,,,,,,,-33.71014499998637 +107,taxcalc/tests/test_data.py::test_recs_class,,passed,393.6930460000099,,,,,,,,,,,,,,,,,,,,,,,,,,16.148094000016044 +108,taxcalc/tests/test_decorators.py::test_create_apply_function_string,,passed,0.1426069999865831,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0022920000333215007 +109,taxcalc/tests/test_decorators.py::test_create_apply_function_string_with_params,,passed,0.11980499999708627,,,,,,,,,,,,,,,,,,,,,,,,,,0.001995999980408669 +110,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string_mult_outputs,,passed,0.15440899997543056,,,,,,,,,,,,,,,,,,,,,,,,,,0.03579799997055497 +111,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string,,passed,0.11414400000830938,,,,,,,,,,,,,,,,,,,,,,,,,,0.0020559999711622784 +112,taxcalc/tests/test_decorators.py::test_make_apply_function,,passed,0.5888019999815697,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004272000069249771 +113,taxcalc/tests/test_decorators.py::test_magic_apply_jit,,passed,375.41129799998885,,,,,,,,,,,,,,,,,,,,,,,,,,-23.108469000050036 +114,taxcalc/tests/test_decorators.py::test_magic_apply_jit_swap,,passed,0.6583030000228973,,,,,,,,,,,,,,,,,,,,,,,,,,-0.00019200001588615123 +115,taxcalc/tests/test_decorators.py::test_magic_iterate_jit,,passed,134.81882900001096,,,,,,,,,,,,,,,,,,,,,,,,,,-3.70654200000331 +116,taxcalc/tests/test_decorators.py::test_faux_function_iterate_jit,,passed,105.82468500001596,,,,,,,,,,,,,,,,,,,,,,,,,,-1.8390279999493941 +117,taxcalc/tests/test_decorators.py::test_ret_everything_iterate_jit,,passed,170.78096100001972,,,,,,,,,,,,,,,,,,,,,,,,,,-1.5567549999957464 +118,taxcalc/tests/test_decorators.py::test_function_takes_kwarg,,passed,132.28151900000285,,,,,,,,,,,,,,,,,,,,,,,,,,-4.5520949999513505 +119,taxcalc/tests/test_decorators.py::test_function_no_parameters_listed,,passed,133.38796100001105,,,,,,,,,,,,,,,,,,,,,,,,,,-6.846849999959659 +120,taxcalc/tests/test_decorators.py::test_function_parameters_optional,,passed,138.09759800000165,,,,,,,,,,,,,,,,,,,,,,,,,,-2.418496999951003 +121,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_no_return,,passed,5.1067210000042,,,,,,,,,,,,,,,,,,,,,,,,,,-0.37290299997039256 +122,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_unknown_return_argument,,passed,3.813210000004119,,,,,,,,,,,,,,,,,,,,,,,,,,-0.2323159999662039 +123,taxcalc/tests/test_decorators.py::test_force_no_jit,,passed,4.667578999999478,,,,,,,,,,,,,,,,,,,,,,,,,,-0.6364899999766749 +124,taxcalc/tests/test_growdiff.py::test_year_consistency,,passed,0.11663899999803107,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04280799998923612 +125,taxcalc/tests/test_growdiff.py::test_update_and_apply_growdiff,,passed,401.8850729999883,,,,,,,,,,,,,,,,,,,,,,,,,,-3.9403280000271934 +126,taxcalc/tests/test_growdiff.py::test_has_any_response,,passed,101.43198000000098,,,,,,,,,,,,,,,,,,,,,,,,,,-3.134109999990642 +127,taxcalc/tests/test_growdiff.py::test_description_punctuation,,passed,0.27534500000570006,,,,,,,,,,,,,,,,,,,,,,,,,,-0.02962300001740914 +128,taxcalc/tests/test_growdiff.py::test_boolean_value_infomation,,passed,0.25553899999408713,,,,,,,,,,,,,,,,,,,,,,,,,,-0.01713800000402438 +129,taxcalc/tests/test_growfactors.py::test_improper_usage,,passed,2.8915339999855405,,,,,,,,,,,,,,,,,,,,,,,,,,-0.600544000036507 +130,taxcalc/tests/test_growfactors.py::test_update_after_use,,passed,1.922489000008909,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11427000001162924 +131,taxcalc/tests/test_growfactors.py::test_proper_usage,,passed,1.864039999986744,,,,,,,,,,,,,,,,,,,,,,,,,,-0.18108400001892733 +132,taxcalc/tests/test_growfactors.py::test_growfactors_csv_values,,passed,2.1101100000180395,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09670599999367369 +133,taxcalc/tests/test_parameters.py::test_params_class[revision0-],,passed,8.920400999983258,,,{},,,,,,,,,,,,,,,,,,,,,,,-0.4562940000312228 +134,taxcalc/tests/test_parameters.py::test_params_class[revision1-error],,passed,10.409940999977607,,,{'real_param': {2004: 1.9}},error,,,,,,,,,,,,,,,,,,,,,,-0.5637250000631866 +135,taxcalc/tests/test_parameters.py::test_params_class[revision2-raise],,passed,11.44777300001465,,,{'int_param': {2004: [3.6]}},raise,,,,,,,,,,,,,,,,,,,,,,-1.0297910000360844 +136,taxcalc/tests/test_parameters.py::test_params_class[revision3-raise],,passed,10.334868999990476,,,{'int_param': {2004: [3]}},raise,,,,,,,,,,,,,,,,,,,,,,-0.24039500002004388 +137,taxcalc/tests/test_parameters.py::test_params_class[revision4-noerror],,passed,14.396755000007033,,,"{'label_param': {2004: [1, 2]}}",noerror,,,,,,,,,,,,,,,,,,,,,,-0.48873899999080095 +138,taxcalc/tests/test_parameters.py::test_params_class[revision5-raise],,passed,7.8077780000000985,,,"{'label_param': {2004: [[1, 2]]}}",raise,,,,,,,,,,,,,,,,,,,,,,-0.3937610000264158 +139,taxcalc/tests/test_parameters.py::test_params_class[revision6-raise],,passed,8.977948999984164,,,"{'label_param': {2004: [1, 2, 3]}}",raise,,,,,,,,,,,,,,,,,,,,,,-0.5198220000011133 +140,taxcalc/tests/test_parameters.py::test_params_class[revision7-raise],,passed,11.155086000002257,,,{'bool_param': {2004: [4.9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.19142800002214244 +141,taxcalc/tests/test_parameters.py::test_params_class[revision8-raise],,passed,11.030943999998044,,,{'str_param': {2004: [9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.44139199999903944 +142,taxcalc/tests/test_parameters.py::test_params_class[revision9-noerror],,passed,12.64686900000811,,,{'str_param': {2004: 'nonlinear'}},noerror,,,,,,,,,,,,,,,,,,,,,,0.23251199999663186 +143,taxcalc/tests/test_parameters.py::test_params_class[revision10-error],,passed,10.306405999983781,,,{'str_param': {2004: 'unknownvalue'}},error,,,,,,,,,,,,,,,,,,,,,,-0.07633100000248305 +144,taxcalc/tests/test_parameters.py::test_params_class[revision11-raise],,passed,10.543159999997442,,,{'str_param': {2004: ['nonlinear']}},raise,,,,,,,,,,,,,,,,,,,,,,-0.3718870000284369 +145,taxcalc/tests/test_parameters.py::test_params_class[revision12-raise],,passed,10.573456000003034,,,{'real_param': {2004: 'linear'}},raise,,,,,,,,,,,,,,,,,,,,,,-0.20246200003271042 +146,taxcalc/tests/test_parameters.py::test_params_class[revision13-raise],,passed,13.29994100001386,,,"{'real_param': {2004: [0.2, 0.3]}}",raise,,,,,,,,,,,,,,,,,,,,,,0.16403200004333485 +147,taxcalc/tests/test_parameters.py::test_params_class[revision14-raise],,passed,11.789552999999842,,,{'real_param-indexed': {2004: True}},raise,,,,,,,,,,,,,,,,,,,,,,0.04666600003133681 +148,taxcalc/tests/test_parameters.py::test_params_class[revision15-raise],,passed,7.852361999994173,,,{'unknown_param-indexed': {2004: False}},raise,,,,,,,,,,,,,,,,,,,,,,-0.3262540000150693 +149,taxcalc/tests/test_parameters.py::test_json_file_contents[consumption.json],,passed,175.2582739999866,,,,,consumption.json,,,,,,,,,,,,,,,,,,,,,-3.2144769999717937 +150,taxcalc/tests/test_parameters.py::test_json_file_contents[policy_current_law.json],,passed,104221.433214,,,,,policy_current_law.json,,,,,,,,,,,,,,,,,,,,,-4415.597267999998 +151,taxcalc/tests/test_parameters.py::test_json_file_contents[growdiff.json],,passed,691.7170009999722,,,,,growdiff.json,,,,,,,,,,,,,,,,,,,,,2.623707999987346 +152,taxcalc/tests/test_parameters.py::test_parameters_mentioned[consumption.json-consumption.py],,passed,0.266146999990724,,,,,,consumption.json,consumption.py,,,,,,,,,,,,,,,,,,,0.008398000034048891 +153,taxcalc/tests/test_parameters.py::test_parameters_mentioned[policy_current_law.json-calcfunctions.py],,passed,9.373040000014043,,,,,,policy_current_law.json,calcfunctions.py,,,,,,,,,,,,,,,,,,,0.3149190000044655 +154,taxcalc/tests/test_parameters.py::test_parameters_mentioned[growdiff.json-growdiff.py],,passed,0.3006820000450716,,,,,,growdiff.json,growdiff.py,,,,,,,,,,,,,,,,,,,0.037122000037470626 +155,taxcalc/tests/test_parameters.py::test_expand_xd_errors,,passed,5.0210939999715265,,,,,,,,,,,,,,,,,,,,,,,,,,0.06370199997718373 +156,taxcalc/tests/test_parameters.py::test_expand_empty,,passed,5.307639000022846,,,,,,,,,,,,,,,,,,,,,,,,,,0.12336499997900319 +157,taxcalc/tests/test_parameters.py::test_expand_1d_scalar,,passed,15.368242000022292,,,,,,,,,,,,,,,,,,,,,,,,,,0.35960200006002196 +158,taxcalc/tests/test_parameters.py::test_expand_2d_short_array,,passed,5.8804280000117615,,,,,,,,,,,,,,,,,,,,,,,,,,0.00785299999961353 +159,taxcalc/tests/test_parameters.py::test_expand_2d_variable_rates,,passed,7.365952999975889,,,,,,,,,,,,,,,,,,,,,,,,,,0.20124499997109524 +160,taxcalc/tests/test_parameters.py::test_expand_2d_already_filled,,passed,9.026652999978069,,,,,,,,,,,,,,,,,,,,,,,,,,0.06150499996238068 +161,taxcalc/tests/test_parameters.py::test_expand_2d_partial_expand,,passed,9.486510999977327,,,,,,,,,,,,,,,,,,,,,,,,,,0.08684599998787235 +162,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n]",,passed,0.3222720000053414,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}} } -",,,,,,,,,,,,,,,,,,-0.0026689999685913235 -163,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n]",,passed,0.275573000010354,,,,,,,," +",,,,,,,,,,,,,,,,,,0.022654000019883824 +163,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n]",,passed,0.25635899999087997,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]} } -",,,,,,,,,,,,,,,,,,0.023821000013413196 -164,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n-False]",,passed,0.16809300001341398,,,,,,,,," +",,,,,,,,,,,,,,,,,,-0.019214000019474042 +164,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n-False]",,passed,0.21551200001113102,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}} } -",False,,,,,,,,,,,,,,,,0.002973999983169079 -165,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n-True]",,passed,0.16869399996721768,,,,,,,,," +",False,,,,,,,,,,,,,,,,0.04741899999771712 +165,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n-True]",,passed,0.17043799999783005,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]} } -",True,,,,,,,,,,,,,,,,0.0008999999749903786 -166,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": 0.9}\n}\n-True]",,passed,0.16821299999492112,,,,,,,,," +",True,,,,,,,,,,,,,,,,0.0017440000306124526 +166,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": 0.9}\n}\n-True]",,passed,0.1702480000176365,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": 0.9} } -",True,,,,,,,,,,,,,,,,-0.001855999983035872 -167,taxcalc/tests/test_policy.py::test_incorrect_class_instantiation,,passed,0.14979899998479596,,,,,,,,,,,,,,,,,,,,,,,,,,-0.006765000023278844 -168,taxcalc/tests/test_policy.py::test_correct_class_instantiation,,passed,2001.4069620000328,,,,,,,,,,,,,,,,,,,,,,,,,,22.462038000014672 -169,taxcalc/tests/test_policy.py::test_json_reform_url,,passed,160.84083300000884,,,,,,,,,,,,,,,,,,,,,,,,,,83.64771399999427 -170,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[False],,passed,1998.2729090000362,,,,,,,,,,,False,,,,,,,,,,,,,,,-46.7138209999689 -171,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[True],,passed,2257.0193910000285,,,,,,,,,,,True,,,,,,,,,,,,,,,75.89069200002996 -172,taxcalc/tests/test_policy.py::test_constant_inflation_rate_with_reform,,passed,1834.188228999949,,,,,,,,,,,,,,,,,,,,,,,,,,-6.376546000069538 -173,taxcalc/tests/test_policy.py::test_variable_inflation_rate_with_reform,,passed,2007.4424539999995,,,,,,,,,,,,,,,,,,,,,,,,,,15.190502999985256 -174,taxcalc/tests/test_policy.py::test_multi_year_reform,,passed,1998.0862990000219,,,,,,,,,,,,,,,,,,,,,,,,,,32.94503800003713 -175,taxcalc/tests/test_policy.py::test_policy_metadata,,passed,1504.8440250000112,,,,,,,,,,,,,,,,,,,,,,,,,,98.46203100005368 -176,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_no_year,,passed,1308.9265520000026,,,,,,,,,,,,,,,,,,,,,,,,,,51.15060500003233 -177,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_early_year,,passed,1309.839400000044,,,,,,,,,,,,,,,,,,,,,,,,,,20.928163000064842 -178,taxcalc/tests/test_policy.py::test_reform_with_default_indexed,,passed,2021.587296000007,,,,,,,,,,,,,,,,,,,,,,,,,,-1.3489649999769426 -179,taxcalc/tests/test_policy.py::test_reform_makes_no_changes_before_year,,passed,1912.2917969999662,,,,,,,,,,,,,,,,,,,,,,,,,,15.596209999955818 -180,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[False],,passed,2146.6483770000195,,,,,,,,,,,False,,,,,,,,,,,,,,,5.266347000031146 -181,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[True],,passed,2113.1862679999927,,,,,,,,,,,True,,,,,,,,,,,,,,,64.91144000000304 -182,taxcalc/tests/test_policy.py::test_pop_the_cap_reform,,passed,2021.5765579999925,,,,,,,,,,,,,,,,,,,,,,,,,,70.47476899998605 -183,taxcalc/tests/test_policy.py::test_order_of_indexing_and_level_reforms,,passed,3838.4200790000023,,,,,,,,,,,,,,,,,,,,,,,,,,34.47323000000324 -184,taxcalc/tests/test_policy.py::test_misspecified_reform_dictionary,,passed,0.12108499998930711,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0007430000437124995 -185,taxcalc/tests/test_policy.py::test_section_titles,,passed,4.874588000006952,,,,,,,,,,,,,,,,,,,,,,,,,,0.10310499999377498 -186,taxcalc/tests/test_policy.py::test_description_punctuation,,passed,3.1182710000052793,,,,,,,,,,,,,,,,,,,,,,,,,,0.06289399999559464 -187,taxcalc/tests/test_policy.py::test_get_index_rate,,passed,1316.4421270000162,,,,,,,,,,,,,,,,,,,,,,,,,,8.84283000010555 -188,taxcalc/tests/test_policy.py::test_reform_with_bad_ctc_levels,,passed,1792.8581560000225,,,,,,,,,,,,,,,,,,,,,,,,,,-3.4822209999560982 -189,taxcalc/tests/test_policy.py::test_reform_with_removed_parameter,,passed,3960.8880029999796,,,,,,,,,,,,,,,,,,,,,,,,,,7.091397000010602 -190,taxcalc/tests/test_policy.py::test_reform_with_out_of_range_error,,passed,1909.071042999983,,,,,,,,,,,,,,,,,,,,,,,,,,-50.580490000072814 -191,taxcalc/tests/test_policy.py::test_reform_with_warning,,passed,2085.90743000002,,,,,,,,,,,,,,,,,,,,,,,,,,-13.201936999962527 -192,taxcalc/tests/test_policy.py::test_reform_with_scalar_vector_errors,,passed,6831.391929999995,,,,,,,,,,,,,,,,,,,,,,,,,,-15.944665000006353 -193,taxcalc/tests/test_policy.py::test_index_offset_reform,,passed,8381.789118999961,,,,,,,,,,,,,,,,,,,,,,,,,,5.198125999924741 -194,taxcalc/tests/test_policy.py::test_cpi_offset_affect_on_prior_years,,passed,6215.2408499999865,,,,,,,,,,,,,,,,,,,,,,,,,,-50.87572900004034 -195,taxcalc/tests/test_policy.py::test_cpi_offset_on_reverting_params,,passed,9209.351596000033,,,,,,,,,,,,,,,,,,,,,,,,,,-10.883589000059146 -196,taxcalc/tests/test_policy.py::test_raise_errors_regression,,passed,1999.3087679999917,,,,,,,,,,,,,,,,,,,,,,,,,,10.4565090000508 -197,taxcalc/tests/test_policy.py::TestAdjust::test_simple_adj,>,passed,5298.932683000032,,,,,,,,,,,,,,,,,,,,,,,,,,56.46741200001725 -198,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_1,>,passed,5739.725978000024,,,,,,,,,,,,,,,,,,,,,,,,,,181.64033200002905 -199,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_2,>,passed,5716.250596000009,,,,,,,,,,,,,,,,,,,,,,,,,,83.53607899994131 -200,taxcalc/tests/test_policy.py::TestAdjust::test_activate_index,>,passed,5711.451026000021,,,,,,,,,,,,,,,,,,,,,,,,,,276.08084000002054 -201,taxcalc/tests/test_policy.py::TestAdjust::test_apply_cpi_offset,>,passed,9987.774631999968,,,,,,,,,,,,,,,,,,,,,,,,,,270.0902489999644 -202,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps,>,passed,4698.278283000036,,,,,,,,,,,,,,,,,,,,,,,,,,274.99761199999284 -203,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps2,>,passed,5349.619222000001,,,,,,,,,,,,,,,,,,,,,,,,,,233.91343000002962 -204,taxcalc/tests/test_policy.py::TestAdjust::test_adj_CPI_offset_and_index_status,>,passed,9794.41883200002,,,,,,,,,,,,,,,,,,,,,,,,,,267.32663899997533 -205,taxcalc/tests/test_policy.py::TestAdjust::test_adj_related_parameters_and_index_status,>,passed,3778.0611159999467,,,,,,,,,,,,,,,,,,,,,,,,,,197.340676999886 -206,taxcalc/tests/test_policy.py::TestAdjust::test_indexed_status_parsing,>,passed,4274.599691999924,,,,,,,,,,,,,,,,,,,,,,,,,,64.95305199996437 -207,taxcalc/tests/test_policy.py::TestAdjust::test_cpi_offset_does_not_affect_wage_indexed_params,>,passed,7834.291406000034,,,,,,,,,,,,,,,,,,,,,,,,,,83.21247399999265 -208,taxcalc/tests/test_records.py::test_incorrect_Records_instantiation,,passed,9.379108999951313,,,,,,,,,,,,,,,,,,,,,,,,,,-0.2322789999880115 -209,taxcalc/tests/test_records.py::test_correct_Records_instantiation,,passed,383.4393979999504,,,,,,,,,,,,,,,,,,,,,,,,,,-9.451556000044548 -210,taxcalc/tests/test_records.py::test_read_cps_data,,passed,617.7069340000116,,,,,,,,,,,,,,,,,,,,,,,,,,-16.07646799993745 -211,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 2, 200000, 200000, 0.03\n]",,passed,405.7249010000987,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s +",True,,,,,,,,,,,,,,,,0.002035000022715422 +167,taxcalc/tests/test_policy.py::test_incorrect_class_instantiation,,passed,0.1357840000082433,,,,,,,,,,,,,,,,,,,,,,,,,,-0.014014999976552589 +168,taxcalc/tests/test_policy.py::test_correct_class_instantiation,,passed,2050.9204200000113,,,,,,,,,,,,,,,,,,,,,,,,,,49.51345799997853 +169,taxcalc/tests/test_policy.py::test_json_reform_url,,passed,90.0655620000066,,,,,,,,,,,,,,,,,,,,,,,,,,-70.77527100000225 +170,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[False],,passed,2048.5085590000267,,,,,,,,,,,False,,,,,,,,,,,,,,,50.235649999990756 +171,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[True],,passed,2204.6308559999943,,,,,,,,,,,True,,,,,,,,,,,,,,,-52.38853500003415 +172,taxcalc/tests/test_policy.py::test_constant_inflation_rate_with_reform,,passed,1805.5751719999762,,,,,,,,,,,,,,,,,,,,,,,,,,-28.61305699997274 +173,taxcalc/tests/test_policy.py::test_variable_inflation_rate_with_reform,,passed,1994.4554200000084,,,,,,,,,,,,,,,,,,,,,,,,,,-12.987033999991127 +174,taxcalc/tests/test_policy.py::test_multi_year_reform,,passed,1984.370639999952,,,,,,,,,,,,,,,,,,,,,,,,,,-13.715659000069763 +175,taxcalc/tests/test_policy.py::test_policy_metadata,,passed,1461.9394750000083,,,,,,,,,,,,,,,,,,,,,,,,,,-42.90455000000293 +176,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_no_year,,passed,1301.3441549999811,,,,,,,,,,,,,,,,,,,,,,,,,,-7.582397000021501 +177,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_early_year,,passed,1319.1132270000026,,,,,,,,,,,,,,,,,,,,,,,,,,9.273826999958601 +178,taxcalc/tests/test_policy.py::test_reform_with_default_indexed,,passed,2092.639319,,,,,,,,,,,,,,,,,,,,,,,,,,71.05202299999291 +179,taxcalc/tests/test_policy.py::test_reform_makes_no_changes_before_year,,passed,1966.613140999982,,,,,,,,,,,,,,,,,,,,,,,,,,54.32134400001564 +180,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[False],,passed,2204.814777000024,,,,,,,,,,,False,,,,,,,,,,,,,,,58.166400000004614 +181,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[True],,passed,2100.785318000021,,,,,,,,,,,True,,,,,,,,,,,,,,,-12.400949999971544 +182,taxcalc/tests/test_policy.py::test_pop_the_cap_reform,,passed,1964.9191479999786,,,,,,,,,,,,,,,,,,,,,,,,,,-56.6574100000139 +183,taxcalc/tests/test_policy.py::test_order_of_indexing_and_level_reforms,,passed,3804.5563360000187,,,,,,,,,,,,,,,,,,,,,,,,,,-33.86374299998306 +184,taxcalc/tests/test_policy.py::test_misspecified_reform_dictionary,,passed,0.12654700003622565,,,,,,,,,,,,,,,,,,,,,,,,,,0.005462000046918561 +185,taxcalc/tests/test_policy.py::test_section_titles,,passed,4.911676999995507,,,,,,,,,,,,,,,,,,,,,,,,,,0.03708899998855486 +186,taxcalc/tests/test_policy.py::test_description_punctuation,,passed,3.007945999968342,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11032500003693757 +187,taxcalc/tests/test_policy.py::test_get_index_rate,,passed,1330.8984440000131,,,,,,,,,,,,,,,,,,,,,,,,,,14.456316999996943 +188,taxcalc/tests/test_policy.py::test_reform_with_bad_ctc_levels,,passed,1803.578243000004,,,,,,,,,,,,,,,,,,,,,,,,,,10.720086999981731 +189,taxcalc/tests/test_policy.py::test_reform_with_removed_parameter,,passed,3939.530313999967,,,,,,,,,,,,,,,,,,,,,,,,,,-21.357689000013124 +190,taxcalc/tests/test_policy.py::test_reform_with_out_of_range_error,,passed,1968.0338809999967,,,,,,,,,,,,,,,,,,,,,,,,,,58.96283800001356 +191,taxcalc/tests/test_policy.py::test_reform_with_warning,,passed,2162.8922680000073,,,,,,,,,,,,,,,,,,,,,,,,,,76.98483799998712 +192,taxcalc/tests/test_policy.py::test_reform_with_scalar_vector_errors,,passed,7027.728744000001,,,,,,,,,,,,,,,,,,,,,,,,,,196.3368140000057 +193,taxcalc/tests/test_policy.py::test_index_offset_reform,,passed,8507.646462000026,,,,,,,,,,,,,,,,,,,,,,,,,,125.85734300006516 +194,taxcalc/tests/test_policy.py::test_cpi_offset_affect_on_prior_years,,passed,6229.462150000018,,,,,,,,,,,,,,,,,,,,,,,,,,14.221300000031079 +195,taxcalc/tests/test_policy.py::test_cpi_offset_on_reverting_params,,passed,9205.32687599996,,,,,,,,,,,,,,,,,,,,,,,,,,-4.024720000072193 +196,taxcalc/tests/test_policy.py::test_raise_errors_regression,,passed,1994.147403999989,,,,,,,,,,,,,,,,,,,,,,,,,,-5.1613640000030045 +197,taxcalc/tests/test_policy.py::TestAdjust::test_simple_adj,>,passed,5337.859665999986,,,,,,,,,,,,,,,,,,,,,,,,,,38.92698299995391 +198,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_1,>,passed,5648.955270000044,,,,,,,,,,,,,,,,,,,,,,,,,,-90.77070799998 +199,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_2,>,passed,5632.829136999988,,,,,,,,,,,,,,,,,,,,,,,,,,-83.42145900002106 +200,taxcalc/tests/test_policy.py::TestAdjust::test_activate_index,>,passed,5524.364030000015,,,,,,,,,,,,,,,,,,,,,,,,,,-187.08699600000546 +201,taxcalc/tests/test_policy.py::TestAdjust::test_apply_cpi_offset,>,passed,9767.032943000004,,,,,,,,,,,,,,,,,,,,,,,,,,-220.74168899996403 +202,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps,>,passed,4620.013771999993,,,,,,,,,,,,,,,,,,,,,,,,,,-78.26451100004306 +203,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps2,>,passed,5292.99079499998,,,,,,,,,,,,,,,,,,,,,,,,,,-56.628427000021475 +204,taxcalc/tests/test_policy.py::TestAdjust::test_adj_CPI_offset_and_index_status,>,passed,9653.521184,,,,,,,,,,,,,,,,,,,,,,,,,,-140.89764800002013 +205,taxcalc/tests/test_policy.py::TestAdjust::test_adj_related_parameters_and_index_status,>,passed,3672.178825000003,,,,,,,,,,,,,,,,,,,,,,,,,,-105.88229099994305 +206,taxcalc/tests/test_policy.py::TestAdjust::test_indexed_status_parsing,>,passed,4192.351812000026,,,,,,,,,,,,,,,,,,,,,,,,,,-82.24787999989803 +207,taxcalc/tests/test_policy.py::TestAdjust::test_cpi_offset_does_not_affect_wage_indexed_params,>,passed,7855.86665400001,,,,,,,,,,,,,,,,,,,,,,,,,,21.575247999976455 +208,taxcalc/tests/test_records.py::test_incorrect_Records_instantiation,,passed,9.273444999962521,,,,,,,,,,,,,,,,,,,,,,,,,,-0.10566399998879028 +209,taxcalc/tests/test_records.py::test_correct_Records_instantiation,,passed,390.3487339999856,,,,,,,,,,,,,,,,,,,,,,,,,,6.909336000035182 +210,taxcalc/tests/test_records.py::test_read_cps_data,,passed,621.0226059999968,,,,,,,,,,,,,,,,,,,,,,,,,,3.3156719999851703 +211,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 2, 200000, 200000, 0.03\n]",,passed,405.1079299999856,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,-10.084124999934886 -212,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 2, 200000, 200000, 0.03\n]",,passed,403.82186800002273,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s +",,,,,,,,,,,,,,-0.6169710001131534 +212,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 2, 200000, 200000, 0.03\n]",,passed,402.42404999997916,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,-7.650618000070551 -213,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 2, 200000, 200000, 0.03\n]",,passed,401.1134999999513,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s +",,,,,,,,,,,,,,-1.3978180000435714 +213,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 2, 200000, 200000, 0.03\n]",,passed,402.85212100002354,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,-20.42751099997986 -214,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 4, 200000, 100000, 100000\n]",,passed,405.62963800005036,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s +",,,,,,,,,,,,,,1.7386210000722713 +214,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 4, 200000, 100000, 100000\n]",,passed,398.1418010000084,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,-7.743949999849065 -215,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 4, 200000, 100000, 100000\n]",,passed,394.0204419999418,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s +",,,,,,,,,,,,,,-7.4878370000420205 +215,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 4, 200000, 100000, 100000\n]",,passed,402.4517820000142,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,-18.32244400009131 -216,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 4, 200000, 100000, 100000\n]",,passed,397.4099040000283,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s +",,,,,,,,,,,,,,8.431340000072396 +216,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 4, 200000, 100000, 100000\n]",,passed,400.2194569999915,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,-17.54436400005943 -217,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,k1bx14s\n1, 4, 0.03\n]",,passed,402.9432579999366,,,,,,,,,,,,"RECID,MARS,k1bx14s +",,,,,,,,,,,,,,2.8095529999632163 +217,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,k1bx14s\n1, 4, 0.03\n]",,passed,402.45173200003137,,,,,,,,,,,,"RECID,MARS,k1bx14s 1, 4, 0.03 -",,,,,,,,,,,,,,-9.355754000125728 -218,"taxcalc/tests/test_records.py::test_read_data[RxCID,MARS\n1, 2\n]",,passed,1.8320280000807543,,,,,,,,,,,,"RxCID,MARS +",,,,,,,,,,,,,,-0.49152599990520685 +218,"taxcalc/tests/test_records.py::test_read_data[RxCID,MARS\n1, 2\n]",,passed,1.5586249999728352,,,,,,,,,,,,"RxCID,MARS 1, 2 -",,,,,,,,,,,,,,0.034028000072794384 -219,"taxcalc/tests/test_records.py::test_read_data[RECID,e00300\n1, 456789\n]",,passed,1.5007219999461086,,,,,,,,,,,,"RECID,e00300 +",,,,,,,,,,,,,,-0.2734030001079193 +219,"taxcalc/tests/test_records.py::test_read_data[RECID,e00300\n1, 456789\n]",,passed,1.3693210000269573,,,,,,,,,,,,"RECID,e00300 1, 456789 -",,,,,,,,,,,,,,0.08063099994615186 -220,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS\n1, 6\n]",,passed,395.1372959999162,,,,,,,,,,,,"RECID,MARS +",,,,,,,,,,,,,,-0.13140099991915122 +220,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS\n1, 6\n]",,passed,400.4286580000098,,,,,,,,,,,,"RECID,MARS 1, 6 -",,,,,,,,,,,,,,-15.571635000014794 -221,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,EIC\n1, 5, 4\n]",,passed,404.09305699995457,,,,,,,,,,,,"RECID,MARS,EIC +",,,,,,,,,,,,,,5.2913620000936135 +221,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,EIC\n1, 5, 4\n]",,passed,401.4784610000106,,,,,,,,,,,,"RECID,MARS,EIC 1, 5, 4 -",,,,,,,,,,,,,,-6.722374000105447 -222,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00600,e00650\n1, 1, 8, 9\n]",,passed,403.709823999975,,,,,,,,,,,,"RECID,MARS,e00600,e00650 +",,,,,,,,,,,,,,-2.6145959999439583 +222,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00600,e00650\n1, 1, 8, 9\n]",,passed,400.95404100003407,,,,,,,,,,,,"RECID,MARS,e00600,e00650 1, 1, 8, 9 -",,,,,,,,,,,,,,-8.540576999962468 -223,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e01500,e01700\n1, 1, 6, 7\n]",,passed,400.4191730000457,,,,,,,,,,,,"RECID,MARS,e01500,e01700 +",,,,,,,,,,,,,,-2.7557829999409478 +223,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e01500,e01700\n1, 1, 6, 7\n]",,passed,405.19038399997953,,,,,,,,,,,,"RECID,MARS,e01500,e01700 1, 1, 6, 7 -",,,,,,,,,,,,,,-12.51378599999947 -224,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,PT_SSTB_income\n1, 1, 2\n]",,passed,397.98758900008124,,,,,,,,,,,,"RECID,MARS,PT_SSTB_income +",,,,,,,,,,,,,,4.771210999933828 +224,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,PT_SSTB_income\n1, 1, 2\n]",,passed,401.3542189999839,,,,,,,,,,,,"RECID,MARS,PT_SSTB_income 1, 1, 2 -",,,,,,,,,,,,,,-16.61983899987257 -225,taxcalc/tests/test_records.py::test_for_duplicate_names,,passed,0.8976090000487602,,,,,,,,,,,,,,,,,,,,,,,,,,-0.014930999896023422 -226,taxcalc/tests/test_records.py::test_records_variables_content,,passed,0.6101950000356737,,,,,,,,,,,,,,,,,,,,,,,,,,-0.08214299998599017 -227,taxcalc/tests/test_records.py::test_csv_input_vars_md_contents,,passed,0.6572229999619594,,,,,,,,,,,,,,,,,,,,,,,,,,-0.027389000138100528 -228,taxcalc/tests/test_reforms.py::test_2017_law_reform,,passed,4786.196270999994,,,,,,,,,,,,,,,,,,,,,,,,,,-45.24253600004613 -229,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2019],,passed,12844.234969999889,,,,,,,,,,,,,2019.0,,,,,,,,,,,,,40.632569999845146 -230,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2020],,passed,12792.870689999972,,,,,,,,,,,,,2020.0,,,,,,,,,,,,,83.20041399997717 -231,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2021],,passed,12979.942960000017,,,,,,,,,,,,,2021.0,,,,,,,,,,,,,93.09965700003886 -232,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2022],,passed,12956.102311999985,,,,,,,,,,,,,2022.0,,,,,,,,,,,,,209.01514599995608 -233,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2023],,passed,12843.147508000016,,,,,,,,,,,,,2023.0,,,,,,,,,,,,,-73.00339900007202 -234,taxcalc/tests/test_reforms.py::test_reform_json_and_output,,passed,76868.743548,,,,,,,,,,,,,,,,,,,,,,,,,,-700.073017000017 -235,taxcalc/tests/test_responses.py::test_response_json,,passed,0.20409000001109234,,,,,,,,,,,,,,,,,,,,,,,,,,0.006449000011343742 -236,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-dot-csv-filename-no-dot-json-filename-no-dot-json-filename-no-dot-json-filename-no-output-directory],,passed,0.17012600005728018,,,,,,,,,,,,,,no-dot-csv-filename,no-dot-json-filename,no-dot-json-filename,no-dot-json-filename,no-output-directory,,,,,,,,0.0005590000000665896 -237,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[input_data1-baseline1-reform1-assump1-outdir1],,passed,0.1165370000535404,,,,,,,,,,,,,,[],[],[],[],[],,,,,,,,-3.0999899536199305e-05 -238,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-exist.csv-no-exist.json-no-exist.json-no-exist.json-.],,passed,0.1945720000549045,,,,,,,,,,,,,,no-exist.csv,no-exist.json,no-exist.json,no-exist.json,.,,,,,,,,-0.0011949999816351087 -239,taxcalc/tests/test_taxcalcio.py::test_init_errors[2000-reformfile0-reformfile0-None],,passed,4904.786114000103,,,,,,,,,,,,,,,,,,,2000.0,reformfile0,reformfile0,,,,,-150.22478299988506 -240,taxcalc/tests/test_taxcalcio.py::test_init_errors[2099-reformfile0-reformfile0-None],,passed,5104.498812999964,,,,,,,,,,,,,,,,,,,2099.0,reformfile0,reformfile0,,,,,23.142273999951612 -241,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-reformfile0-reformfile0-errorassumpfile],,passed,4736.51255599998,,,,,,,,,,,,,,,,,,,2020.0,reformfile0,reformfile0,errorassumpfile,,,,-124.09644700005629 -242,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-errorreformfile-errorreformfile-None],,passed,3882.7493100000083,,,,,,,,,,,,,,,,,,,2020.0,errorreformfile,errorreformfile,,,,,-121.17711100006545 -243,taxcalc/tests/test_taxcalcio.py::test_creation_with_aging,,passed,12196.934932999966,,,,,,,,,,,,,,,,,,,,,,,,,,-207.98954600002253 -244,taxcalc/tests/test_taxcalcio.py::test_ctor_init_with_cps_files,,passed,15231.363918000057,,,,,,,,,,,,,,,,,,,,,,,,,,-688.8732539999874 -245,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|combined,\n c00100\n surtax\n -True-8]",,passed,5151.548616000014,,,,,,,,,,,,,,,,,,,,,,," +",,,,,,,,,,,,,,3.3666299999026137 +225,taxcalc/tests/test_records.py::test_for_duplicate_names,,passed,0.8535459999734485,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04406300007531172 +226,taxcalc/tests/test_records.py::test_records_variables_content,,passed,0.6424219999985326,,,,,,,,,,,,,,,,,,,,,,,,,,0.03222699996285883 +227,taxcalc/tests/test_records.py::test_csv_input_vars_md_contents,,passed,0.6573300000241034,,,,,,,,,,,,,,,,,,,,,,,,,,0.00010700006214392488 +228,taxcalc/tests/test_reforms.py::test_2017_law_reform,,passed,4751.594417999968,,,,,,,,,,,,,,,,,,,,,,,,,,-34.601853000026495 +229,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2019],,passed,12839.014559000021,,,,,,,,,,,,,2019.0,,,,,,,,,,,,,-5.220410999867454 +230,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2020],,passed,12800.133754999933,,,,,,,,,,,,,2020.0,,,,,,,,,,,,,7.263064999960989 +231,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2021],,passed,12904.643175000047,,,,,,,,,,,,,2021.0,,,,,,,,,,,,,-75.29978499997014 +232,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2022],,passed,13226.211213000057,,,,,,,,,,,,,2022.0,,,,,,,,,,,,,270.10890100007236 +233,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2023],,passed,12974.534930000005,,,,,,,,,,,,,2023.0,,,,,,,,,,,,,131.38742199998887 +234,taxcalc/tests/test_reforms.py::test_reform_json_and_output,,passed,76605.68477000004,,,,,,,,,,,,,,,,,,,,,,,,,,-263.05877799996233 +235,taxcalc/tests/test_responses.py::test_response_json,,passed,0.21263700000417884,,,,,,,,,,,,,,,,,,,,,,,,,,0.008546999993086557 +236,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-dot-csv-filename-no-dot-json-filename-no-dot-json-filename-no-dot-json-filename-no-output-directory],,passed,0.1700379999647339,,,,,,,,,,,,,,no-dot-csv-filename,no-dot-json-filename,no-dot-json-filename,no-dot-json-filename,no-output-directory,,,,,,,,-8.800009254619767e-05 +237,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[input_data1-baseline1-reform1-assump1-outdir1],,passed,0.11647699989225657,,,,,,,,,,,,,,[],[],[],[],[],,,,,,,,-6.000016128382413e-05 +238,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-exist.csv-no-exist.json-no-exist.json-no-exist.json-.],,passed,0.19550499996512372,,,,,,,,,,,,,,no-exist.csv,no-exist.json,no-exist.json,no-exist.json,.,,,,,,,,0.0009329999102192232 +239,taxcalc/tests/test_taxcalcio.py::test_init_errors[2000-reformfile0-reformfile0-None],,passed,4865.837596000006,,,,,,,,,,,,,,,,,,,2000.0,reformfile0,reformfile0,,,,,-38.948518000097465 +240,taxcalc/tests/test_taxcalcio.py::test_init_errors[2099-reformfile0-reformfile0-None],,passed,5143.841621000092,,,,,,,,,,,,,,,,,,,2099.0,reformfile0,reformfile0,,,,,39.34280800012857 +241,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-reformfile0-reformfile0-errorassumpfile],,passed,4720.094354000025,,,,,,,,,,,,,,,,,,,2020.0,reformfile0,reformfile0,errorassumpfile,,,,-16.418201999954363 +242,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-errorreformfile-errorreformfile-None],,passed,3839.678266999954,,,,,,,,,,,,,,,,,,,2020.0,errorreformfile,errorreformfile,,,,,-43.07104300005403 +243,taxcalc/tests/test_taxcalcio.py::test_creation_with_aging,,passed,12146.144537000055,,,,,,,,,,,,,,,,,,,,,,,,,,-50.7903959999112 +244,taxcalc/tests/test_taxcalcio.py::test_ctor_init_with_cps_files,,passed,15349.976015000038,,,,,,,,,,,,,,,,,,,,,,,,,,118.6120969999829 +245,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|combined,\n c00100\n surtax\n -True-8]",,passed,5176.671062999958,,,,,,,,,,,,,,,,,,,,,,," MARS;iitax payrolltax|combined, c00100 surtax - ",True,8.0,-42.3651810000365 -246,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|kombined,c00100\n surtax\n RECID\n FLPDYR\n -False-8]",,passed,5081.354203000046,,,,,,,,,,,,,,,,,,,,,,," + ",True,8.0,25.12244699994426 +246,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|kombined,c00100\n surtax\n RECID\n FLPDYR\n -False-8]",,passed,5014.975149000065,,,,,,,,,,,,,,,,,,,,,,," MARS;iitax payrolltax|kombined,c00100 surtax RECID FLPDYR - ",False,8.0,-156.12351499999022 -247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22221.86573700003,,,,,,,,,,,,,,,,,,,,,,,,,,-126.27006200000324 -248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12895.173554000052,,,,,,,,,,,,,,,,,,,,,,,,,,166.62311599998066 -249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6393.98844699997,,,,,,,,,,,,,,,,,,,,,,,,,,74.1434560000016 -250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5864.573760000098,,,,,,,,,,,,,,,,,,,,,,,,,,83.65137600014805 -251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6507.662759000027,,,,,,,,,,,,,,,,,,,,,,,,,,41.777830000000904 -252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6460.3610510000635,,,,,,,,,,,,,,,,,,,,,,,,,,-9.485870999924373 -253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5651.320530000021,,,,,,,,,,,,,,,,,,,,,,,,,,90.76381300008052 -254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4219.653073000018,,,,,,,,,,,,,,,,,,,,,,,,,,15.407428000002255 -255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.8357130000149482,,,,,,,,,,,,,,,,,,,,,,,,,,0.07469600006970722 -256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3613.2977649999702,,,,,,,,,,,,,,,,,,,,,,,,,,78.34367300006306 -257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,402.4637630000143,,,,,,,,,,,,,,,,,,,,,,,,,,4.095600999903581 -258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.5111510000215276,,,,,,,,,,,,,,,,,,,,,,,,,,0.043305000076543365 -259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7264519999807817,,,,,,,,,,,,,,,,,,,,,,,,,,0.007855000035306148 -260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6675820000054955,,,,,,,,,,,,,,,,,,,,,,,,,,0.01979800003937271 -261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.6240210000214574,,,,,,,,,,,,,,,,,,,,,,,,,,-0.002182999992328405 -262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.6319660001045122,,,,,,,,,,,,,,,,,,,,,,,,,,0.017700000171316788 -263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.4033999999346634,,,,,,,,,,,,,,,,,,,,,,,,,,-0.08775900005275616 -264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.0584999999518914,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09732500006975897 -265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2694.42974399999,,,,,,,,,,,,,,,,,,,,,,,,,,38.494914000011704 -266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3334.574216000078,,,,,,,,,,,,,,,,,,,,,,,,,,17.25222000004578 -267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2043.013309999992,,,,,,,,,,,,,,,,,,,,,,,,,,12.93059199997515 -268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2291.692794000028,,,,,,,,,,,,,,,,,,,,,,,,,,13.17413700007819 -269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2091.864636000082,,,,,,,,,,,,,,,,,,,,,,,,,,39.469396000072265 -270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2236.25279099997,,,,,,,,,,,,,,,,,,,,,,,,,,66.64179799997783 -271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3824.9226920000865,,,,,,,,,,,,,,,,,,,,,,,,,,8.419336000088151 -272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.088043999970978,,,,,,,,,,,,,,,,,,,,,,,,,,0.024601000063739997 -273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.2754719999984445,,,,,,,,,,,,,,,,,,,,,,,,,,0.047003999952721726 -274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2626379999810524,,,,,,,,,,,,,,,,,,,,,,,,,,0.00119799994990899 -275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3810180000982655,,,,,,,,,,,,,,,,,,,,,,,,,,0.004813000032299897 -276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.10687799999686831,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0016359999790437896 + ",False,8.0,-66.3790539999809 +247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22105.670846000066,,,,,,,,,,,,,,,,,,,,,,,,,,-116.19489099996281 +248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12772.544447999962,,,,,,,,,,,,,,,,,,,,,,,,,,-122.62910600008945 +249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6508.059788999958,,,,,,,,,,,,,,,,,,,,,,,,,,114.07134199998836 +250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5854.7457580000355,,,,,,,,,,,,,,,,,,,,,,,,,,-9.828002000062952 +251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6662.492044000032,,,,,,,,,,,,,,,,,,,,,,,,,,154.82928500000526 +252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6500.794420000034,,,,,,,,,,,,,,,,,,,,,,,,,,40.43336899996939 +253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5637.5103139999965,,,,,,,,,,,,,,,,,,,,,,,,,,-13.810216000024411 +254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4197.755425999958,,,,,,,,,,,,,,,,,,,,,,,,,,-21.897647000059806 +255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.7385000000112996,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09721300000364863 +256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3605.924443000049,,,,,,,,,,,,,,,,,,,,,,,,,,-7.37332199992079 +257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,402.7475789999926,,,,,,,,,,,,,,,,,,,,,,,,,,0.28381599997828744 +258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.4008930000718465,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11025799994968155 +259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7273979999808944,,,,,,,,,,,,,,,,,,,,,,,,,,0.00094600000011269 +260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6477389999872685,,,,,,,,,,,,,,,,,,,,,,,,,,-0.01984300001822703 +261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.644492999981594,,,,,,,,,,,,,,,,,,,,,,,,,,0.0204719999601366 +262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.6617019999785043,,,,,,,,,,,,,,,,,,,,,,,,,,0.029735999873992114 +263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.5066700000024866,,,,,,,,,,,,,,,,,,,,,,,,,,0.10327000006782283 +264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.2606470000473564,,,,,,,,,,,,,,,,,,,,,,,,,,0.2021470000954646 +265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2729.185365000035,,,,,,,,,,,,,,,,,,,,,,,,,,34.75562100004481 +266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3324.6483660000195,,,,,,,,,,,,,,,,,,,,,,,,,,-9.925850000058745 +267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2092.4040859999877,,,,,,,,,,,,,,,,,,,,,,,,,,49.39077599999564 +268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2276.056875999984,,,,,,,,,,,,,,,,,,,,,,,,,,-15.635918000043603 +269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2022.8567730000577,,,,,,,,,,,,,,,,,,,,,,,,,,-69.00786300002437 +270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2173.183320000021,,,,,,,,,,,,,,,,,,,,,,,,,,-63.06947099994886 +271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3803.5144819999687,,,,,,,,,,,,,,,,,,,,,,,,,,-21.408210000118743 +272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.0620250000101805,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026018999960797373 +273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.24927599997681682,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026196000021627697 +274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2715170001010847,,,,,,,,,,,,,,,,,,,,,,,,,,0.008879000120032288 +275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3804709999712941,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0005470001269713975 +276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.11097800006609759,,,,,,,,,,,,,,,,,,,,,,,,,,0.004100000069229295 From b4ed00df4ea24044dcbb9956b03fc4ae7cc50674 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sat, 24 Feb 2024 10:38:17 -0500 Subject: [PATCH 09/16] update benchmark stats --- taxcalc/tests/test_stats_benchmark.csv | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/taxcalc/tests/test_stats_benchmark.csv b/taxcalc/tests/test_stats_benchmark.csv index 31dd07908..f3e7e8e0e 100644 --- a/taxcalc/tests/test_stats_benchmark.csv +++ b/taxcalc/tests/test_stats_benchmark.csv @@ -302,6 +302,7 @@ surtax RECID FLPDYR +<<<<<<< HEAD ",False,8.0,-66.3790539999809 247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22105.670846000066,,,,,,,,,,,,,,,,,,,,,,,,,,-116.19489099996281 248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12772.544447999962,,,,,,,,,,,,,,,,,,,,,,,,,,-122.62910600008945 @@ -333,3 +334,36 @@ 274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2715170001010847,,,,,,,,,,,,,,,,,,,,,,,,,,0.008879000120032288 275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3804709999712941,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0005470001269713975 276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.11097800006609759,,,,,,,,,,,,,,,,,,,,,,,,,,0.004100000069229295 +======= + ",False,8.0,-143.04578700011916 +247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22223.46414799995,,,,,,,,,,,,,,,,,,,,,,,,,,-124.67165100008424 +248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12681.754135000006,,,,,,,,,,,,,,,,,,,,,,,,,,-46.796303000064654 +249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6317.1197469999925,,,,,,,,,,,,,,,,,,,,,,,,,,-2.725243999975646 +250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5820.032033999951,,,,,,,,,,,,,,,,,,,,,,,,,,39.10965000000033 +251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6455.7827470000575,,,,,,,,,,,,,,,,,,,,,,,,,,-10.102181999968707 +252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6398.969437999995,,,,,,,,,,,,,,,,,,,,,,,,,,-70.87748399999327 +253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5599.9042980000695,,,,,,,,,,,,,,,,,,,,,,,,,,39.34758100012914 +254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4170.115788000089,,,,,,,,,,,,,,,,,,,,,,,,,,-34.12985699992623 +255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.7503799999994953,,,,,,,,,,,,,,,,,,,,,,,,,,-0.010636999945745629 +256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3462.892517,,,,,,,,,,,,,,,,,,,,,,,,,,-72.06157499990695 +257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,397.77517699997134,,,,,,,,,,,,,,,,,,,,,,,,,,-0.5929850001393788 +258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.373426999952244,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09441899999274028 +259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7219480000912881,,,,,,,,,,,,,,,,,,,,,,,,,,0.003351000145812577 +260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6543529999589737,,,,,,,,,,,,,,,,,,,,,,,,,,0.006568999992850877 +261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.6501049999769748,,,,,,,,,,,,,,,,,,,,,,,,,,0.02390099996318895 +262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.7333809998945071,,,,,,,,,,,,,,,,,,,,,,,,,,0.1191149999613117 +263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.587614000049143,,,,,,,,,,,,,,,,,,,,,,,,,,0.0964550000617237 +264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.8703410000380245,,,,,,,,,,,,,,,,,,,,,,,,,,0.7145160000163742 +265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2644.803988000035,,,,,,,,,,,,,,,,,,,,,,,,,,-11.130841999943186 +266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3358.424893000006,,,,,,,,,,,,,,,,,,,,,,,,,,41.10289699997338 +267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2025.44414099998,,,,,,,,,,,,,,,,,,,,,,,,,,-4.638577000037003 +268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2270.551081000008,,,,,,,,,,,,,,,,,,,,,,,,,,-7.9675759999418005 +269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2034.0884060000235,,,,,,,,,,,,,,,,,,,,,,,,,,-18.30683399998634 +270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2215.4896309999685,,,,,,,,,,,,,,,,,,,,,,,,,,45.87863799997649 +271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3876.75741999999,,,,,,,,,,,,,,,,,,,,,,,,,,60.25406399999156 +272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.0859039999786546,,,,,,,,,,,,,,,,,,,,,,,,,,0.022461000071416715 +273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.2505240000800768,,,,,,,,,,,,,,,,,,,,,,,,,,0.022056000034354012 +274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.26879800009282917,,,,,,,,,,,,,,,,,,,,,,,,,,0.007358000061685743 +275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.37664800004222343,,,,,,,,,,,,,,,,,,,,,,,,,,0.0004429999762578518 +276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.10399300003882672,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004520999937085379 +>>>>>>> origin/master From ea2dcc81a5cd555faf20094fd345e110c21a028d Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sat, 24 Feb 2024 10:38:36 -0500 Subject: [PATCH 10/16] not install from pip in instructions --- docs/index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/index.md b/docs/index.md index 058f1b2d2..c46af9416 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,6 +12,12 @@ via: conda install -c conda-forge taxcalc ``` +or with [PyPI](https://pypi.org/project/taxcalc/) via: + +``` +pip install taxcalc +``` + When using [micro data](https://github.com/PSLmodels/taxdata#about-taxdata-repository) that represent the USA population, Tax-Calculator can estimate the aggregate @@ -59,6 +65,12 @@ If you are already using Tax-Calculator, upgrade using the following command: conda update -c conda-forge taxcalc ``` +or + +``` +pip install -U taxcalc +``` + If you're a new user, read {doc}`usage/starting`. ## Disclaimer From 142f3f35dbf83d84eab8e220027b7cf1f2ed26c0 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sat, 24 Feb 2024 11:24:33 -0500 Subject: [PATCH 11/16] fix conda forge install instructions --- docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index c46af9416..41b2140cd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,7 +9,7 @@ You can install it with [Anaconda](https://www.anaconda.com/products/individual) via: ``` -conda install -c conda-forge taxcalc +conda update taxcalc ``` or with [PyPI](https://pypi.org/project/taxcalc/) via: @@ -62,7 +62,7 @@ The cross-model validation work with NBER's TAXSIM-27 model is described If you are already using Tax-Calculator, upgrade using the following command: ``` -conda update -c conda-forge taxcalc +conda update conda-forge::taxcalc ``` or From a5b88642adaddbc047c6416e0a58c5b8620c4131 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sun, 25 Feb 2024 18:16:25 -0500 Subject: [PATCH 12/16] update recipes to pip install --- docs/recipes/recipe00.ipynb | 973 ++++++++++------------------- docs/recipes/recipe01.ipynb | 76 ++- docs/recipes/recipe02.ipynb | 601 +++++++++--------- docs/recipes/recipe03.ipynb | 61 +- docs/recipes/recipe04.ipynb | 43 +- docs/recipes/recipe04_pandas.ipynb | 65 +- docs/recipes/recipe05.ipynb | 70 ++- docs/recipes/recipe06.ipynb | 35 +- 8 files changed, 817 insertions(+), 1107 deletions(-) diff --git a/docs/recipes/recipe00.ipynb b/docs/recipes/recipe00.ipynb index 142068e19..e894967c1 100644 --- a/docs/recipes/recipe00.ipynb +++ b/docs/recipes/recipe00.ipynb @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "remove-cell" @@ -22,23 +22,15 @@ }, "outputs": [], "source": [ - "# Install conda and taxcalc if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", + "# Install taxcalc if not already installed\n", "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null" + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "hide-output": false }, @@ -69,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "hide-output": false }, @@ -87,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "hide-output": false }, @@ -108,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "hide-output": false }, @@ -126,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "hide-output": false }, @@ -146,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": { "hide-output": false }, @@ -165,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": { "hide-output": false }, @@ -186,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "hide-output": false }, @@ -210,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": { "hide-output": false }, @@ -219,8 +211,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "2020_CLP_itax_rev($B)= 1321.487\n", - "2020_REF_itax_rev($B)= 1329.959\n" + "2020_CLP_itax_rev($B)= 764.170\n", + "2020_REF_itax_rev($B)= 766.855\n" ] } ], @@ -238,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": { "hide-output": false }, @@ -280,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": { "hide-output": false }, @@ -288,11 +280,10 @@ { "data": { "text/html": [ - "\n", - "
\n", + "
\n", " \n", - " Loading BokehJS ...\n", - "
" + " Loading BokehJS ...\n", + "
\n" ] }, "metadata": {}, @@ -300,305 +291,8 @@ }, { "data": { - "application/javascript": [ - "\n", - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " var force = true;\n", - "\n", - " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", - " root._bokeh_onload_callbacks = [];\n", - " root._bokeh_is_loading = undefined;\n", - " }\n", - "\n", - " var JS_MIME_TYPE = 'application/javascript';\n", - " var HTML_MIME_TYPE = 'text/html';\n", - " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " var CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " var script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " var cell = handle.cell;\n", - "\n", - " var id = cell.output_area._bokeh_element_id;\n", - " var server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " var id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " var output_area = handle.output_area;\n", - " var output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " var bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " var script_attrs = bk_div.children[0].attributes;\n", - " for (var i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " var toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " var events = require('base/js/events');\n", - " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\n", - " }\n", - "\n", - " \n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_failed_load = false;\n", - " }\n", - "\n", - " var NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"
\\n\"+\n", - " \"

\\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"

\\n\"+\n", - " \"
    \\n\"+\n", - " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", - " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", - " \"
\\n\"+\n", - " \"\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"\\n\"+\n", - " \"
\"}};\n", - "\n", - " function display_loaded() {\n", - " var el = document.getElementById(\"1052\");\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS is loading...\";\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", - " }\n", - " } else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(display_loaded, 100)\n", - " }\n", - " }\n", - "\n", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) {\n", - " if (callback != null)\n", - " callback();\n", - " });\n", - " } finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.debug(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(css_urls, js_urls, callback) {\n", - " if (css_urls == null) css_urls = [];\n", - " if (js_urls == null) js_urls = [];\n", - "\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " }\n", - " if (js_urls == null || js_urls.length === 0) {\n", - " run_callbacks();\n", - " return null;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", - "\n", - " function on_load() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", - " run_callbacks()\n", - " }\n", - " }\n", - "\n", - " function on_error(url) {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.rel = \"stylesheet\";\n", - " element.type = \"text/css\";\n", - " element.href = url;\n", - " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\": \"YF85VygJKMVnHE+lLv2AM93Vbstr0yo2TbIu5v8se5Rq3UQAUmcuh4aaJwNlpKwa\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\": \"KKuas3gevv3PvrlkyCMzffFeaMq5we/a2QsP5AUoS3mJ0jmaCL7jirFJN3GoE/lM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\": \"MK/uFc3YT18pkvvXRl66tTHjP0/dxoSH2e/eiNMFIguKlun2+WVqaPTWmUy/zvh4\"};\n", - "\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.async = false;\n", - " element.src = url;\n", - " if (url in hashes) {\n", - " element.crossOrigin = \"anonymous\";\n", - " element.integrity = \"sha384-\" + hashes[url];\n", - " }\n", - " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.head.appendChild(element);\n", - " }\n", - " };\n", - "\n", - " function inject_raw_css(css) {\n", - " const element = document.createElement(\"style\");\n", - " element.appendChild(document.createTextNode(css));\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " \n", - " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\"];\n", - " var css_urls = [];\n", - " \n", - "\n", - " var inline_js = [\n", - " function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - " function(Bokeh) {\n", - " \n", - " \n", - " }\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " \n", - " if (root.Bokeh !== undefined || force === true) {\n", - " \n", - " for (var i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }\n", - " if (force === true) {\n", - " display_loaded();\n", - " }} else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(run_inline_js, 100);\n", - " } else if (!root._bokeh_failed_load) {\n", - " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", - " root._bokeh_failed_load = true;\n", - " } else if (force !== true) {\n", - " var cell = $(document.getElementById(\"1052\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\n", - "\n", - " }\n", - "\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", - " run_inline_js();\n", - " } else {\n", - " load_libs(css_urls, js_urls, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_inline_js();\n", - " });\n", - " }\n", - "}(window));" - ], - "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1052\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\": \"YF85VygJKMVnHE+lLv2AM93Vbstr0yo2TbIu5v8se5Rq3UQAUmcuh4aaJwNlpKwa\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\": \"KKuas3gevv3PvrlkyCMzffFeaMq5we/a2QsP5AUoS3mJ0jmaCL7jirFJN3GoE/lM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\": \"MK/uFc3YT18pkvvXRl66tTHjP0/dxoSH2e/eiNMFIguKlun2+WVqaPTWmUy/zvh4\"};\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1052\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" + "application/javascript": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n // Clean up Bokeh references\n if (id != null && id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim();\n if (id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n const toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n const events = require('base/js/events');\n const OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1055\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1055\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", + "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" @@ -607,12 +301,7 @@ "data": { "text/html": [ "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
\n" + "
\n" ] }, "metadata": {}, @@ -620,34 +309,7 @@ }, { "data": { - "application/javascript": [ - "(function(root) {\n", - " function embed_document(root) {\n", - " \n", - " var docs_json = {\"273ee692-dd1c-49e7-b5f5-b2d375de677c\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"height\":500,\"left\":[{\"id\":\"1017\"}],\"renderers\":[{\"id\":\"1038\"},{\"id\":\"1043\"},{\"id\":\"1048\"}],\"title\":{\"id\":\"1003\"},\"toolbar\":{\"id\":\"1028\"},\"width\":850,\"x_range\":{\"id\":\"1005\"},\"x_scale\":{\"id\":\"1009\"},\"y_range\":{\"id\":\"1007\"},\"y_scale\":{\"id\":\"1011\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1062\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1013\"},\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"x\":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZsMK9GG6Dj8AAAAAAAAAAAAAAAAAAAAAwaAslbVZWz98k+9PZJ+ZP1lLdc79sMQ/AFQM1vhZzD/S5JYICr3LP6OcJRWibc4/MMLGq/39zT9PWf3IGiLNP+a9nJK6c8w/QW5C1v/kyj+ggBUyRufKP6HmXDF7z8w/RmgVczH1xD8sY032SojIP0J47uXCJ8g/up7e89JpyD8ESmFP+yzHP6p7b/9Pv8Y/GDYcNT34xD91d+We0W3FP6Bk1I3IYcc/je35QGKmxD9DixqhatfFP5ALuWCpLcc/qeKR8yiAxT8GFDe7thLJP1Jj+YYEWsU/oOLbLL/ExT/q4IBbYf3FPz5esoyR5cU/TdWoId+/xD96YOm6Y33GP/ZjL7RlEcg/Ynbw0F0Tyz9gaumYMyTJPzMVPWJ3K8g/LfE3sXjFxj9H2IlkqKDHP38VyjAZcsw/J7mamdKYyT9i3DuZnkbJPxOhF0W+rck/gE43fHuLyz9D26FjrHjOP9jfroXRss0/m0N7bJYBzj9igyjoZPLNP2MO4/BhatA/Mr5XF2S9zT8cSJNwSh7PP/iXFodpw88/EWXazA0nzz9tVJGx63vPPyioGj+c/s4/3zYRM4Njzj+xl7hjYwrPPxLeL3dIStA/JsxZEljMzz8bjVcNpFrQP/5ckoCsENA/3ZJfnBSC0D/GWgTT4tvPPwL/4TOPUNA/17rWKlI30D81LJ3HFcfOP6iPOproxc8/pY3YQHM9zj/E4PBLK5/PP/wTY9RxXNA/6L+xOai70j+NZZ+Kis/TP1TxioB+8NM/RMTIEK901D9T/4e+OcTUPyOR3Wo2b9Q/9K+2aXDS1D/er6Vfem7TP2mp64dg5tM/9KDyBw7g0z+6zvfIFLrSP4KydgzJ3tA/MTTD6CBnzT8HGrTjbvLDP+rKWgaGgK0/jqhK1Dgltb9aJLCaZG/9vw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[95]}},\"selected\":{\"id\":\"1061\"},\"selection_policy\":{\"id\":\"1060\"}},\"id\":\"1035\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1064\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Baseline Expanded-Income Percentile\",\"axis_label_text_font_size\":\"12pt\",\"axis_label_text_font_style\":\"normal\",\"formatter\":{\"id\":\"1055\"},\"major_label_policy\":{\"id\":\"1056\"},\"ticker\":{\"id\":\"1014\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1035\"}},\"id\":\"1039\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1063\"},\"selection_policy\":{\"id\":\"1062\"}},\"id\":\"1040\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1056\",\"type\":\"AllLabels\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"}]},\"id\":\"1028\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1058\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"dimension\":1,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1055\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],\"y\":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},\"selected\":{\"id\":\"1065\"},\"selection_policy\":{\"id\":\"1064\"}},\"id\":\"1045\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1040\"},\"glyph\":{\"id\":\"1041\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1042\"},\"view\":{\"id\":\"1044\"},\"visible\":false},\"id\":\"1043\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"value\":0},\"y\":{\"value\":0}},\"id\":\"1042\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1065\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"Change in After-Tax Expanded Income\",\"axis_label_text_font_size\":\"12pt\",\"axis_label_text_font_style\":\"normal\",\"formatter\":{\"id\":\"1050\"},\"major_label_policy\":{\"id\":\"1058\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text\":\"Percentage Change in After-Tax Expanded Income by Income Percentile for 2020\",\"text_font_size\":\"12pt\"},\"id\":\"1003\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"value\":0},\"y\":{\"value\":0}},\"id\":\"1041\",\"type\":\"Circle\"},{\"attributes\":{\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1046\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1061\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1040\"}},\"id\":\"1044\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1045\"},\"glyph\":{\"id\":\"1046\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1047\"},\"view\":{\"id\":\"1049\"}},\"id\":\"1048\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1060\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1063\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1047\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1045\"}},\"id\":\"1049\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1035\"},\"glyph\":{\"id\":\"1036\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1037\"},\"view\":{\"id\":\"1039\"}},\"id\":\"1038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"format\":\"%+.1f%%\"},\"id\":\"1050\",\"type\":\"PrintfTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.1\"}};\n", - " var render_items = [{\"docid\":\"273ee692-dd1c-49e7-b5f5-b2d375de677c\",\"root_ids\":[\"1002\"],\"roots\":{\"1002\":\"d7ff7a97-599f-411b-9915-979c692594e7\"}}];\n", - " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", - "\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " embed_document(root);\n", - " } else {\n", - " var attempts = 0;\n", - " var timer = setInterval(function(root) {\n", - " if (root.Bokeh !== undefined) {\n", - " clearInterval(timer);\n", - " embed_document(root);\n", - " } else {\n", - " attempts++;\n", - " if (attempts > 100) {\n", - " clearInterval(timer);\n", - " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", - " }\n", - " }\n", - " }, 10, root)\n", - " }\n", - "})(window);" - ], + "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b4e7db24-33d9-48db-a78f-613a20b224ed\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"height\":500,\"left\":[{\"id\":\"1017\"}],\"renderers\":[{\"id\":\"1039\"},{\"id\":\"1045\"},{\"id\":\"1051\"}],\"title\":{\"id\":\"1003\"},\"toolbar\":{\"id\":\"1028\"},\"width\":850,\"x_range\":{\"id\":\"1005\"},\"x_scale\":{\"id\":\"1009\"},\"y_range\":{\"id\":\"1007\"},\"y_scale\":{\"id\":\"1011\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis\":{\"id\":\"1013\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1047\"}},\"id\":\"1052\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1066\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1041\"}},\"id\":\"1046\",\"type\":\"CDSView\"},{\"attributes\":{\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1048\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1060\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"value\":0},\"y\":{\"value\":0}},\"id\":\"1044\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":0.1,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1049\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1058\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1050\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1063\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"}]},\"id\":\"1028\",\"type\":\"Toolbar\"},{\"attributes\":{\"data\":{\"x\":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7pAUaHxB0/nKHNERleVD/aBfTa5GK5P0zVkWhx9Mo/MyzH8YQWzD+pINmUkOTMP3OFqn2Lms0/8iIBCWq5zT9f49UIBzzMP06jPnzVuco/sfpwiWyyyj/cE/Pit0DIP4vjF9+tRMY/kk6lUKONxj9ZJ3Qv7GPIP/ywLEChx8c/uODkTw+Pwz//QpOmUxbHP+XSbuRmcsc/Yp1E8a8pwz/oPImT0KvFPxd9SDHizcY/vikqmuJdxT/4hylo1YvEP5Y1FnRwa8k/5e2syIN+xD/EzeGu4orJPxuGg09wIMU/rJm32UV5xj+PMOMRN+jGP3grYWRFv8Y/bX4Rdzn/xT9ZKtV4GxfHPzt7leYNTMs/XIVwz8fUyz9QPgO7qOfIPyqUsGwcrco/sAJAhxqPyT9kd/bygD3KP1TD+k2huM4/s6CWjY/Syj+BGQbOkyjMP8FmY0BjSc0/MMluZ0Vpzz9dkUVK2PzQP9E+WDIaQ88/mGf4APw+0D+Q2p3dchfQPyYJamTK6tA/LU7i+eGLzj9/DTFYturPP5SyL35DVdA/nSfrgGr4zz8FGxAeEujPP9nJc7aGLdA/bkbBxEHg0D9WlqbgMDTQP9QitksiYdA/fJg9erjT0D+WnxAqc4fQP6gDqOTq6s8/XstJZQWc0D9yFUr7DbXQP4Ys1hLqMtA/WPgvsM3J0D/PinNa9L3PP72HEQlkjM8/xb6Fgr3Dzz/MWdGtJUjQP4AIGIUljdI/HCzGFTn+1D8CkKaBv1/VPyhwUjJ6FNU/ZARpdk+O1T+PskAqb2jVPwVodjLZztU/goIrFgTq1D/6Vb29u4PUP1iFtqAKbtQ/QSPAM0z80z9oEEwZCNPSP0Gi0h0sStE/cZXjQS5gzj++dActio/GPw9LdrOlN7o/lacgTUsLor+sBLR9Caf7vw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[95]}},\"selected\":{\"id\":\"1063\"},\"selection_policy\":{\"id\":\"1062\"}},\"id\":\"1035\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"value\":0},\"y\":{\"value\":0}},\"id\":\"1043\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Line\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1065\"},\"selection_policy\":{\"id\":\"1064\"}},\"id\":\"1041\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1035\"},\"glyph\":{\"id\":\"1036\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1038\"},\"nonselection_glyph\":{\"id\":\"1037\"},\"view\":{\"id\":\"1040\"}},\"id\":\"1039\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"value\":0},\"y\":{\"value\":0}},\"id\":\"1042\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1047\"},\"glyph\":{\"id\":\"1048\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1050\"},\"nonselection_glyph\":{\"id\":\"1049\"},\"view\":{\"id\":\"1052\"}},\"id\":\"1051\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{\"format\":\"%+.1f%%\"},\"id\":\"1053\",\"type\":\"PrintfTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1041\"},\"glyph\":{\"id\":\"1042\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1044\"},\"nonselection_glyph\":{\"id\":\"1043\"},\"view\":{\"id\":\"1046\"},\"visible\":false},\"id\":\"1045\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Change in After-Tax Expanded Income\",\"axis_label_text_font_size\":\"12pt\",\"axis_label_text_font_style\":\"normal\",\"coordinates\":null,\"formatter\":{\"id\":\"1053\"},\"group\":null,\"major_label_policy\":{\"id\":\"1058\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"Baseline Expanded-Income Percentile\",\"axis_label_text_font_size\":\"12pt\",\"axis_label_text_font_style\":\"normal\",\"coordinates\":null,\"formatter\":{\"id\":\"1060\"},\"group\":null,\"major_label_policy\":{\"id\":\"1061\"},\"ticker\":{\"id\":\"1014\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1065\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1061\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1067\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1035\"}},\"id\":\"1040\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1038\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1064\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],\"y\":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},\"selected\":{\"id\":\"1067\"},\"selection_policy\":{\"id\":\"1066\"}},\"id\":\"1047\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Percentage Change in After-Tax Expanded Income by Income Percentile for 2020\",\"text_font_size\":\"12pt\"},\"id\":\"1003\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1062\",\"type\":\"UnionRenderers\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n const render_items = [{\"docid\":\"b4e7db24-33d9-48db-a78f-613a20b224ed\",\"root_ids\":[\"1002\"],\"roots\":{\"1002\":\"8ecf2c89-2d75-43f2-8d5a-e5caa0f4c91c\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { @@ -675,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": { "hide-output": false }, @@ -707,27 +369,27 @@ " \n", " \n", " Returns (#m)\n", - " 205.440\n", + " 204.480\n", " \n", " \n", " AGI ($b)\n", - " 11475.571\n", + " 11573.238\n", " \n", " \n", " Itemizers (#m)\n", - " 30.950\n", + " 27.730\n", " \n", " \n", " Itemized Deduction ($b)\n", - " 824.019\n", + " 752.189\n", " \n", " \n", " Standard Deduction Filers (#m)\n", - " 174.490\n", + " 176.750\n", " \n", " \n", " Standard Deduction ($b)\n", - " 3188.464\n", + " 3075.468\n", " \n", " \n", " Personal Exemption ($b)\n", @@ -735,35 +397,35 @@ " \n", " \n", " Taxable Income ($b)\n", - " 8513.062\n", + " 8617.397\n", " \n", " \n", " Regular Tax ($b)\n", - " 1505.162\n", + " 1505.274\n", " \n", " \n", " AMT Income ($b)\n", - " 10856.448\n", + " 11012.668\n", " \n", " \n", " AMT Liability ($b)\n", - " 0.923\n", + " 0.568\n", " \n", " \n", " AMT Filers (#m)\n", - " 0.420\n", + " 0.090\n", " \n", " \n", " Tax before Credits ($b)\n", - " 1506.085\n", + " 1505.841\n", " \n", " \n", " Refundable Credits ($b)\n", - " 103.539\n", + " 654.861\n", " \n", " \n", " Nonrefundable Credits ($b)\n", - " 94.954\n", + " 99.385\n", " \n", " \n", " Reform Surtaxes ($b)\n", @@ -771,27 +433,27 @@ " \n", " \n", " Other Taxes ($b)\n", - " 13.895\n", + " 12.575\n", " \n", " \n", " Ind Income Tax ($b)\n", - " 1321.487\n", + " 764.170\n", " \n", " \n", " Payroll Taxes ($b)\n", - " 1186.745\n", + " 1217.941\n", " \n", " \n", " Combined Liability ($b)\n", - " 2508.233\n", + " 1982.111\n", " \n", " \n", " With Income Tax <= 0 (#m)\n", - " 101.340\n", + " 135.170\n", " \n", " \n", " With Combined Tax <= 0 (#m)\n", - " 69.360\n", + " 98.150\n", " \n", " \n", " UBI Benefits ($b)\n", @@ -799,11 +461,11 @@ " \n", " \n", " Total Benefits, Consumption Value ($b)\n", - " 3650.123\n", + " 3617.042\n", " \n", " \n", " Total Benefits Cost ($b)\n", - " 3650.123\n", + " 3617.042\n", " \n", " \n", "\n", @@ -811,34 +473,34 @@ ], "text/plain": [ " 2020\n", - "Returns (#m) 205.440\n", - "AGI ($b) 11475.571\n", - "Itemizers (#m) 30.950\n", - "Itemized Deduction ($b) 824.019\n", - "Standard Deduction Filers (#m) 174.490\n", - "Standard Deduction ($b) 3188.464\n", + "Returns (#m) 204.480\n", + "AGI ($b) 11573.238\n", + "Itemizers (#m) 27.730\n", + "Itemized Deduction ($b) 752.189\n", + "Standard Deduction Filers (#m) 176.750\n", + "Standard Deduction ($b) 3075.468\n", "Personal Exemption ($b) 0.000\n", - "Taxable Income ($b) 8513.062\n", - "Regular Tax ($b) 1505.162\n", - "AMT Income ($b) 10856.448\n", - "AMT Liability ($b) 0.923\n", - "AMT Filers (#m) 0.420\n", - "Tax before Credits ($b) 1506.085\n", - "Refundable Credits ($b) 103.539\n", - "Nonrefundable Credits ($b) 94.954\n", + "Taxable Income ($b) 8617.397\n", + "Regular Tax ($b) 1505.274\n", + "AMT Income ($b) 11012.668\n", + "AMT Liability ($b) 0.568\n", + "AMT Filers (#m) 0.090\n", + "Tax before Credits ($b) 1505.841\n", + "Refundable Credits ($b) 654.861\n", + "Nonrefundable Credits ($b) 99.385\n", "Reform Surtaxes ($b) 0.000\n", - "Other Taxes ($b) 13.895\n", - "Ind Income Tax ($b) 1321.487\n", - "Payroll Taxes ($b) 1186.745\n", - "Combined Liability ($b) 2508.233\n", - "With Income Tax <= 0 (#m) 101.340\n", - "With Combined Tax <= 0 (#m) 69.360\n", + "Other Taxes ($b) 12.575\n", + "Ind Income Tax ($b) 764.170\n", + "Payroll Taxes ($b) 1217.941\n", + "Combined Liability ($b) 1982.111\n", + "With Income Tax <= 0 (#m) 135.170\n", + "With Combined Tax <= 0 (#m) 98.150\n", "UBI Benefits ($b) 0.000\n", - "Total Benefits, Consumption Value ($b) 3650.123\n", - "Total Benefits Cost ($b) 3650.123" + "Total Benefits, Consumption Value ($b) 3617.042\n", + "Total Benefits Cost ($b) 3617.042" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -856,7 +518,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": { "hide-output": false }, @@ -888,63 +550,63 @@ " \n", " \n", " Returns (#m)\n", - " 205.440\n", + " 204.480\n", " \n", " \n", " AGI ($b)\n", - " 11475.571\n", + " 11573.238\n", " \n", " \n", " Itemizers (#m)\n", - " 30.860\n", + " 27.660\n", " \n", " \n", " Itemized Deduction ($b)\n", - " 821.244\n", + " 749.755\n", " \n", " \n", " Standard Deduction Filers (#m)\n", - " 174.580\n", + " 176.820\n", " \n", " \n", " Standard Deduction ($b)\n", - " 3190.011\n", + " 3076.756\n", " \n", " \n", " Personal Exemption ($b)\n", - " 387.209\n", + " 375.177\n", " \n", " \n", " Taxable Income ($b)\n", - " 8274.064\n", + " 8369.678\n", " \n", " \n", " Regular Tax ($b)\n", - " 1511.260\n", + " 1505.595\n", " \n", " \n", " AMT Income ($b)\n", - " 10859.047\n", + " 11014.938\n", " \n", " \n", " AMT Liability ($b)\n", - " 0.978\n", + " 0.585\n", " \n", " \n", " AMT Filers (#m)\n", - " 0.450\n", + " 0.090\n", " \n", " \n", " Tax before Credits ($b)\n", - " 1512.239\n", + " 1506.180\n", " \n", " \n", " Refundable Credits ($b)\n", - " 106.802\n", + " 658.196\n", " \n", " \n", " Nonrefundable Credits ($b)\n", - " 89.372\n", + " 93.705\n", " \n", " \n", " Reform Surtaxes ($b)\n", @@ -952,27 +614,27 @@ " \n", " \n", " Other Taxes ($b)\n", - " 13.895\n", + " 12.575\n", " \n", " \n", " Ind Income Tax ($b)\n", - " 1329.959\n", + " 766.855\n", " \n", " \n", " Payroll Taxes ($b)\n", - " 1186.745\n", + " 1217.941\n", " \n", " \n", " Combined Liability ($b)\n", - " 2516.705\n", + " 1984.796\n", " \n", " \n", " With Income Tax <= 0 (#m)\n", - " 103.730\n", + " 137.340\n", " \n", " \n", " With Combined Tax <= 0 (#m)\n", - " 69.930\n", + " 98.910\n", " \n", " \n", " UBI Benefits ($b)\n", @@ -980,11 +642,11 @@ " \n", " \n", " Total Benefits, Consumption Value ($b)\n", - " 3650.123\n", + " 3617.042\n", " \n", " \n", " Total Benefits Cost ($b)\n", - " 3650.123\n", + " 3617.042\n", " \n", " \n", "\n", @@ -992,34 +654,34 @@ ], "text/plain": [ " 2020\n", - "Returns (#m) 205.440\n", - "AGI ($b) 11475.571\n", - "Itemizers (#m) 30.860\n", - "Itemized Deduction ($b) 821.244\n", - "Standard Deduction Filers (#m) 174.580\n", - "Standard Deduction ($b) 3190.011\n", - "Personal Exemption ($b) 387.209\n", - "Taxable Income ($b) 8274.064\n", - "Regular Tax ($b) 1511.260\n", - "AMT Income ($b) 10859.047\n", - "AMT Liability ($b) 0.978\n", - "AMT Filers (#m) 0.450\n", - "Tax before Credits ($b) 1512.239\n", - "Refundable Credits ($b) 106.802\n", - "Nonrefundable Credits ($b) 89.372\n", + "Returns (#m) 204.480\n", + "AGI ($b) 11573.238\n", + "Itemizers (#m) 27.660\n", + "Itemized Deduction ($b) 749.755\n", + "Standard Deduction Filers (#m) 176.820\n", + "Standard Deduction ($b) 3076.756\n", + "Personal Exemption ($b) 375.177\n", + "Taxable Income ($b) 8369.678\n", + "Regular Tax ($b) 1505.595\n", + "AMT Income ($b) 11014.938\n", + "AMT Liability ($b) 0.585\n", + "AMT Filers (#m) 0.090\n", + "Tax before Credits ($b) 1506.180\n", + "Refundable Credits ($b) 658.196\n", + "Nonrefundable Credits ($b) 93.705\n", "Reform Surtaxes ($b) 0.000\n", - "Other Taxes ($b) 13.895\n", - "Ind Income Tax ($b) 1329.959\n", - "Payroll Taxes ($b) 1186.745\n", - "Combined Liability ($b) 2516.705\n", - "With Income Tax <= 0 (#m) 103.730\n", - "With Combined Tax <= 0 (#m) 69.930\n", + "Other Taxes ($b) 12.575\n", + "Ind Income Tax ($b) 766.855\n", + "Payroll Taxes ($b) 1217.941\n", + "Combined Liability ($b) 1984.796\n", + "With Income Tax <= 0 (#m) 137.340\n", + "With Combined Tax <= 0 (#m) 98.910\n", "UBI Benefits ($b) 0.000\n", - "Total Benefits, Consumption Value ($b) 3650.123\n", - "Total Benefits Cost ($b) 3650.123" + "Total Benefits, Consumption Value ($b) 3617.042\n", + "Total Benefits Cost ($b) 3617.042" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1037,7 +699,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": { "hide-output": false }, @@ -1073,175 +735,175 @@ " \n", " \n", " 0-10n\n", - " 0.114430\n", - " 0.000000\n", - " 0.000000\n", - " -8.336880\n", - " -8.336880\n", + " 0.103662\n", + " -0.292423\n", + " -0.292423\n", + " -6.364313\n", + " -6.364313\n", " \n", " \n", " 0-10z\n", - " 8.403193\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", + " 8.289516\n", + " -17.339037\n", + " -17.339037\n", + " 17.339037\n", + " 17.339037\n", " \n", " \n", " 0-10p\n", - " 12.024905\n", - " -0.658431\n", - " -0.658431\n", - " 39.100850\n", - " 39.100850\n", + " 12.054710\n", + " -25.583473\n", + " -25.583473\n", + " 66.416417\n", + " 66.416417\n", " \n", " \n", " 10-20\n", - " 20.546100\n", - " -8.163146\n", - " -8.462583\n", - " 254.161426\n", - " 254.460863\n", + " 20.448902\n", + " -52.554387\n", + " -52.900799\n", + " 308.444021\n", + " 308.790433\n", " \n", " \n", " 20-30\n", - " 20.544257\n", - " -6.965458\n", - " -8.028696\n", - " 483.759011\n", - " 484.822249\n", + " 20.447972\n", + " -53.636240\n", + " -54.653772\n", + " 542.850180\n", + " 543.867712\n", " \n", " \n", " 30-40\n", - " 20.544358\n", - " 0.378259\n", - " -0.870559\n", - " 662.399548\n", - " 663.648366\n", + " 20.448551\n", + " -46.759061\n", + " -48.021038\n", + " 718.059905\n", + " 719.321882\n", " \n", " \n", " 40-50\n", - " 20.543396\n", - " 6.744895\n", - " 5.119558\n", - " 826.755409\n", - " 828.380745\n", + " 20.448614\n", + " -44.573176\n", + " -46.294368\n", + " 888.228515\n", + " 889.949708\n", " \n", " \n", " 50-60\n", - " 20.544877\n", - " 17.232458\n", - " 14.844037\n", - " 1027.126836\n", - " 1029.515257\n", + " 20.448520\n", + " -39.736886\n", + " -42.405082\n", + " 1100.805232\n", + " 1103.473428\n", " \n", " \n", " 60-70\n", - " 20.544650\n", - " 35.578883\n", - " 32.102435\n", - " 1288.718946\n", - " 1292.195394\n", + " 20.448182\n", + " -30.590266\n", + " -34.290827\n", + " 1381.854900\n", + " 1385.555461\n", " \n", " \n", " 70-80\n", - " 20.544138\n", - " 74.685647\n", - " 70.005515\n", - " 1638.897669\n", - " 1643.577800\n", + " 20.448218\n", + " 2.337068\n", + " -2.517134\n", + " 1742.953419\n", + " 1747.807621\n", " \n", " \n", " 80-90\n", - " 20.544566\n", - " 155.808839\n", - " 148.199487\n", - " 2184.242996\n", - " 2191.852349\n", + " 20.447460\n", + " 85.024868\n", + " 76.807708\n", + " 2292.728158\n", + " 2300.945318\n", " \n", " \n", " 90-100\n", - " 20.544658\n", - " 1046.845328\n", - " 1077.708556\n", - " 4758.309062\n", - " 4727.445834\n", + " 20.449858\n", + " 987.873311\n", + " 1014.344944\n", + " 4737.770572\n", + " 4711.298939\n", " \n", " \n", " ALL\n", - " 205.443528\n", - " 1321.487275\n", - " 1329.959319\n", - " 13155.134872\n", - " 13146.662827\n", + " 204.484164\n", + " 764.170298\n", + " 766.854698\n", + " 13791.086043\n", + " 13788.401642\n", " \n", " \n", " 90-95\n", - " 10.271604\n", - " 170.933865\n", - " 165.558035\n", - " 1491.100907\n", - " 1496.476737\n", + " 10.225611\n", + " 142.001368\n", + " 136.439568\n", + " 1532.001747\n", + " 1537.563546\n", " \n", " \n", " 95-99\n", - " 8.218293\n", - " 332.400614\n", - " 330.837087\n", - " 1841.803092\n", - " 1843.366620\n", + " 8.177219\n", + " 322.467707\n", + " 320.116774\n", + " 1821.899805\n", + " 1824.250737\n", " \n", " \n", " Top 1%\n", - " 2.054761\n", - " 543.510848\n", - " 581.313434\n", - " 1425.405063\n", - " 1387.602477\n", + " 2.047027\n", + " 523.404237\n", + " 557.788601\n", + " 1383.869020\n", + " 1349.484656\n", " \n", " \n", "\n", "" ], "text/plain": [ - " funits(#m) itax1($b) itax2($b) aftertax_inc1($b) \\\n", - "0-10n 0.114430 0.000000 0.000000 -8.336880 \n", - "0-10z 8.403193 0.000000 0.000000 0.000000 \n", - "0-10p 12.024905 -0.658431 -0.658431 39.100850 \n", - "10-20 20.546100 -8.163146 -8.462583 254.161426 \n", - "20-30 20.544257 -6.965458 -8.028696 483.759011 \n", - "30-40 20.544358 0.378259 -0.870559 662.399548 \n", - "40-50 20.543396 6.744895 5.119558 826.755409 \n", - "50-60 20.544877 17.232458 14.844037 1027.126836 \n", - "60-70 20.544650 35.578883 32.102435 1288.718946 \n", - "70-80 20.544138 74.685647 70.005515 1638.897669 \n", - "80-90 20.544566 155.808839 148.199487 2184.242996 \n", - "90-100 20.544658 1046.845328 1077.708556 4758.309062 \n", - "ALL 205.443528 1321.487275 1329.959319 13155.134872 \n", - "90-95 10.271604 170.933865 165.558035 1491.100907 \n", - "95-99 8.218293 332.400614 330.837087 1841.803092 \n", - "Top 1% 2.054761 543.510848 581.313434 1425.405063 \n", + " funits(#m) itax1($b) itax2($b) aftertax_inc1($b) \\\n", + "0-10n 0.103662 -0.292423 -0.292423 -6.364313 \n", + "0-10z 8.289516 -17.339037 -17.339037 17.339037 \n", + "0-10p 12.054710 -25.583473 -25.583473 66.416417 \n", + "10-20 20.448902 -52.554387 -52.900799 308.444021 \n", + "20-30 20.447972 -53.636240 -54.653772 542.850180 \n", + "30-40 20.448551 -46.759061 -48.021038 718.059905 \n", + "40-50 20.448614 -44.573176 -46.294368 888.228515 \n", + "50-60 20.448520 -39.736886 -42.405082 1100.805232 \n", + "60-70 20.448182 -30.590266 -34.290827 1381.854900 \n", + "70-80 20.448218 2.337068 -2.517134 1742.953419 \n", + "80-90 20.447460 85.024868 76.807708 2292.728158 \n", + "90-100 20.449858 987.873311 1014.344944 4737.770572 \n", + "ALL 204.484164 764.170298 766.854698 13791.086043 \n", + "90-95 10.225611 142.001368 136.439568 1532.001747 \n", + "95-99 8.177219 322.467707 320.116774 1821.899805 \n", + "Top 1% 2.047027 523.404237 557.788601 1383.869020 \n", "\n", " aftertax_inc2($b) \n", - "0-10n -8.336880 \n", - "0-10z 0.000000 \n", - "0-10p 39.100850 \n", - "10-20 254.460863 \n", - "20-30 484.822249 \n", - "30-40 663.648366 \n", - "40-50 828.380745 \n", - "50-60 1029.515257 \n", - "60-70 1292.195394 \n", - "70-80 1643.577800 \n", - "80-90 2191.852349 \n", - "90-100 4727.445834 \n", - "ALL 13146.662827 \n", - "90-95 1496.476737 \n", - "95-99 1843.366620 \n", - "Top 1% 1387.602477 " + "0-10n -6.364313 \n", + "0-10z 17.339037 \n", + "0-10p 66.416417 \n", + "10-20 308.790433 \n", + "20-30 543.867712 \n", + "30-40 719.321882 \n", + "40-50 889.949708 \n", + "50-60 1103.473428 \n", + "60-70 1385.555461 \n", + "70-80 1747.807621 \n", + "80-90 2300.945318 \n", + "90-100 4711.298939 \n", + "ALL 13788.401642 \n", + "90-95 1537.563546 \n", + "95-99 1824.250737 \n", + "Top 1% 1349.484656 " ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1259,7 +921,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": { "hide-output": false }, @@ -1294,115 +956,115 @@ " \n", " \n", " 0-10n\n", - " 0.114430\n", - " 0.000000e+00\n", - " 0.000000e+00\n", + " 0.103662\n", + " 0.000000\n", + " 0.000000\n", " 0.000000\n", " \n", " \n", " 0-10z\n", - " 8.403193\n", - " 0.000000e+00\n", - " 0.000000e+00\n", - " NaN\n", + " 8.289516\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", " \n", " \n", " 0-10p\n", - " 12.024905\n", - " 1.629896e-22\n", - " 1.355434e-20\n", + " 12.054710\n", + " 0.000000\n", + " 0.000000\n", " 0.000000\n", " \n", " \n", " 10-20\n", - " 20.546100\n", - " -2.994368e-01\n", - " -1.457390e+01\n", - " 0.117814\n", + " 20.448902\n", + " -0.346412\n", + " -16.940394\n", + " 0.112310\n", " \n", " \n", " 20-30\n", - " 20.544257\n", - " -1.063238e+00\n", - " -5.175354e+01\n", - " 0.219787\n", + " 20.447972\n", + " -1.017532\n", + " -49.762006\n", + " 0.187443\n", " \n", " \n", " 30-40\n", - " 20.544358\n", - " -1.248819e+00\n", - " -6.078645e+01\n", - " 0.188530\n", + " 20.448551\n", + " -1.261977\n", + " -61.714742\n", + " 0.175748\n", " \n", " \n", " 40-50\n", - " 20.543396\n", - " -1.625336e+00\n", - " -7.911722e+01\n", - " 0.196592\n", + " 20.448614\n", + " -1.721193\n", + " -84.171605\n", + " 0.193778\n", " \n", " \n", " 50-60\n", - " 20.544877\n", - " -2.388421e+00\n", - " -1.162538e+02\n", - " 0.232534\n", + " 20.448520\n", + " -2.668196\n", + " -130.483583\n", + " 0.242386\n", " \n", " \n", " 60-70\n", - " 20.544650\n", - " -3.476448e+00\n", - " -1.692143e+02\n", - " 0.269760\n", + " 20.448182\n", + " -3.700560\n", + " -180.972592\n", + " 0.267797\n", " \n", " \n", " 70-80\n", - " 20.544138\n", - " -4.680132e+00\n", - " -2.278086e+02\n", - " 0.285566\n", + " 20.448218\n", + " -4.854202\n", + " -237.389972\n", + " 0.278504\n", " \n", " \n", " 80-90\n", - " 20.544566\n", - " -7.609353e+00\n", - " -3.703827e+02\n", - " 0.348375\n", + " 20.447460\n", + " -8.217160\n", + " -401.867019\n", + " 0.358401\n", " \n", " \n", " 90-100\n", - " 20.544658\n", - " 3.086323e+01\n", - " 1.502251e+03\n", - " -0.648618\n", + " 20.449858\n", + " 26.471633\n", + " 1294.465375\n", + " -0.558736\n", " \n", " \n", " ALL\n", - " 205.443528\n", - " 8.472045e+00\n", - " 4.123783e+01\n", - " -0.064401\n", + " 204.484164\n", + " 2.684400\n", + " 13.127667\n", + " -0.019465\n", " \n", " \n", " 90-95\n", - " 10.271604\n", - " -5.375830e+00\n", - " -5.233682e+02\n", - " 0.360528\n", + " 10.225611\n", + " -5.561800\n", + " -543.908766\n", + " 0.363041\n", " \n", " \n", " 95-99\n", - " 8.218293\n", - " -1.563528e+00\n", - " -1.902497e+02\n", - " 0.084891\n", + " 8.177219\n", + " -2.350932\n", + " -287.497784\n", + " 0.129037\n", " \n", " \n", " Top 1%\n", - " 2.054761\n", - " 3.780259e+01\n", - " 1.839756e+04\n", - " -2.652059\n", + " 2.047027\n", + " 34.384364\n", + " 16797.217391\n", + " -2.484655\n", " \n", " \n", "\n", @@ -1410,25 +1072,25 @@ ], "text/plain": [ " funits(#m) agg_diff($b) mean_diff($) aftertaxinc_diff(%)\n", - "0-10n 0.114430 0.000000e+00 0.000000e+00 0.000000\n", - "0-10z 8.403193 0.000000e+00 0.000000e+00 NaN\n", - "0-10p 12.024905 1.629896e-22 1.355434e-20 0.000000\n", - "10-20 20.546100 -2.994368e-01 -1.457390e+01 0.117814\n", - "20-30 20.544257 -1.063238e+00 -5.175354e+01 0.219787\n", - "30-40 20.544358 -1.248819e+00 -6.078645e+01 0.188530\n", - "40-50 20.543396 -1.625336e+00 -7.911722e+01 0.196592\n", - "50-60 20.544877 -2.388421e+00 -1.162538e+02 0.232534\n", - "60-70 20.544650 -3.476448e+00 -1.692143e+02 0.269760\n", - "70-80 20.544138 -4.680132e+00 -2.278086e+02 0.285566\n", - "80-90 20.544566 -7.609353e+00 -3.703827e+02 0.348375\n", - "90-100 20.544658 3.086323e+01 1.502251e+03 -0.648618\n", - "ALL 205.443528 8.472045e+00 4.123783e+01 -0.064401\n", - "90-95 10.271604 -5.375830e+00 -5.233682e+02 0.360528\n", - "95-99 8.218293 -1.563528e+00 -1.902497e+02 0.084891\n", - "Top 1% 2.054761 3.780259e+01 1.839756e+04 -2.652059" + "0-10n 0.103662 0.000000 0.000000 0.000000\n", + "0-10z 8.289516 0.000000 0.000000 0.000000\n", + "0-10p 12.054710 0.000000 0.000000 0.000000\n", + "10-20 20.448902 -0.346412 -16.940394 0.112310\n", + "20-30 20.447972 -1.017532 -49.762006 0.187443\n", + "30-40 20.448551 -1.261977 -61.714742 0.175748\n", + "40-50 20.448614 -1.721193 -84.171605 0.193778\n", + "50-60 20.448520 -2.668196 -130.483583 0.242386\n", + "60-70 20.448182 -3.700560 -180.972592 0.267797\n", + "70-80 20.448218 -4.854202 -237.389972 0.278504\n", + "80-90 20.447460 -8.217160 -401.867019 0.358401\n", + "90-100 20.449858 26.471633 1294.465375 -0.558736\n", + "ALL 204.484164 2.684400 13.127667 -0.019465\n", + "90-95 10.225611 -5.561800 -543.908766 0.363041\n", + "95-99 8.177219 -2.350932 -287.497784 0.129037\n", + "Top 1% 2.047027 34.384364 16797.217391 -2.484655" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1436,6 +1098,13 @@ "source": [ "diff_extract" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1459,7 +1128,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.13" }, "title": "Basic Recipe: Static Analysis of a Simple Reform" }, diff --git a/docs/recipes/recipe01.ipynb b/docs/recipes/recipe01.ipynb index 27590f221..addfe695e 100644 --- a/docs/recipes/recipe01.ipynb +++ b/docs/recipes/recipe01.ipynb @@ -14,41 +14,49 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 1, "metadata": { "tags": [ "remove-cell" ] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], "source": [ - "# Install conda and taxcalc if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", + "# Install taxcalc if not already installed\n", "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null" + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "metadata": { "hide-output": false }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jason.debacker/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n", + " warnings.warn(\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "2018_REFORM1_iitax_rev($B)= 1490.622\n", - "2018_REFORM2_iitax_rev($B)= 1318.628\n", + "2018_REFORM1_iitax_rev($B)= 1357.959\n", + "2018_REFORM2_iitax_rev($B)= 1191.548\n", "\n" ] } @@ -121,7 +129,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": { "hide-output": false }, @@ -134,22 +142,22 @@ "(taxfall is count of funits with cut in income tax in reform 2 vs 1)\n", "(taxrise is count of funits with rise in income tax in reform 2 vs 1)\n", " funits(#m) taxfall(#m) taxrise(#m) agg_diff($b) mean_diff($) aftertax_income_diff(%)\n", - "0-10n 0.106585 0.000000 0.000000 0.000000 0.000000 0.000000\n", - "0-10z 8.200964 0.000000 0.000000 0.000000 0.000000 NaN\n", - "0-10p 11.685544 0.145729 0.017773 -0.010031 -0.858403 0.026886\n", - "10-20 19.993379 6.131286 2.879208 -0.737282 -36.876308 0.307117\n", - "20-30 19.992590 9.819025 2.904122 -1.767789 -88.422187 0.388099\n", - "30-40 19.995314 8.928170 2.495154 -3.420389 -171.059528 0.551945\n", - "40-50 19.993436 10.540007 2.490796 -5.754637 -287.826313 0.746778\n", - "50-60 19.994152 12.663991 2.070555 -8.569910 -428.620835 0.894647\n", - "60-70 19.992890 13.910415 1.784819 -11.604895 -580.451123 0.964668\n", - "70-80 19.994268 15.376689 1.552446 -16.537168 -827.095476 1.080738\n", - "80-90 19.993895 17.040071 1.620336 -26.070610 -1303.928552 1.277742\n", - "90-100 19.993808 18.220631 1.530360 -97.520960 -4877.557973 2.180188\n", - "ALL 199.936825 112.776014 19.345569 -171.993672 -860.240085 1.396031\n", - "90-95 9.996300 9.017015 0.757695 -23.229363 -2323.796032 1.660532\n", - "95-99 7.997983 7.390026 0.586730 -41.609762 -5202.531695 2.400130\n", - "Top 1% 1.999525 1.813590 0.185935 -32.681835 -16344.800972 2.438041\n" + "0-10n 0.099275 0.000000 0.000000 0.000000 0.000000 0.000000\n", + "0-10z 8.084542 0.000000 0.000000 0.000000 0.000000 NaN\n", + "0-10p 11.735976 0.169109 0.011897 -0.011921 -1.015744 0.031171\n", + "10-20 19.921421 6.244056 2.883407 -0.773509 -38.828008 0.322410\n", + "20-30 19.920369 10.151692 2.378508 -1.896750 -95.216620 0.419345\n", + "30-40 19.917881 9.242263 1.994306 -3.502678 -175.855977 0.571117\n", + "40-50 19.923591 11.040202 2.113940 -5.832407 -292.738759 0.767135\n", + "50-60 19.919733 13.189452 2.028448 -8.722775 -437.896167 0.920887\n", + "60-70 19.921081 14.175127 1.733752 -11.955894 -600.162899 1.000052\n", + "70-80 19.921138 15.556599 1.506702 -17.063720 -856.563503 1.126938\n", + "80-90 19.920627 16.985440 1.623547 -26.169065 -1313.666732 1.300501\n", + "90-100 19.920851 18.176315 1.484443 -90.482764 -4542.113487 2.145463\n", + "ALL 199.206484 114.930254 17.758950 -166.411483 -835.371819 1.388568\n", + "90-95 9.960209 8.973904 0.753146 -22.527567 -2261.756334 1.659892\n", + "95-99 7.968375 7.400993 0.540449 -37.453830 -4700.309681 2.287011\n", + "Top 1% 1.992266 1.801418 0.190848 -30.501367 -15309.885606 2.494891\n" ] } ], @@ -183,7 +191,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.6" }, "title": "Recipe 1: Directly Comparing Two Reforms" }, diff --git a/docs/recipes/recipe02.ipynb b/docs/recipes/recipe02.ipynb index c8397a372..fda5d9c2a 100644 --- a/docs/recipes/recipe02.ipynb +++ b/docs/recipes/recipe02.ipynb @@ -12,7 +12,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "if 'google.colab' in sys.modules:\n", + " !pip install -q condacolab &> /dev/null # dev/null suppresses output\n", + " import condacolab\n", + " condacolab.install()" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": { "tags": [ "remove-cell" @@ -20,24 +33,16 @@ }, "outputs": [], "source": [ - "# Install conda, taxcalc, and behresp if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", - "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null\n", - " !yes | conda install -c conda-forge behresp &> /dev/null" + "# Install taxcalc if not already installed\n", + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output\n", + "if 'behresp' not in sys.modules:\n", + " !yes | conda install conda-forge::behresp #&> /dev/null" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "hide-output": false }, @@ -46,9 +51,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "2020_CURRENT_LAW_P__itax_rev($B)= 1321.487\n", - "2020_REFORM_STATIC__itax_rev($B)= 1329.959\n", - "2020_REFORM_DYNAMIC_itax_rev($B)= 1316.667\n" + "2020_CURRENT_LAW_P__itax_rev($B)= 764.170\n", + "2020_REFORM_STATIC__itax_rev($B)= 766.855\n", + "2020_REFORM_DYNAMIC_itax_rev($B)= 755.060\n" ] } ], @@ -109,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "hide-output": false }, @@ -138,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "hide-output": false }, @@ -172,39 +177,39 @@ " \n", " \n", " Returns (#m)\n", - " 205.440\n", - " 208.140\n", - " 210.820\n", + " 204.480\n", + " 207.080\n", + " 209.660\n", " \n", " \n", " AGI ($b)\n", - " 11475.571\n", - " 11691.366\n", - " 12219.492\n", + " 11573.238\n", + " 13156.205\n", + " 13723.185\n", " \n", " \n", " Itemizers (#m)\n", - " 30.950\n", - " 29.170\n", - " 30.670\n", + " 27.730\n", + " 32.030\n", + " 31.220\n", " \n", " \n", " Itemized Deduction ($b)\n", - " 824.019\n", - " 760.366\n", - " 809.757\n", + " 752.189\n", + " 880.903\n", + " 882.969\n", " \n", " \n", " Standard Deduction Filers (#m)\n", - " 174.490\n", - " 178.960\n", - " 180.140\n", + " 176.750\n", + " 175.050\n", + " 178.440\n", " \n", " \n", " Standard Deduction ($b)\n", - " 3188.464\n", - " 3289.501\n", - " 3344.937\n", + " 3075.468\n", + " 3066.702\n", + " 3229.758\n", " \n", " \n", " Personal Exemption ($b)\n", @@ -214,51 +219,51 @@ " \n", " \n", " Taxable Income ($b)\n", - " 8513.062\n", - " 8731.100\n", - " 9177.528\n", + " 8617.397\n", + " 10040.159\n", + " 10505.738\n", " \n", " \n", " Regular Tax ($b)\n", - " 1505.162\n", - " 1544.527\n", - " 1635.569\n", + " 1505.274\n", + " 1760.905\n", + " 1864.719\n", " \n", " \n", " AMT Income ($b)\n", - " 10856.448\n", - " 11122.136\n", - " 11611.624\n", + " 11012.668\n", + " 12497.322\n", + " 13059.342\n", " \n", " \n", " AMT Liability ($b)\n", - " 0.923\n", - " 0.883\n", - " 0.902\n", + " 0.568\n", + " 1.811\n", + " 1.322\n", " \n", " \n", " AMT Filers (#m)\n", - " 0.420\n", - " 0.440\n", - " 0.440\n", + " 0.090\n", + " 0.330\n", + " 0.250\n", " \n", " \n", " Tax before Credits ($b)\n", - " 1506.085\n", - " 1545.410\n", - " 1636.472\n", + " 1505.841\n", + " 1762.716\n", + " 1866.041\n", " \n", " \n", " Refundable Credits ($b)\n", - " 103.539\n", - " 867.141\n", - " 102.528\n", + " 654.861\n", + " 827.256\n", + " 98.250\n", " \n", " \n", " Nonrefundable Credits ($b)\n", - " 94.954\n", - " 3.935\n", - " 98.942\n", + " 99.385\n", + " 0.005\n", + " 107.651\n", " \n", " \n", " Reform Surtaxes ($b)\n", @@ -268,39 +273,39 @@ " \n", " \n", " Other Taxes ($b)\n", - " 13.895\n", - " 12.309\n", - " 13.109\n", + " 12.575\n", + " 13.844\n", + " 14.446\n", " \n", " \n", " Ind Income Tax ($b)\n", - " 1321.487\n", - " 686.642\n", - " 1448.110\n", + " 764.170\n", + " 949.299\n", + " 1674.587\n", " \n", " \n", " Payroll Taxes ($b)\n", - " 1186.745\n", - " 1213.929\n", - " 1267.083\n", + " 1217.941\n", + " 1318.728\n", + " 1421.579\n", " \n", " \n", " Combined Liability ($b)\n", - " 2508.233\n", - " 1900.571\n", - " 2715.194\n", + " 1982.111\n", + " 2268.028\n", + " 3096.166\n", " \n", " \n", " With Income Tax <= 0 (#m)\n", - " 101.340\n", - " 136.280\n", - " 102.410\n", + " 135.170\n", + " 127.680\n", + " 95.970\n", " \n", " \n", " With Combined Tax <= 0 (#m)\n", - " 69.360\n", - " 106.330\n", - " 71.670\n", + " 98.150\n", + " 97.700\n", + " 67.730\n", " \n", " \n", " UBI Benefits ($b)\n", @@ -310,15 +315,15 @@ " \n", " \n", " Total Benefits, Consumption Value ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", " Total Benefits Cost ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", "\n", @@ -326,34 +331,34 @@ ], "text/plain": [ " 2020 2021 2022\n", - "Returns (#m) 205.440 208.140 210.820\n", - "AGI ($b) 11475.571 11691.366 12219.492\n", - "Itemizers (#m) 30.950 29.170 30.670\n", - "Itemized Deduction ($b) 824.019 760.366 809.757\n", - "Standard Deduction Filers (#m) 174.490 178.960 180.140\n", - "Standard Deduction ($b) 3188.464 3289.501 3344.937\n", + "Returns (#m) 204.480 207.080 209.660\n", + "AGI ($b) 11573.238 13156.205 13723.185\n", + "Itemizers (#m) 27.730 32.030 31.220\n", + "Itemized Deduction ($b) 752.189 880.903 882.969\n", + "Standard Deduction Filers (#m) 176.750 175.050 178.440\n", + "Standard Deduction ($b) 3075.468 3066.702 3229.758\n", "Personal Exemption ($b) 0.000 0.000 0.000\n", - "Taxable Income ($b) 8513.062 8731.100 9177.528\n", - "Regular Tax ($b) 1505.162 1544.527 1635.569\n", - "AMT Income ($b) 10856.448 11122.136 11611.624\n", - "AMT Liability ($b) 0.923 0.883 0.902\n", - "AMT Filers (#m) 0.420 0.440 0.440\n", - "Tax before Credits ($b) 1506.085 1545.410 1636.472\n", - "Refundable Credits ($b) 103.539 867.141 102.528\n", - "Nonrefundable Credits ($b) 94.954 3.935 98.942\n", + "Taxable Income ($b) 8617.397 10040.159 10505.738\n", + "Regular Tax ($b) 1505.274 1760.905 1864.719\n", + "AMT Income ($b) 11012.668 12497.322 13059.342\n", + "AMT Liability ($b) 0.568 1.811 1.322\n", + "AMT Filers (#m) 0.090 0.330 0.250\n", + "Tax before Credits ($b) 1505.841 1762.716 1866.041\n", + "Refundable Credits ($b) 654.861 827.256 98.250\n", + "Nonrefundable Credits ($b) 99.385 0.005 107.651\n", "Reform Surtaxes ($b) 0.000 0.000 0.000\n", - "Other Taxes ($b) 13.895 12.309 13.109\n", - "Ind Income Tax ($b) 1321.487 686.642 1448.110\n", - "Payroll Taxes ($b) 1186.745 1213.929 1267.083\n", - "Combined Liability ($b) 2508.233 1900.571 2715.194\n", - "With Income Tax <= 0 (#m) 101.340 136.280 102.410\n", - "With Combined Tax <= 0 (#m) 69.360 106.330 71.670\n", + "Other Taxes ($b) 12.575 13.844 14.446\n", + "Ind Income Tax ($b) 764.170 949.299 1674.587\n", + "Payroll Taxes ($b) 1217.941 1318.728 1421.579\n", + "Combined Liability ($b) 1982.111 2268.028 3096.166\n", + "With Income Tax <= 0 (#m) 135.170 127.680 95.970\n", + "With Combined Tax <= 0 (#m) 98.150 97.700 67.730\n", "UBI Benefits ($b) 0.000 0.000 0.000\n", - "Total Benefits, Consumption Value ($b) 3650.123 3871.611 4112.506\n", - "Total Benefits Cost ($b) 3650.123 3871.611 4112.506" + "Total Benefits, Consumption Value ($b) 3617.042 3992.973 4069.559\n", + "Total Benefits Cost ($b) 3617.042 3992.973 4069.559" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -371,7 +376,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "hide-output": false }, @@ -405,93 +410,93 @@ " \n", " \n", " Returns (#m)\n", - " 205.440\n", - " 208.140\n", - " 210.820\n", + " 204.480\n", + " 207.080\n", + " 209.660\n", " \n", " \n", " AGI ($b)\n", - " 11475.571\n", - " 11691.366\n", - " 12219.492\n", + " 11573.238\n", + " 13156.205\n", + " 13723.185\n", " \n", " \n", " Itemizers (#m)\n", - " 30.860\n", - " 29.100\n", - " 30.580\n", + " 27.660\n", + " 31.890\n", + " 31.110\n", " \n", " \n", " Itemized Deduction ($b)\n", - " 821.244\n", - " 757.934\n", - " 807.273\n", + " 749.755\n", + " 877.489\n", + " 879.822\n", " \n", " \n", " Standard Deduction Filers (#m)\n", - " 174.580\n", - " 179.040\n", - " 180.230\n", + " 176.820\n", + " 175.180\n", + " 178.560\n", " \n", " \n", " Standard Deduction ($b)\n", - " 3190.011\n", - " 3290.859\n", - " 3346.410\n", + " 3076.756\n", + " 3068.785\n", + " 3231.586\n", " \n", " \n", " Personal Exemption ($b)\n", - " 387.209\n", - " 394.699\n", - " 403.152\n", + " 375.177\n", + " 383.210\n", + " 404.808\n", " \n", " \n", " Taxable Income ($b)\n", - " 8274.064\n", - " 8486.881\n", - " 8927.069\n", + " 8369.678\n", + " 9776.270\n", + " 10230.157\n", " \n", " \n", " Regular Tax ($b)\n", - " 1511.260\n", - " 1550.256\n", - " 1643.269\n", + " 1505.595\n", + " 1764.964\n", + " 1871.117\n", " \n", " \n", " AMT Income ($b)\n", - " 10859.047\n", - " 11124.396\n", - " 11613.962\n", + " 11014.938\n", + " 12500.520\n", + " 13062.305\n", " \n", " \n", " AMT Liability ($b)\n", - " 0.978\n", - " 0.964\n", - " 0.978\n", + " 0.585\n", + " 1.927\n", + " 1.414\n", " \n", " \n", " AMT Filers (#m)\n", - " 0.450\n", - " 0.450\n", - " 0.460\n", + " 0.090\n", + " 0.350\n", + " 0.270\n", " \n", " \n", " Tax before Credits ($b)\n", - " 1512.239\n", - " 1551.220\n", - " 1644.247\n", + " 1506.180\n", + " 1766.891\n", + " 1872.531\n", " \n", " \n", " Refundable Credits ($b)\n", - " 106.802\n", - " 867.141\n", - " 106.097\n", + " 658.196\n", + " 827.256\n", + " 101.933\n", " \n", " \n", " Nonrefundable Credits ($b)\n", - " 89.372\n", - " 3.728\n", - " 93.371\n", + " 93.705\n", + " 0.002\n", + " 102.012\n", " \n", " \n", " Reform Surtaxes ($b)\n", @@ -501,39 +506,39 @@ " \n", " \n", " Other Taxes ($b)\n", - " 13.895\n", - " 12.309\n", - " 13.109\n", + " 12.575\n", + " 13.844\n", + " 14.446\n", " \n", " \n", " Ind Income Tax ($b)\n", - " 1329.959\n", - " 692.660\n", - " 1457.889\n", + " 766.855\n", + " 953.478\n", + " 1683.031\n", " \n", " \n", " Payroll Taxes ($b)\n", - " 1186.745\n", - " 1213.929\n", - " 1267.083\n", + " 1217.941\n", + " 1318.728\n", + " 1421.579\n", " \n", " \n", " Combined Liability ($b)\n", - " 2516.705\n", - " 1906.589\n", - " 2724.972\n", + " 1984.796\n", + " 2272.206\n", + " 3104.610\n", " \n", " \n", " With Income Tax <= 0 (#m)\n", - " 103.730\n", - " 138.010\n", - " 104.890\n", + " 137.340\n", + " 129.960\n", + " 98.600\n", " \n", " \n", " With Combined Tax <= 0 (#m)\n", - " 69.930\n", - " 107.270\n", - " 72.360\n", + " 98.910\n", + " 98.600\n", + " 68.450\n", " \n", " \n", " UBI Benefits ($b)\n", @@ -543,15 +548,15 @@ " \n", " \n", " Total Benefits, Consumption Value ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", " Total Benefits Cost ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", "\n", @@ -559,34 +564,34 @@ ], "text/plain": [ " 2020 2021 2022\n", - "Returns (#m) 205.440 208.140 210.820\n", - "AGI ($b) 11475.571 11691.366 12219.492\n", - "Itemizers (#m) 30.860 29.100 30.580\n", - "Itemized Deduction ($b) 821.244 757.934 807.273\n", - "Standard Deduction Filers (#m) 174.580 179.040 180.230\n", - "Standard Deduction ($b) 3190.011 3290.859 3346.410\n", - "Personal Exemption ($b) 387.209 394.699 403.152\n", - "Taxable Income ($b) 8274.064 8486.881 8927.069\n", - "Regular Tax ($b) 1511.260 1550.256 1643.269\n", - "AMT Income ($b) 10859.047 11124.396 11613.962\n", - "AMT Liability ($b) 0.978 0.964 0.978\n", - "AMT Filers (#m) 0.450 0.450 0.460\n", - "Tax before Credits ($b) 1512.239 1551.220 1644.247\n", - "Refundable Credits ($b) 106.802 867.141 106.097\n", - "Nonrefundable Credits ($b) 89.372 3.728 93.371\n", + "Returns (#m) 204.480 207.080 209.660\n", + "AGI ($b) 11573.238 13156.205 13723.185\n", + "Itemizers (#m) 27.660 31.890 31.110\n", + "Itemized Deduction ($b) 749.755 877.489 879.822\n", + "Standard Deduction Filers (#m) 176.820 175.180 178.560\n", + "Standard Deduction ($b) 3076.756 3068.785 3231.586\n", + "Personal Exemption ($b) 375.177 383.210 404.808\n", + "Taxable Income ($b) 8369.678 9776.270 10230.157\n", + "Regular Tax ($b) 1505.595 1764.964 1871.117\n", + "AMT Income ($b) 11014.938 12500.520 13062.305\n", + "AMT Liability ($b) 0.585 1.927 1.414\n", + "AMT Filers (#m) 0.090 0.350 0.270\n", + "Tax before Credits ($b) 1506.180 1766.891 1872.531\n", + "Refundable Credits ($b) 658.196 827.256 101.933\n", + "Nonrefundable Credits ($b) 93.705 0.002 102.012\n", "Reform Surtaxes ($b) 0.000 0.000 0.000\n", - "Other Taxes ($b) 13.895 12.309 13.109\n", - "Ind Income Tax ($b) 1329.959 692.660 1457.889\n", - "Payroll Taxes ($b) 1186.745 1213.929 1267.083\n", - "Combined Liability ($b) 2516.705 1906.589 2724.972\n", - "With Income Tax <= 0 (#m) 103.730 138.010 104.890\n", - "With Combined Tax <= 0 (#m) 69.930 107.270 72.360\n", + "Other Taxes ($b) 12.575 13.844 14.446\n", + "Ind Income Tax ($b) 766.855 953.478 1683.031\n", + "Payroll Taxes ($b) 1217.941 1318.728 1421.579\n", + "Combined Liability ($b) 1984.796 2272.206 3104.610\n", + "With Income Tax <= 0 (#m) 137.340 129.960 98.600\n", + "With Combined Tax <= 0 (#m) 98.910 98.600 68.450\n", "UBI Benefits ($b) 0.000 0.000 0.000\n", - "Total Benefits, Consumption Value ($b) 3650.123 3871.611 4112.506\n", - "Total Benefits Cost ($b) 3650.123 3871.611 4112.506" + "Total Benefits, Consumption Value ($b) 3617.042 3992.973 4069.559\n", + "Total Benefits Cost ($b) 3617.042 3992.973 4069.559" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -604,7 +609,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "hide-output": false }, @@ -638,93 +643,93 @@ " \n", " \n", " Returns (#m)\n", - " 205.440\n", - " 208.140\n", - " 210.820\n", + " 204.480\n", + " 207.080\n", + " 209.660\n", " \n", " \n", " AGI ($b)\n", - " 11445.873\n", - " 11659.522\n", - " 12185.655\n", + " 11547.479\n", + " 13123.042\n", + " 13686.894\n", " \n", " \n", " Itemizers (#m)\n", - " 30.830\n", - " 29.070\n", - " 30.560\n", + " 27.630\n", + " 31.870\n", + " 31.080\n", " \n", " \n", " Itemized Deduction ($b)\n", - " 819.497\n", - " 756.391\n", - " 805.450\n", + " 748.521\n", + " 875.970\n", + " 878.204\n", " \n", " \n", " Standard Deduction Filers (#m)\n", - " 174.620\n", - " 179.060\n", - " 180.260\n", + " 176.850\n", + " 175.200\n", + " 178.580\n", " \n", " \n", " Standard Deduction ($b)\n", - " 3190.774\n", - " 3291.311\n", - " 3347.043\n", + " 3077.317\n", + " 3069.335\n", + " 3232.059\n", " \n", " \n", " Personal Exemption ($b)\n", - " 387.209\n", - " 394.699\n", - " 403.152\n", + " 375.177\n", + " 383.210\n", + " 404.808\n", " \n", " \n", " Taxable Income ($b)\n", - " 8245.048\n", - " 8455.598\n", - " 8893.866\n", + " 8344.174\n", + " 9743.507\n", + " 10194.449\n", " \n", " \n", " Regular Tax ($b)\n", - " 1498.246\n", - " 1536.636\n", - " 1628.637\n", + " 1494.026\n", + " 1750.669\n", + " 1855.496\n", " \n", " \n", " AMT Income ($b)\n", - " 10830.848\n", - " 11093.908\n", - " 11581.700\n", + " 10990.180\n", + " 12468.655\n", + " 13027.447\n", " \n", " \n", " AMT Liability ($b)\n", - " 0.990\n", - " 0.984\n", - " 1.007\n", + " 0.583\n", + " 1.967\n", + " 1.452\n", " \n", " \n", " AMT Filers (#m)\n", - " 0.440\n", - " 0.450\n", - " 0.460\n", + " 0.090\n", + " 0.350\n", + " 0.280\n", " \n", " \n", " Tax before Credits ($b)\n", - " 1499.236\n", - " 1537.620\n", - " 1629.644\n", + " 1494.609\n", + " 1752.636\n", + " 1856.948\n", " \n", " \n", " Refundable Credits ($b)\n", - " 106.529\n", - " 867.114\n", - " 105.817\n", + " 657.905\n", + " 827.233\n", + " 101.663\n", " \n", " \n", " Nonrefundable Credits ($b)\n", - " 89.619\n", - " 3.744\n", - " 93.623\n", + " 93.933\n", + " 0.002\n", + " 102.266\n", " \n", " \n", " Reform Surtaxes ($b)\n", @@ -734,39 +739,39 @@ " \n", " \n", " Other Taxes ($b)\n", - " 13.579\n", - " 12.004\n", - " 12.784\n", + " 12.290\n", + " 13.496\n", + " 14.083\n", " \n", " \n", " Ind Income Tax ($b)\n", - " 1316.667\n", - " 678.766\n", - " 1442.988\n", + " 755.060\n", + " 938.897\n", + " 1667.103\n", " \n", " \n", " Payroll Taxes ($b)\n", - " 1185.888\n", - " 1212.854\n", - " 1266.008\n", + " 1217.293\n", + " 1317.688\n", + " 1420.460\n", " \n", " \n", " Combined Liability ($b)\n", - " 2502.555\n", - " 1891.620\n", - " 2708.996\n", + " 1972.353\n", + " 2256.585\n", + " 3087.563\n", " \n", " \n", " With Income Tax <= 0 (#m)\n", - " 103.580\n", - " 137.980\n", - " 104.690\n", + " 137.310\n", + " 129.930\n", + " 98.420\n", " \n", " \n", " With Combined Tax <= 0 (#m)\n", - " 69.730\n", - " 107.250\n", - " 72.170\n", + " 98.880\n", + " 98.570\n", + " 68.270\n", " \n", " \n", " UBI Benefits ($b)\n", @@ -776,15 +781,15 @@ " \n", " \n", " Total Benefits, Consumption Value ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", " Total Benefits Cost ($b)\n", - " 3650.123\n", - " 3871.611\n", - " 4112.506\n", + " 3617.042\n", + " 3992.973\n", + " 4069.559\n", " \n", " \n", "\n", @@ -792,34 +797,34 @@ ], "text/plain": [ " 2020 2021 2022\n", - "Returns (#m) 205.440 208.140 210.820\n", - "AGI ($b) 11445.873 11659.522 12185.655\n", - "Itemizers (#m) 30.830 29.070 30.560\n", - "Itemized Deduction ($b) 819.497 756.391 805.450\n", - "Standard Deduction Filers (#m) 174.620 179.060 180.260\n", - "Standard Deduction ($b) 3190.774 3291.311 3347.043\n", - "Personal Exemption ($b) 387.209 394.699 403.152\n", - "Taxable Income ($b) 8245.048 8455.598 8893.866\n", - "Regular Tax ($b) 1498.246 1536.636 1628.637\n", - "AMT Income ($b) 10830.848 11093.908 11581.700\n", - "AMT Liability ($b) 0.990 0.984 1.007\n", - "AMT Filers (#m) 0.440 0.450 0.460\n", - "Tax before Credits ($b) 1499.236 1537.620 1629.644\n", - "Refundable Credits ($b) 106.529 867.114 105.817\n", - "Nonrefundable Credits ($b) 89.619 3.744 93.623\n", + "Returns (#m) 204.480 207.080 209.660\n", + "AGI ($b) 11547.479 13123.042 13686.894\n", + "Itemizers (#m) 27.630 31.870 31.080\n", + "Itemized Deduction ($b) 748.521 875.970 878.204\n", + "Standard Deduction Filers (#m) 176.850 175.200 178.580\n", + "Standard Deduction ($b) 3077.317 3069.335 3232.059\n", + "Personal Exemption ($b) 375.177 383.210 404.808\n", + "Taxable Income ($b) 8344.174 9743.507 10194.449\n", + "Regular Tax ($b) 1494.026 1750.669 1855.496\n", + "AMT Income ($b) 10990.180 12468.655 13027.447\n", + "AMT Liability ($b) 0.583 1.967 1.452\n", + "AMT Filers (#m) 0.090 0.350 0.280\n", + "Tax before Credits ($b) 1494.609 1752.636 1856.948\n", + "Refundable Credits ($b) 657.905 827.233 101.663\n", + "Nonrefundable Credits ($b) 93.933 0.002 102.266\n", "Reform Surtaxes ($b) 0.000 0.000 0.000\n", - "Other Taxes ($b) 13.579 12.004 12.784\n", - "Ind Income Tax ($b) 1316.667 678.766 1442.988\n", - "Payroll Taxes ($b) 1185.888 1212.854 1266.008\n", - "Combined Liability ($b) 2502.555 1891.620 2708.996\n", - "With Income Tax <= 0 (#m) 103.580 137.980 104.690\n", - "With Combined Tax <= 0 (#m) 69.730 107.250 72.170\n", + "Other Taxes ($b) 12.290 13.496 14.083\n", + "Ind Income Tax ($b) 755.060 938.897 1667.103\n", + "Payroll Taxes ($b) 1217.293 1317.688 1420.460\n", + "Combined Liability ($b) 1972.353 2256.585 3087.563\n", + "With Income Tax <= 0 (#m) 137.310 129.930 98.420\n", + "With Combined Tax <= 0 (#m) 98.880 98.570 68.270\n", "UBI Benefits ($b) 0.000 0.000 0.000\n", - "Total Benefits, Consumption Value ($b) 3650.123 3871.611 4112.506\n", - "Total Benefits Cost ($b) 3650.123 3871.611 4112.506" + "Total Benefits, Consumption Value ($b) 3617.042 3992.973 4069.559\n", + "Total Benefits Cost ($b) 3617.042 3992.973 4069.559" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -850,7 +855,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.18" }, "title": "Recipe 2: Estimating Behavioral Response to Reform" }, diff --git a/docs/recipes/recipe03.ipynb b/docs/recipes/recipe03.ipynb index b78793ed2..649da23c8 100644 --- a/docs/recipes/recipe03.ipynb +++ b/docs/recipes/recipe03.ipynb @@ -18,20 +18,20 @@ "remove-cell" ] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], "source": [ - "# Install conda and taxcalc if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", + "# Install taxcalc if not already installed\n", "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null" + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output" ] }, { @@ -40,7 +40,18 @@ "metadata": { "hide-output": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jason.debacker/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n", + " warnings.warn(\n", + "/var/folders/bw/1cvntf9x02b49nfwgy_qnfn00000gp/T/ipykernel_23337/2301227557.py:21: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.\n", + " gbydf = vardf.groupby('table_row', as_index=False)\n" + ] + } + ], "source": [ "import taxcalc as tc\n", "import numpy as np\n", @@ -84,16 +95,16 @@ "output_type": "stream", "text": [ "AGI Category \t Num(#M)\t Avg($K)\n", - "[-9e+99, 1) \t 0.076\t 0.198\n", - "[1, 5000) \t 3.391\t 0.479\n", - "[5000, 10000) \t 5.145\t 1.228\n", - "[10000, 15000) \t 5.789\t 1.793\n", - "[15000, 20000) \t 3.259\t 3.448\n", - "[20000, 25000) \t 2.663\t 4.204\n", - "[25000, 30000) \t 2.399\t 3.765\n", - "[30000, 40000) \t 4.216\t 2.550\n", - "[40000, 50000) \t 2.418\t 1.418\n", - "[50000, 75000) \t 0.548\t 0.533\n", + "[-9e+99, 1) \t 0.077\t 0.306\n", + "[1, 5000) \t 3.177\t 0.548\n", + "[5000, 10000) \t 4.808\t 1.343\n", + "[10000, 15000) \t 5.338\t 1.878\n", + "[15000, 20000) \t 3.159\t 3.613\n", + "[20000, 25000) \t 2.578\t 4.326\n", + "[25000, 30000) \t 2.303\t 3.867\n", + "[30000, 40000) \t 4.457\t 2.660\n", + "[40000, 50000) \t 2.644\t 1.384\n", + "[50000, 75000) \t 0.536\t 0.547\n", "[75000, 100000) \t 0.000\t nan\n", "[100000, 200000) \t 0.000\t nan\n", "[200000, 500000) \t 0.000\t nan\n", @@ -103,7 +114,7 @@ "[2000000, 5000000) \t 0.000\t nan\n", "[5000000, 10000000) \t 0.000\t nan\n", "[10000000, 9e+99) \t 0.000\t nan\n", - "ALL \t 29.906\t 2.149\n" + "ALL \t 29.077\t 2.254\n" ] } ], @@ -153,7 +164,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.6" }, "title": "Recipe 3: Creating a Custom Table" }, diff --git a/docs/recipes/recipe04.ipynb b/docs/recipes/recipe04.ipynb index d38643cc0..f4ed1c18c 100644 --- a/docs/recipes/recipe04.ipynb +++ b/docs/recipes/recipe04.ipynb @@ -13,7 +13,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "if 'google.colab' in sys.modules:\n", + " !pip install -q condacolab &> /dev/null # dev/null suppresses output\n", + " import condacolab\n", + " condacolab.install()" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": { "tags": [ "remove-cell" @@ -21,24 +34,16 @@ }, "outputs": [], "source": [ - "# Install conda, taxcalc, and behresp if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", - "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null\n", - " !yes | conda install -c conda-forge behresp &> /dev/null" + "# Install taxcalc if not already installed\n", + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output\n", + "if 'behresp' not in sys.modules:\n", + " !yes | conda install conda-forge::behresp &> /dev/null" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "hide-output": false }, @@ -50,9 +55,9 @@ "\n", "Response in Charitable Giving by Earnings Group\n", "Earnings Group \t Num(#M)\tResp($B)\t Resp(%)\n", - "[-9e+99, 50000) \t 153.673\t 0.579\t 0.35\n", - "[50000, 9e+99) \t 51.771\t 2.810\t 1.92\n", - "ALL \t 205.444\t 3.388\t 1.09\n" + "[-9e+99, 50000) \t 151.185\t 0.662\t 0.40\n", + "[50000, 9e+99) \t 53.299\t 3.088\t 1.99\n", + "ALL \t 204.484\t 3.749\t 1.17\n" ] } ], @@ -160,7 +165,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.13" }, "title": "Recipe 4: Estimating Differential Reform Response" }, diff --git a/docs/recipes/recipe04_pandas.ipynb b/docs/recipes/recipe04_pandas.ipynb index 56996bc4b..2b3f39499 100644 --- a/docs/recipes/recipe04_pandas.ipynb +++ b/docs/recipes/recipe04_pandas.ipynb @@ -13,7 +13,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "if 'google.colab' in sys.modules:\n", + " !pip install -q condacolab &> /dev/null # dev/null suppresses output\n", + " import condacolab\n", + " condacolab.install()" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": { "tags": [ "remove-cell" @@ -21,24 +34,16 @@ }, "outputs": [], "source": [ - "# Install conda, taxcalc, and behresp if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", - "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null\n", - " !yes | conda install -c conda-forge behresp &> /dev/null" + "# Install taxcalc if not already installed\n", + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output\n", + "if 'behresp' not in sys.modules:\n", + " !yes | conda install conda-forge::behresp &> /dev/null" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "hide-output": false }, @@ -153,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "hide-output": false }, @@ -189,23 +194,23 @@ " \n", " 0\n", " [-9e+99, 50000.0)\n", - " 153.673\n", - " 0.579\n", - " 0.354\n", + " 151.185\n", + " 0.662\n", + " 0.399\n", " \n", " \n", " 1\n", " [50000.0, 9e+99)\n", - " 51.771\n", - " 2.810\n", - " 1.924\n", + " 53.299\n", + " 3.088\n", + " 1.992\n", " \n", " \n", " 2\n", " TOTAL\n", - " 205.444\n", - " 3.388\n", - " 1.094\n", + " 204.484\n", + " 3.749\n", + " 1.169\n", " \n", " \n", "\n", @@ -213,12 +218,12 @@ ], "text/plain": [ " Earnings Group Num(#M) Resp($B) Resp(%)\n", - "0 [-9e+99, 50000.0) 153.673 0.579 0.354\n", - "1 [50000.0, 9e+99) 51.771 2.810 1.924\n", - "2 TOTAL 205.444 3.388 1.094" + "0 [-9e+99, 50000.0) 151.185 0.662 0.399\n", + "1 [50000.0, 9e+99) 53.299 3.088 1.992\n", + "2 TOTAL 204.484 3.749 1.169" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -249,7 +254,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.13" }, "title": "Recipe 4: Estimating Differential Reform Response - pandas version" }, diff --git a/docs/recipes/recipe05.ipynb b/docs/recipes/recipe05.ipynb index b1e8d1581..9a7c458c6 100644 --- a/docs/recipes/recipe05.ipynb +++ b/docs/recipes/recipe05.ipynb @@ -27,60 +27,68 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": { "tags": [ "remove-cell" ] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], "source": [ - "# Install conda and taxcalc if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", + "# Install taxcalc if not already installed\n", "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null" + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": { "hide-output": false }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jason.debacker/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n", + " warnings.warn(\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "2018_REFORM1_iitax_rev($B)= 1490.622\n", - "2018_REFORM2_iitax_rev($B)= 1318.628\n", + "2018_REFORM1_iitax_rev($B)= 1357.959\n", + "2018_REFORM2_iitax_rev($B)= 1191.548\n", "\n", "Extract of 2018 income-tax difference table by expanded-income decile\n", "(taxfall is count of funits with cut in income tax in reform 2 vs 1)\n", "(taxrise is count of funits with rise in income tax in reform 2 vs 1)\n", " funits(#m) taxfall(#m) taxrise(#m) agg_diff($b) mean_diff($) aftertax_income_diff(%)\n", - "<$0K 0.139124 0.0 0.0 0.0 0.0 0.0\n", - "=$0K 29.360997 0.003983 0.002566 -0.000287 -0.009787 -10.994703\n", - "$0-10K 32.634225 2.439499 1.481056 -0.192404 -5.895768 0.153202\n", - "$10-20K 21.215453 11.400456 3.749611 -1.574948 -74.235899 0.523949\n", - "$20-30K 18.488102 13.415713 3.117832 -3.833011 -207.323123 0.911481\n", - "$30-40K 16.846289 13.309936 2.780591 -7.114322 -422.307974 1.398477\n", - "$40-50K 13.333506 11.09226 1.916136 -8.326389 -624.471124 1.663769\n", - "$50-75K 22.922516 20.261737 2.364728 -20.252232 -883.508263 1.781652\n", - "$75-100K 13.730687 12.392468 1.229796 -16.292847 -1186.601008 1.73044\n", - "$100-200K 21.754256 19.722118 1.936147 -41.919663 -1926.963736 1.832605\n", - "$200-500K 7.847764 7.236539 0.604507 -43.906601 -5594.791585 2.662069\n", - "$500-1000K 1.149148 1.07263 0.076518 -15.341258 -13350.120894 2.854432\n", - ">$1000K 0.514758 0.428676 0.086082 -13.239708 -25720.23792 1.98472\n", - "ALL 199.936825 112.776014 19.345569 -171.993672 -860.240085 1.89689\n" + "<$0K 0.129804 0.0 0.0 0.0 0.0 0.0\n", + "=$0K 28.997572 0.003718 0.001407 -0.000261 -0.008994 -10.526744\n", + "$0-10K 32.922181 2.554743 1.40047 -0.203435 -6.179258 0.159624\n", + "$10-20K 21.708136 12.425967 3.591809 -1.710808 -78.80952 0.55683\n", + "$20-30K 18.701441 14.515061 2.676056 -4.194498 -224.287399 0.984496\n", + "$30-40K 16.854735 13.888505 2.418122 -7.553283 -448.140132 1.486787\n", + "$40-50K 13.339599 11.341441 1.754578 -8.763624 -656.963111 1.751975\n", + "$50-75K 22.042293 19.660424 2.143487 -20.04181 -909.243402 1.832268\n", + "$75-100K 13.857519 12.601969 1.151749 -16.995741 -1226.463508 1.787595\n", + "$100-200K 21.789028 19.756532 1.942246 -42.49801 -1950.431685 1.850584\n", + "$200-500K 7.451103 6.918421 0.529425 -41.047952 -5508.976365 2.663093\n", + "$500-1000K 0.967451 0.891342 0.076109 -12.384206 -12800.85902 2.725012\n", + ">$1000K 0.445622 0.372131 0.073491 -11.017856 -24724.688454 1.966994\n", + "ALL 199.206484 114.930254 17.75895 -166.411483 -835.371819 1.899907\n" ] } ], @@ -243,7 +251,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.6" }, "title": "Recipe 5: Redefining Expanded Income" }, diff --git a/docs/recipes/recipe06.ipynb b/docs/recipes/recipe06.ipynb index 42a98b335..41b28c10c 100644 --- a/docs/recipes/recipe06.ipynb +++ b/docs/recipes/recipe06.ipynb @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": { "tags": [ "remove-cell" @@ -40,23 +40,15 @@ }, "outputs": [], "source": [ - "# Install conda and taxcalc if in Google Colab.\n", - "# the `&> /dev/null` silences output except for errors\n", + "# Install taxcalc if not already installed\n", "import sys\n", - "if 'google.colab' in sys.modules and 'taxbrain' not in sys.modules:\n", - " !wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &> /dev/null\n", - " !bash Miniconda3-latest-Linux-x86_64.sh -bfp /usr/local &> /dev/null\n", - " # Append path to be able to run packages installed with conda\n", - " # This must correspond to the conda Python version, which may differ from\n", - " # the base Colab Python installation.\n", - " sys.path.append('/usr/local/lib/python3.8/site-packages')\n", - " # Install taxbrain\n", - " !yes | conda install -c conda-forge taxcalc &> /dev/null" + "if 'taxcalc' not in sys.modules:\n", + " %pip install taxcalc &> /dev/null # dev/null suppresses output" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": { "hide-output": false }, @@ -66,10 +58,10 @@ "output_type": "stream", "text": [ "YEAR UNITS ITAX1 ITAX2 EITC1 EITC2 COLR1 COLR2\n", - "2019 202.7 1402.9 1402.9 59.3 59.3 0.0 0.0\n", - "2020 205.4 1321.5 1042.9 64.3 0.0 0.0 342.8\n", - "2021 208.1 686.6 436.7 93.7 0.0 0.0 343.6\n", - "2022 210.8 1448.1 1170.1 63.6 0.0 0.0 341.5\n" + "2019 201.9 1259.0 1259.0 63.3 63.3 0.0 0.0\n", + "2020 204.5 764.2 473.6 65.5 0.0 0.0 356.1\n", + "2021 207.1 949.3 694.1 76.4 0.0 0.0 331.6\n", + "2022 209.7 1674.6 1386.5 60.7 0.0 0.0 348.8\n" ] } ], @@ -231,6 +223,13 @@ " eitc1 * 1e-9, eitc2 * 1e-9,\n", " colr1 * 1e-9, colr2 * 1e-9))" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -254,7 +253,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.6" }, "title": "Recipe 6: Analyzing a Non-Parametric Reform" }, From bec2f7d474d459927ac70d418c7db1cefca606d5 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sun, 25 Feb 2024 18:18:38 -0500 Subject: [PATCH 13/16] updates to package files --- taxcalc.egg-info/PKG-INFO | 19 +++++++++++-------- taxcalc.egg-info/SOURCES.txt | 2 +- taxcalc.egg-info/requires.txt | 2 ++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/taxcalc.egg-info/PKG-INFO b/taxcalc.egg-info/PKG-INFO index 0f8ed3e11..031857e11 100644 --- a/taxcalc.egg-info/PKG-INFO +++ b/taxcalc.egg-info/PKG-INFO @@ -12,21 +12,24 @@ Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Software Development :: Libraries :: Python Modules -License-File: LICENSE.md +License-File: LICENSE Requires-Dist: setuptools Requires-Dist: numpy Requires-Dist: pandas Requires-Dist: bokeh Requires-Dist: numba +Requires-Dist: requests +Requires-Dist: paramtools -[![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org) -[![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue.svg)](https://www.python.org/downloads/release/python-360/) -[![Build Status](https://travis-ci.org/PSLmodels/Tax-Calculator.svg?branch=master)](https://travis-ci.org/PSLmodels/Tax-Calculator) -[![Codecov](https://codecov.io/gh/PSLmodels/Tax-Calculator/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Tax-Calculator) +| | | +| --- | --- | +| Org | [![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org) [![OS License: CCO-1.0](https://img.shields.io/badge/OS%20License-CCO%201.0-yellow)](https://github.com/PSLmodels/Tax-Calculator/blob/master/LICENSE) [![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pslmodels.github.io/Tax-Calculator/) | +| Package | [![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-3916/) [![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3108/) [![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3118/) [![PyPI Latest Release](https://img.shields.io/pypi/v/taxcalc.svg)](https://pypi.org/project/taxcalc/) [![PyPI Downloads](https://img.shields.io/pypi/dm/taxcalc.svg?label=PyPI%20downloads)](https://pypi.org/project/taxcalc/) [![Anaconda](https://img.shields.io/conda/dn/conda-forge/taxcalc?color=brightgreen&label=downloads&logo=conda-forge)](https://anaconda.org/conda-forge/taxcalc)| +| Testing | ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/build_and_test.yml/badge.svg?branch=master) ![example event parameter](https://github.com/PSLmodels/Tax-Calculator/actions/workflows/deploy_jupyterbook.yml/badge.svg?branch=master) [![Codecov](https://codecov.io/gh/PSLmodels/Tax-Calculator/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Tax-Calculator) | Tax-Calculator @@ -36,7 +39,7 @@ Tax-Calculator is an open-source microsimulation model for static analysis of USA federal income and payroll taxes. We are seeking contributors and maintainers. If you are interested in joining the project as a contributor or maintainer, -open a new [issue](https://github.com/PSLmodels/Tax-Calculator/issues) and ping @MattHJensen or @jdebacker -- or just jump right in. +open a new [issue](https://github.com/PSLmodels/Tax-Calculator/issues) and ping [@MattHJensen](https://github.com/MattHJensen/) or [@jdebacker](https://github.com/jdebacker/) -- or just jump right in. Complete documentation is available [here](https://PSLmodels.github.io/Tax-Calculator/). diff --git a/taxcalc.egg-info/SOURCES.txt b/taxcalc.egg-info/SOURCES.txt index 747863a02..7c9f694e2 100644 --- a/taxcalc.egg-info/SOURCES.txt +++ b/taxcalc.egg-info/SOURCES.txt @@ -1,4 +1,4 @@ -LICENSE.md +LICENSE MANIFEST.in README.md setup.py diff --git a/taxcalc.egg-info/requires.txt b/taxcalc.egg-info/requires.txt index 1f04885ba..f8a31659f 100644 --- a/taxcalc.egg-info/requires.txt +++ b/taxcalc.egg-info/requires.txt @@ -3,3 +3,5 @@ numpy pandas bokeh numba +requests +paramtools From 737b873fb68a59730a035a4703d4e5837a141d74 Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sun, 25 Feb 2024 20:01:39 -0500 Subject: [PATCH 14/16] fix to pandas deprecation warning --- taxcalc/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/taxcalc/utils.py b/taxcalc/utils.py index 031e5631f..f00184ba5 100644 --- a/taxcalc/utils.py +++ b/taxcalc/utils.py @@ -361,7 +361,7 @@ def stat_dataframe(gdf): dframe = add_income_table_row_variable(vdf, income_measure, SOI_AGI_BINS) # construct grouped DataFrame - gdf = dframe.groupby('table_row', as_index=False) + gdf = dframe.groupby('table_row', observed=False, as_index=False) dist_table = stat_dataframe(gdf) del dframe['table_row'] # compute sum row @@ -901,7 +901,7 @@ def mtr_graph_data(vdf, year, weight_by_income_measure=dollar_weighting ) # split dfx into groups specified by 'table_row' column - gdfx = dfx.groupby('table_row', as_index=False) + gdfx = dfx.groupby('table_row', observed=False, as_index=False) # apply the weighting_function to percentile-grouped mtr values mtr1_series = gdfx.apply(weighting_function, 'mtr1').values[:, 1] mtr2_series = gdfx.apply(weighting_function, 'mtr2').values[:, 1] @@ -1018,7 +1018,7 @@ def atr_graph_data(vdf, year, include = [0] * num_bins_with_nonpos + [1] * (100 - num_bins_with_nonpos) included = np.array(include, dtype=bool) # split dfx into groups specified by 'table_row' column - gdfx = dfx.groupby('table_row', as_index=False) + gdfx = dfx.groupby('table_row', observed=False, as_index=False) # apply weighted_mean function to percentile-grouped values avginc_series = gdfx.apply(weighted_mean, 'expanded_income').values[:, 1] avgtax1_series = gdfx.apply(weighted_mean, 'tax1').values[:, 1] @@ -1192,7 +1192,7 @@ def pch_graph_data(vdf, year, pop_quantiles=False): include = [0] * num_bins_with_nonpos + [1] * (100 - num_bins_with_nonpos) included = np.array(include, dtype=bool) # split dfx into groups specified by 'table_row' column - gdfx = dfx.groupby('table_row', as_index=False) + gdfx = dfx.groupby('table_row', observed=False, as_index=False) # apply weighted_mean function to percentile-grouped values avginc_series = gdfx.apply(weighted_mean, 'expanded_income').values[:, 1] change_series = gdfx.apply(weighted_mean, 'chg_aftinc').values[:, 1] From f27093b0ebc8fe3f32acffdd3b6f7283ac66106f Mon Sep 17 00:00:00 2001 From: jdebacker Date: Sun, 25 Feb 2024 21:20:11 -0500 Subject: [PATCH 15/16] update benchmark stats --- taxcalc/tests/test_stats_benchmark.csv | 34 -------------------------- 1 file changed, 34 deletions(-) diff --git a/taxcalc/tests/test_stats_benchmark.csv b/taxcalc/tests/test_stats_benchmark.csv index f3e7e8e0e..31dd07908 100644 --- a/taxcalc/tests/test_stats_benchmark.csv +++ b/taxcalc/tests/test_stats_benchmark.csv @@ -302,7 +302,6 @@ surtax RECID FLPDYR -<<<<<<< HEAD ",False,8.0,-66.3790539999809 247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22105.670846000066,,,,,,,,,,,,,,,,,,,,,,,,,,-116.19489099996281 248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12772.544447999962,,,,,,,,,,,,,,,,,,,,,,,,,,-122.62910600008945 @@ -334,36 +333,3 @@ 274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2715170001010847,,,,,,,,,,,,,,,,,,,,,,,,,,0.008879000120032288 275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3804709999712941,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0005470001269713975 276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.11097800006609759,,,,,,,,,,,,,,,,,,,,,,,,,,0.004100000069229295 -======= - ",False,8.0,-143.04578700011916 -247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22223.46414799995,,,,,,,,,,,,,,,,,,,,,,,,,,-124.67165100008424 -248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12681.754135000006,,,,,,,,,,,,,,,,,,,,,,,,,,-46.796303000064654 -249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6317.1197469999925,,,,,,,,,,,,,,,,,,,,,,,,,,-2.725243999975646 -250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5820.032033999951,,,,,,,,,,,,,,,,,,,,,,,,,,39.10965000000033 -251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6455.7827470000575,,,,,,,,,,,,,,,,,,,,,,,,,,-10.102181999968707 -252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6398.969437999995,,,,,,,,,,,,,,,,,,,,,,,,,,-70.87748399999327 -253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5599.9042980000695,,,,,,,,,,,,,,,,,,,,,,,,,,39.34758100012914 -254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4170.115788000089,,,,,,,,,,,,,,,,,,,,,,,,,,-34.12985699992623 -255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.7503799999994953,,,,,,,,,,,,,,,,,,,,,,,,,,-0.010636999945745629 -256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3462.892517,,,,,,,,,,,,,,,,,,,,,,,,,,-72.06157499990695 -257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,397.77517699997134,,,,,,,,,,,,,,,,,,,,,,,,,,-0.5929850001393788 -258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.373426999952244,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09441899999274028 -259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7219480000912881,,,,,,,,,,,,,,,,,,,,,,,,,,0.003351000145812577 -260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6543529999589737,,,,,,,,,,,,,,,,,,,,,,,,,,0.006568999992850877 -261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.6501049999769748,,,,,,,,,,,,,,,,,,,,,,,,,,0.02390099996318895 -262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.7333809998945071,,,,,,,,,,,,,,,,,,,,,,,,,,0.1191149999613117 -263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.587614000049143,,,,,,,,,,,,,,,,,,,,,,,,,,0.0964550000617237 -264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.8703410000380245,,,,,,,,,,,,,,,,,,,,,,,,,,0.7145160000163742 -265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2644.803988000035,,,,,,,,,,,,,,,,,,,,,,,,,,-11.130841999943186 -266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3358.424893000006,,,,,,,,,,,,,,,,,,,,,,,,,,41.10289699997338 -267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2025.44414099998,,,,,,,,,,,,,,,,,,,,,,,,,,-4.638577000037003 -268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2270.551081000008,,,,,,,,,,,,,,,,,,,,,,,,,,-7.9675759999418005 -269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2034.0884060000235,,,,,,,,,,,,,,,,,,,,,,,,,,-18.30683399998634 -270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2215.4896309999685,,,,,,,,,,,,,,,,,,,,,,,,,,45.87863799997649 -271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3876.75741999999,,,,,,,,,,,,,,,,,,,,,,,,,,60.25406399999156 -272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.0859039999786546,,,,,,,,,,,,,,,,,,,,,,,,,,0.022461000071416715 -273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.2505240000800768,,,,,,,,,,,,,,,,,,,,,,,,,,0.022056000034354012 -274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.26879800009282917,,,,,,,,,,,,,,,,,,,,,,,,,,0.007358000061685743 -275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.37664800004222343,,,,,,,,,,,,,,,,,,,,,,,,,,0.0004429999762578518 -276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.10399300003882672,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004520999937085379 ->>>>>>> origin/master From b433a473cbc3f6b8e464bd1cb141a95f4815f0ad Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 26 Feb 2024 18:35:42 +0000 Subject: [PATCH 16/16] Update test benchmark 2024-02-26 --- taxcalc/tests/test_stats_benchmark.csv | 596 ++++++++++++------------- 1 file changed, 298 insertions(+), 298 deletions(-) diff --git a/taxcalc/tests/test_stats_benchmark.csv b/taxcalc/tests/test_stats_benchmark.csv index 31dd07908..e6cface7b 100644 --- a/taxcalc/tests/test_stats_benchmark.csv +++ b/taxcalc/tests/test_stats_benchmark.csv @@ -1,335 +1,335 @@ ,test_id,pytest_obj,status,duration_ms,test_tuple,expected_value,revision,expect,fname,jfname,pfname,good_revision,params,is_paramtools,set_year,csv,fyear,input_data,baseline,reform,assump,outdir,year,base,ref,asm,dumpvar_str,str_valid,num_vars,time_diff -0,taxcalc/tests/test_4package.py::test_for_consistency,,passed,3.8811480000049414,,,,,,,,,,,,,,,,,,,,,,,,,,0.02779999999802385 -1,taxcalc/tests/test_benefits.py::test_benefits,,passed,3902.5216729999956,,,,,,,,,,,,,,,,,,,,,,,,,,-226.010696000003 -2,taxcalc/tests/test_calcfunctions.py::test_calc_and_used_vars,,passed,35.49012400000606,,,,,,,,,,,,,,,,,,,,,,,,,,-2.5312549999796374 -3,taxcalc/tests/test_calcfunctions.py::test_function_args_usage,,passed,1.8604269999968892,,,,,,,,,,,,,,,,,,,,,,,,,,-0.028447000005371592 -4,taxcalc/tests/test_calcfunctions.py::test_DependentCare,,passed,0.23908800000072006,,,,,,,,,,,,,,,,,,,,,,,,,,-0.018871999998282263 -5,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, young]",,passed,0.1882529999761573,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 45, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, False, 0)",12000,,,,,,,,,,,,,,,,,,,,,,,,-0.0011590000497108122 -6,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity]",,passed,0.17419599998902413,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 66, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 1, 1, 2, 200, True, 300)",15800,,,,,,,,,,,,,,,,,,,,,,,,-0.002112000004217379 -7,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity, over limit]",,passed,0.17412599999033773,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 66, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 400, True, 300)",13500,,,,,,,,,,,,,,,,,,,,,,,,-0.0015310000094359566 -8,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, two old]",,passed,0.17671099999461148,"(0, 1200, [6000, 12000, 6000, 12000, 12000], 66, 67, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, True, 0)",14400,,,,,,,,,,,,,,,,,,,,,,,,0.003728999985241982 -9,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 1],,passed,0.1753789999838773,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.0012390000279083047 -10,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 2],,passed,0.17124999999396096,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.013663000004271453 -11,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single]",,passed,0.17015900002093076,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 1, 0, 0, 2, 0, True, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.009775999956218528 -12,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Marrid, Single, dep, under earn]",,passed,0.17213300000662457,"(1, 200, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1000,,,,,,,,,,,,,,,,,,,,,,,,-0.0026120000029550283 -13,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single, dep, over earn]",,passed,0.17036999997799285,"(1, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1350,,,,,,,,,,,,,,,,,,,,,,,,-0.011568000047645854 -14,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 1],,passed,0.24134299999900577,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(0, 4065, 4065, 0, 0, 3252, 25000, 10000, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.012779000002183238 -15,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 2],,passed,0.21805899999094436,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 6146.25, 4065, 2081.25, 1040.625, 4917, 38959.375, 21167.5, 17791.875, 21380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.006028000001379041 -16,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 3],,passed,0.21671599998285274,"(120000, 150000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 22202.25, 21453, 749.25, 374.625, 16773, 179625.375, 161833.5, 17791.875, 161380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.025955000012345353 -17,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 4],,passed,0.21471200000178214,"(120000, 500000, 15000, 100, 2000, 0.12, 0.03, 0, 400000, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 46067.85, 31953, 749.25, 374.625, 30138.6, 529625.375, 511833.5, 17791.875, 511380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,-0.00988600001505796 -18,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 5],,passed,0.21365099999570702,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 300, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(300, 4065, 4065, 0, 0, 3285.3, 25300, 10279.1875, 15000, 10382, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.010345999982064286 -19,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 6],,passed,0.2142410000089967,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, -40000, 0, None, None, None, None, None, None, None, None, None, None, None)","(-40000, 4065, 4065, 0, 0, 3252, 0, 0, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,-0.021216999982698298 -20,taxcalc/tests/test_calcfunctions.py::test_AfterTaxIncome,,passed,0.1760810000064339,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0010290000034273994 -21,taxcalc/tests/test_calcfunctions.py::test_ExpandIncome,,passed,0.16597100000126375,,,,,,,,,,,,,,,,,,,,,,,,,,-0.025074999996377245 -22,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple0-expected_value0],,passed,0.173616000012089,"(1, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.008963999988509302 -23,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple1-expected_value1],,passed,0.1630759999784459,"(0, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.007500999998910601 -24,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple2-expected_value2],,passed,0.1626140000041687,"(1, 1, 2, 100, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.007253000006812699 -25,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple3-expected_value3],,passed,0.16593099999795413,"(0, 2, 1, 100, 200, 1000)","(200, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.008193000013534374 -26,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple4-expected_value4],,passed,0.1650789999985136,"(0, 1, 3, 100, 300, 1000)","(300, 1300)",,,,,,,,,,,,,,,,,,,,,,,,-0.019133999984433103 -27,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple0-expected_value0],,passed,0.17416699998307195,"(1100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,-0.013993000010259465 -28,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple1-expected_value1],,passed,0.1657800000032239,"(2100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,-0.010126999995918595 -29,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple2-expected_value2],,passed,0.16357699999502984,"(1100000, 1, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.004926999991994252 -30,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple3-expected_value3],,passed,0.17296400000077483,"(1100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,0.002808000004961342 -31,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple4-expected_value4],,passed,0.1682060000121055,"(2100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,-0.004434999993918581 -32,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple5-expected_value5],,passed,0.16471799997930248,"(1100000, 2, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.003405000001066527 -33,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple6-expected_value6],,passed,0.16741400000341855,"(510000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(1003, 1203, 3003, 1303)",,,,,,,,,,,,,,,,,,,,,,,,-0.00395500001104665 -34,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple7-expected_value7],,passed,0.16784400000346977,"(1100000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(109150, 109350, 111150, 109450)",,,,,,,,,,,,,,,,,,,,,,,,-0.011119000021153624 -35,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple8-expected_value8],,passed,0.16435800000635936,"(510000, 3, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.001099999991538425 -36,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple0-expected_value0],,passed,0.1696869999818773,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1400)",,,,,,,,,,,,,,,,,,,,,,,,0.001313999973717811 -37,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple1-expected_value1],,passed,0.16700300000138668,"(1, 76000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1120)",,,,,,,,,,,,,,,,,,,,,,,,-0.004625999991958424 -38,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple2-expected_value2],,passed,0.18278199999599565,"(1, 90000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.015837000006513252 -39,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple3-expected_value3],,passed,0.16737400000010894,"(2, 50000, 3, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 4200)",,,,,,,,,,,,,,,,,,,,,,,,-0.0027419999923949667 -40,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple4-expected_value4],,passed,0.16779499998165193,"(2, 155000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,-0.000167000024475783 -41,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple5-expected_value5],,passed,0.16900699998245727,"(2, 170000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0006090000113090355 -42,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple6-expected_value6],,passed,0.16646200000991485,"(4, 50000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,-9.69999973676472e-05 -43,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple7-expected_value7],,passed,0.16646199998149314,"(4, 117000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 560)",,,,,,,,,,,,,,,,,,,,,,,,-0.0014010000199959627 -44,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple8-expected_value8],,passed,0.16833600000154547,"(4, 130000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.00027300001192998025 -45,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple9-expected_value9],,passed,0.16479900000376801,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.0032629999964228773 -46,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple10-expected_value10],,passed,0.16566100001114137,"(1, 97000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 600)",,,,,,,,,,,,,,,,,,,,,,,,-0.0024719999771605217 -47,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple11-expected_value11],,passed,0.1662020000026132,"(1, 150000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.024963999976534895 -48,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple12-expected_value12],,passed,0.16497900000445043,"(2, 50000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,-0.0013709999961974695 -49,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple13-expected_value13],,passed,0.1664819999973588,"(2, 160000, 5, 3, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,-0.0004679999960899017 -50,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple14-expected_value14],,passed,0.1675340000133474,"(2, 300000, 2, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.002802999972573106 -51,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple15-expected_value15],,passed,0.166762999981529,"(4, 50000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 2200)",,,,,,,,,,,,,,,,,,,,,,,,-0.00015800003438920518 -52,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple16-expected_value16],,passed,0.1666920000218397,"(4, 130000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 825)",,,,,,,,,,,,,,,,,,,,,,,,-0.0024229999837643845 -53,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple17-expected_value17],,passed,0.17848500002060064,"(4, 170000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.013028000040549242 -54,taxcalc/tests/test_calcfunctions.py::test_EITCamount[test_tuple0-6660],,passed,253.01942699999813,"(0.0, 0.45, 19330, 6660, 19330, 19330, 0.2106)",6660,,,,,,,,,,,,,,,,,,,,,,,,-14.325984999999264 -55,taxcalc/tests/test_calcfunctions.py::test_EITC[test_tuple0-6660],,passed,0.1974600000096416,"(4, 0, 3, 19330, 0, 0, 0, 0, 0, 0, 0, 0, 19330, 19330, 0, [8790, 19330, 19330, 19330], 25, 64, [5890, 5890, 5890, 5890], [0.0765, 0.34, 0.4, 0.45], [538, 3584, 5920, 6660], [0.0765, 0.1598, 0.2106, 0.2106], 0.0, 3650, 9e+99, False, False, 0)",6660,,,,,,,,,,,,,,,,,,,,,,,,-0.0033929999858628157 -56,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple0-expected_value0],,passed,0.1846959999909359,"(527860.66, 0.0, 37000.0, 0.0, 2, 352000.0, 0.0, 0.0, 0.0, 5000.0, 7000.0, 0, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(490860.66, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0020920000167733988 -57,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple1-expected_value1],,passed,0.17378500001541397,"(337675.1, 0.0, 49000.0, 0.0, 2, 23000.0, 0.0, 0.0, 0.0, 8000.0, 4000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(284075.1, 4600)",,,,,,,,,,,,,,,,,,,,,,,,-0.0010400000007848298 -58,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple2-expected_value2],,passed,0.1763999999866428,"(603700.0, 24400.0, 0.0, 0.0, 2, 0.0, 11000.0, 0.0, 0.0, 3000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(579300.0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0041899999700945045 -59,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple3-expected_value3],,passed,0.17680099998074184,"(90700.0, 0.0, 32000.0, 0.0, 4, 0.0, 6000.0, 0.0, 0.0, 9000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(57500.0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.006112999983543033 -60,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2021[test_tuple0-expected_value0],,passed,0.17683199999396493,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, True, True, 0, 0, 0)","(0, 1000, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0034830000004148765 -61,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2022[test_tuple0-expected_value0],,passed,0.17236299999012772,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, False, False, 0, 0, 0)","(0, 0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,-0.0075220000042008905 -62,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2021[test_tuple0-0],,passed,0.20779899998046858,"(1000, 0, 600, [75000, 150000, 75000, 125000, 150000], 0.05, True, True, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.030598999984476988 -63,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2022[test_tuple0-0],,passed,0.17171100000723527,"(0, 0, 0, [0, 0, 0, 0, 0], 0, False, False, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.003624999976636817 -64,taxcalc/tests/test_calcfunctions.py::test_AGI[test_tuple0-expected_value0],,passed,0.2221569999960593,"(29530, 0, 0, 0, 4, 1, 0, False, 0, 0, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.02, False, 10200, [150000, 150000, 150000, 150000, 150000], 10200, 0, 0, 0)","(19330, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.008202000003620896 -65,taxcalc/tests/test_calculator.py::test_make_calculator,,passed,2431.88115800001,,,,,,,,,,,,,,,,,,,,,,,,,,-12.023395999990043 -66,taxcalc/tests/test_calculator.py::test_make_calculator_deepcopy,,passed,2162.8505719999966,,,,,,,,,,,,,,,,,,,,,,,,,,-38.54708899999059 -67,taxcalc/tests/test_calculator.py::test_make_calculator_with_policy_reform,,passed,2551.66523699998,,,,,,,,,,,,,,,,,,,,,,,,,,-31.372515000015937 -68,taxcalc/tests/test_calculator.py::test_make_calculator_with_multiyear_reform,,passed,2638.3228699999963,,,,,,,,,,,,,,,,,,,,,,,,,,-32.88125900002069 -69,taxcalc/tests/test_calculator.py::test_calculator_advance_to_year,,passed,2009.9638100000163,,,,,,,,,,,,,,,,,,,,,,,,,,-54.299982999992835 -70,taxcalc/tests/test_calculator.py::test_make_calculator_raises_on_no_policy,,passed,368.49725700000135,,,,,,,,,,,,,,,,,,,,,,,,,,-6.756412000015644 -71,taxcalc/tests/test_calculator.py::test_calculator_mtr,,passed,17371.634511000026,,,,,,,,,,,,,,,,,,,,,,,,,,-200.9883229999905 -72,taxcalc/tests/test_calculator.py::test_calculator_mtr_when_PT_rates_differ,,passed,3023.665176999998,,,,,,,,,,,,,,,,,,,,,,,,,,16.253325999997287 -73,taxcalc/tests/test_calculator.py::test_make_calculator_increment_years_first,,passed,2599.3032679999997,,,,,,,,,,,,,,,,,,,,,,,,,,1.2614179999841326 -74,taxcalc/tests/test_calculator.py::test_ID_HC_vs_BS,,passed,5042.125366999982,,,,,,,,,,,,,,,,,,,,,,,,,,-114.61929300000429 -75,taxcalc/tests/test_calculator.py::test_ID_StateLocal_HC_vs_CRT,,passed,4751.953189000005,,,,,,,,,,,,,,,,,,,,,,,,,,-121.01217700001143 -76,taxcalc/tests/test_calculator.py::test_ID_RealEstate_HC_vs_CRT,,passed,4815.828667000005,,,,,,,,,,,,,,,,,,,,,,,,,,-47.42464500000642 -77,taxcalc/tests/test_calculator.py::test_calculator_using_nonstd_input,,passed,1790.0788759999955,,,,,,,,,,,,,,,,,,,,,,,,,,-105.0677609999866 -78,taxcalc/tests/test_calculator.py::test_bad_json_names,,passed,119.85177099998623,,,,,,,,,,,,,,,,,,,,,,,,,,-115.9162309999999 -79,taxcalc/tests/test_calculator.py::test_json_assump_url,,passed,381.80683599998133,,,,,,,,,,,,,,,,,,,,,,,,,,-189.5151620000206 -80,taxcalc/tests/test_calculator.py::test_read_bad_json_assump_file,,passed,0.3017450000015742,,,,,,,,,,,,,,,,,,,,,,,,,,-0.007850999992342567 -81,taxcalc/tests/test_calculator.py::test_json_doesnt_exist,,passed,0.2353109999830849,,,,,,,,,,,,,,,,,,,,,,,,,,0.012846999993598812 -82,taxcalc/tests/test_calculator.py::test_calc_all,,passed,1680.0860580000005,,,,,,,,,,,,,,,,,,,,,,,,,,-98.29386100000193 -83,taxcalc/tests/test_calculator.py::test_noreform_documentation,,passed,4090.9036159999914,,,,,,,,,,,,,,,,,,,,,,,,,,-140.59194500001104 -84,taxcalc/tests/test_calculator.py::test_reform_documentation,,passed,5927.51475,,,,,,,,,,,,,,,,,,,,,,,,,,-273.0509490000086 -85,taxcalc/tests/test_calculator.py::test_distribution_tables,,passed,3566.802402999997,,,,,,,,,,,,,,,,,,,,,,,,,,-142.17870300001323 -86,taxcalc/tests/test_calculator.py::test_difference_table,,passed,3026.4086090000146,,,,,,,,,,,,,,,,,,,,,,,,,,-79.1511900000055 -87,taxcalc/tests/test_calculator.py::test_diagnostic_table,,passed,2453.4132919999934,,,,,,,,,,,,,,,,,,,,,,,,,,-173.52994799998078 -88,taxcalc/tests/test_calculator.py::test_mtr_graph,,passed,2228.712229999985,,,,,,,,,,,,,,,,,,,,,,,,,,-52.728472000012516 -89,taxcalc/tests/test_calculator.py::test_atr_graph,,passed,2203.9183409999905,,,,,,,,,,,,,,,,,,,,,,,,,,-112.13032400002066 -90,taxcalc/tests/test_calculator.py::test_privacy_of_embedded_objects,,passed,2129.4501379999815,,,,,,,,,,,,,,,,,,,,,,,,,,-47.20474600000534 -91,taxcalc/tests/test_calculator.py::test_n65,,passed,1925.9815460000027,,,,,,,,,,,,,,,,,,,,,,,,,,-44.294339999993326 -92,taxcalc/tests/test_calculator.py::test_ce_aftertax_income,,passed,3076.8135459999826,,,,,,,,,,,,,,,,,,,,,,,,,,-92.474626000012 -93,taxcalc/tests/test_calculator.py::test_qbid_calculation,,passed,1572.8496510000127,,,,,,,,,,,,,,,,,,,,,,,,,,-28.781636999980265 -94,taxcalc/tests/test_calculator.py::test_qbid_limit_switch,,passed,3792.519209999995,,,,,,,,,,,,,,,,,,,,,,,,,,-86.1778560000057 -95,taxcalc/tests/test_calculator.py::test_calc_all_benefits_amounts,,passed,5149.175173000003,,,,,,,,,,,,,,,,,,,,,,,,,,-113.07505600001423 -96,taxcalc/tests/test_calculator.py::test_cg_top_rate,,passed,4582.591059000009,,,,,,,,,,,,,,,,,,,,,,,,,,-31.027338000000782 -97,taxcalc/tests/test_compatible_data.py::test_compatible_data_presence,,passed,0.3657849999854079,,,,,,,,,,,,,,,,,,,,,,,,,,0.017306999978927706 -98,taxcalc/tests/test_consumption.py::test_year_consistency,,passed,0.11655899999141184,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026676999993924255 -99,taxcalc/tests/test_consumption.py::test_validity_of_consumption_vars_set,,passed,0.7362790000229325,,,,,,,,,,,,,,,,,,,,,,,,,,0.04317900001638009 -100,taxcalc/tests/test_consumption.py::test_update_consumption,,passed,65.68682799999692,,,,,,,,,,,,,,,,,,,,,,,,,,-0.6413850000228649 -101,taxcalc/tests/test_consumption.py::test_incorrect_update_consumption,,passed,380.64344999997957,,,,,,,,,,,,,,,,,,,,,,,,,,-19.83365000000964 -102,taxcalc/tests/test_consumption.py::test_future_update_consumption,,passed,87.73738799999364,,,,,,,,,,,,,,,,,,,,,,,,,,-3.0118480000282943 -103,taxcalc/tests/test_consumption.py::test_consumption_default_data,,passed,28.014226000010467,,,,,,,,,,,,,,,,,,,,,,,,,,-1.2305299999582076 -104,taxcalc/tests/test_consumption.py::test_consumption_response,,passed,4038.9258559999917,,,,,,,,,,,,,,,,,,,,,,,,,,-95.78573300001426 -105,taxcalc/tests/test_cpscsv.py::test_agg,,passed,10159.02041000001,,,,,,,,,,,,,,,,,,,,,,,,,,-330.6315170000016 -106,taxcalc/tests/test_cpscsv.py::test_cps_availability,,passed,607.4803569999858,,,,,,,,,,,,,,,,,,,,,,,,,,-33.71014499998637 -107,taxcalc/tests/test_data.py::test_recs_class,,passed,393.6930460000099,,,,,,,,,,,,,,,,,,,,,,,,,,16.148094000016044 -108,taxcalc/tests/test_decorators.py::test_create_apply_function_string,,passed,0.1426069999865831,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0022920000333215007 -109,taxcalc/tests/test_decorators.py::test_create_apply_function_string_with_params,,passed,0.11980499999708627,,,,,,,,,,,,,,,,,,,,,,,,,,0.001995999980408669 -110,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string_mult_outputs,,passed,0.15440899997543056,,,,,,,,,,,,,,,,,,,,,,,,,,0.03579799997055497 -111,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string,,passed,0.11414400000830938,,,,,,,,,,,,,,,,,,,,,,,,,,0.0020559999711622784 -112,taxcalc/tests/test_decorators.py::test_make_apply_function,,passed,0.5888019999815697,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004272000069249771 -113,taxcalc/tests/test_decorators.py::test_magic_apply_jit,,passed,375.41129799998885,,,,,,,,,,,,,,,,,,,,,,,,,,-23.108469000050036 -114,taxcalc/tests/test_decorators.py::test_magic_apply_jit_swap,,passed,0.6583030000228973,,,,,,,,,,,,,,,,,,,,,,,,,,-0.00019200001588615123 -115,taxcalc/tests/test_decorators.py::test_magic_iterate_jit,,passed,134.81882900001096,,,,,,,,,,,,,,,,,,,,,,,,,,-3.70654200000331 -116,taxcalc/tests/test_decorators.py::test_faux_function_iterate_jit,,passed,105.82468500001596,,,,,,,,,,,,,,,,,,,,,,,,,,-1.8390279999493941 -117,taxcalc/tests/test_decorators.py::test_ret_everything_iterate_jit,,passed,170.78096100001972,,,,,,,,,,,,,,,,,,,,,,,,,,-1.5567549999957464 -118,taxcalc/tests/test_decorators.py::test_function_takes_kwarg,,passed,132.28151900000285,,,,,,,,,,,,,,,,,,,,,,,,,,-4.5520949999513505 -119,taxcalc/tests/test_decorators.py::test_function_no_parameters_listed,,passed,133.38796100001105,,,,,,,,,,,,,,,,,,,,,,,,,,-6.846849999959659 -120,taxcalc/tests/test_decorators.py::test_function_parameters_optional,,passed,138.09759800000165,,,,,,,,,,,,,,,,,,,,,,,,,,-2.418496999951003 -121,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_no_return,,passed,5.1067210000042,,,,,,,,,,,,,,,,,,,,,,,,,,-0.37290299997039256 -122,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_unknown_return_argument,,passed,3.813210000004119,,,,,,,,,,,,,,,,,,,,,,,,,,-0.2323159999662039 -123,taxcalc/tests/test_decorators.py::test_force_no_jit,,passed,4.667578999999478,,,,,,,,,,,,,,,,,,,,,,,,,,-0.6364899999766749 -124,taxcalc/tests/test_growdiff.py::test_year_consistency,,passed,0.11663899999803107,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04280799998923612 -125,taxcalc/tests/test_growdiff.py::test_update_and_apply_growdiff,,passed,401.8850729999883,,,,,,,,,,,,,,,,,,,,,,,,,,-3.9403280000271934 -126,taxcalc/tests/test_growdiff.py::test_has_any_response,,passed,101.43198000000098,,,,,,,,,,,,,,,,,,,,,,,,,,-3.134109999990642 -127,taxcalc/tests/test_growdiff.py::test_description_punctuation,,passed,0.27534500000570006,,,,,,,,,,,,,,,,,,,,,,,,,,-0.02962300001740914 -128,taxcalc/tests/test_growdiff.py::test_boolean_value_infomation,,passed,0.25553899999408713,,,,,,,,,,,,,,,,,,,,,,,,,,-0.01713800000402438 -129,taxcalc/tests/test_growfactors.py::test_improper_usage,,passed,2.8915339999855405,,,,,,,,,,,,,,,,,,,,,,,,,,-0.600544000036507 -130,taxcalc/tests/test_growfactors.py::test_update_after_use,,passed,1.922489000008909,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11427000001162924 -131,taxcalc/tests/test_growfactors.py::test_proper_usage,,passed,1.864039999986744,,,,,,,,,,,,,,,,,,,,,,,,,,-0.18108400001892733 -132,taxcalc/tests/test_growfactors.py::test_growfactors_csv_values,,passed,2.1101100000180395,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09670599999367369 -133,taxcalc/tests/test_parameters.py::test_params_class[revision0-],,passed,8.920400999983258,,,{},,,,,,,,,,,,,,,,,,,,,,,-0.4562940000312228 -134,taxcalc/tests/test_parameters.py::test_params_class[revision1-error],,passed,10.409940999977607,,,{'real_param': {2004: 1.9}},error,,,,,,,,,,,,,,,,,,,,,,-0.5637250000631866 -135,taxcalc/tests/test_parameters.py::test_params_class[revision2-raise],,passed,11.44777300001465,,,{'int_param': {2004: [3.6]}},raise,,,,,,,,,,,,,,,,,,,,,,-1.0297910000360844 -136,taxcalc/tests/test_parameters.py::test_params_class[revision3-raise],,passed,10.334868999990476,,,{'int_param': {2004: [3]}},raise,,,,,,,,,,,,,,,,,,,,,,-0.24039500002004388 -137,taxcalc/tests/test_parameters.py::test_params_class[revision4-noerror],,passed,14.396755000007033,,,"{'label_param': {2004: [1, 2]}}",noerror,,,,,,,,,,,,,,,,,,,,,,-0.48873899999080095 -138,taxcalc/tests/test_parameters.py::test_params_class[revision5-raise],,passed,7.8077780000000985,,,"{'label_param': {2004: [[1, 2]]}}",raise,,,,,,,,,,,,,,,,,,,,,,-0.3937610000264158 -139,taxcalc/tests/test_parameters.py::test_params_class[revision6-raise],,passed,8.977948999984164,,,"{'label_param': {2004: [1, 2, 3]}}",raise,,,,,,,,,,,,,,,,,,,,,,-0.5198220000011133 -140,taxcalc/tests/test_parameters.py::test_params_class[revision7-raise],,passed,11.155086000002257,,,{'bool_param': {2004: [4.9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.19142800002214244 -141,taxcalc/tests/test_parameters.py::test_params_class[revision8-raise],,passed,11.030943999998044,,,{'str_param': {2004: [9]}},raise,,,,,,,,,,,,,,,,,,,,,,0.44139199999903944 -142,taxcalc/tests/test_parameters.py::test_params_class[revision9-noerror],,passed,12.64686900000811,,,{'str_param': {2004: 'nonlinear'}},noerror,,,,,,,,,,,,,,,,,,,,,,0.23251199999663186 -143,taxcalc/tests/test_parameters.py::test_params_class[revision10-error],,passed,10.306405999983781,,,{'str_param': {2004: 'unknownvalue'}},error,,,,,,,,,,,,,,,,,,,,,,-0.07633100000248305 -144,taxcalc/tests/test_parameters.py::test_params_class[revision11-raise],,passed,10.543159999997442,,,{'str_param': {2004: ['nonlinear']}},raise,,,,,,,,,,,,,,,,,,,,,,-0.3718870000284369 -145,taxcalc/tests/test_parameters.py::test_params_class[revision12-raise],,passed,10.573456000003034,,,{'real_param': {2004: 'linear'}},raise,,,,,,,,,,,,,,,,,,,,,,-0.20246200003271042 -146,taxcalc/tests/test_parameters.py::test_params_class[revision13-raise],,passed,13.29994100001386,,,"{'real_param': {2004: [0.2, 0.3]}}",raise,,,,,,,,,,,,,,,,,,,,,,0.16403200004333485 -147,taxcalc/tests/test_parameters.py::test_params_class[revision14-raise],,passed,11.789552999999842,,,{'real_param-indexed': {2004: True}},raise,,,,,,,,,,,,,,,,,,,,,,0.04666600003133681 -148,taxcalc/tests/test_parameters.py::test_params_class[revision15-raise],,passed,7.852361999994173,,,{'unknown_param-indexed': {2004: False}},raise,,,,,,,,,,,,,,,,,,,,,,-0.3262540000150693 -149,taxcalc/tests/test_parameters.py::test_json_file_contents[consumption.json],,passed,175.2582739999866,,,,,consumption.json,,,,,,,,,,,,,,,,,,,,,-3.2144769999717937 -150,taxcalc/tests/test_parameters.py::test_json_file_contents[policy_current_law.json],,passed,104221.433214,,,,,policy_current_law.json,,,,,,,,,,,,,,,,,,,,,-4415.597267999998 -151,taxcalc/tests/test_parameters.py::test_json_file_contents[growdiff.json],,passed,691.7170009999722,,,,,growdiff.json,,,,,,,,,,,,,,,,,,,,,2.623707999987346 -152,taxcalc/tests/test_parameters.py::test_parameters_mentioned[consumption.json-consumption.py],,passed,0.266146999990724,,,,,,consumption.json,consumption.py,,,,,,,,,,,,,,,,,,,0.008398000034048891 -153,taxcalc/tests/test_parameters.py::test_parameters_mentioned[policy_current_law.json-calcfunctions.py],,passed,9.373040000014043,,,,,,policy_current_law.json,calcfunctions.py,,,,,,,,,,,,,,,,,,,0.3149190000044655 -154,taxcalc/tests/test_parameters.py::test_parameters_mentioned[growdiff.json-growdiff.py],,passed,0.3006820000450716,,,,,,growdiff.json,growdiff.py,,,,,,,,,,,,,,,,,,,0.037122000037470626 -155,taxcalc/tests/test_parameters.py::test_expand_xd_errors,,passed,5.0210939999715265,,,,,,,,,,,,,,,,,,,,,,,,,,0.06370199997718373 -156,taxcalc/tests/test_parameters.py::test_expand_empty,,passed,5.307639000022846,,,,,,,,,,,,,,,,,,,,,,,,,,0.12336499997900319 -157,taxcalc/tests/test_parameters.py::test_expand_1d_scalar,,passed,15.368242000022292,,,,,,,,,,,,,,,,,,,,,,,,,,0.35960200006002196 -158,taxcalc/tests/test_parameters.py::test_expand_2d_short_array,,passed,5.8804280000117615,,,,,,,,,,,,,,,,,,,,,,,,,,0.00785299999961353 -159,taxcalc/tests/test_parameters.py::test_expand_2d_variable_rates,,passed,7.365952999975889,,,,,,,,,,,,,,,,,,,,,,,,,,0.20124499997109524 -160,taxcalc/tests/test_parameters.py::test_expand_2d_already_filled,,passed,9.026652999978069,,,,,,,,,,,,,,,,,,,,,,,,,,0.06150499996238068 -161,taxcalc/tests/test_parameters.py::test_expand_2d_partial_expand,,passed,9.486510999977327,,,,,,,,,,,,,,,,,,,,,,,,,,0.08684599998787235 -162,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n]",,passed,0.3222720000053414,,,,,,,," +0,taxcalc/tests/test_4package.py::test_for_consistency,,passed,3.937492999995129,,,,,,,,,,,,,,,,,,,,,,,,,,0.05634499999018816 +1,taxcalc/tests/test_benefits.py::test_benefits,,passed,4075.479924999996,,,,,,,,,,,,,,,,,,,,,,,,,,172.9582519999999 +2,taxcalc/tests/test_calcfunctions.py::test_calc_and_used_vars,,passed,35.83534700001678,,,,,,,,,,,,,,,,,,,,,,,,,,0.34522300001071926 +3,taxcalc/tests/test_calcfunctions.py::test_function_args_usage,,passed,1.9168350000029477,,,,,,,,,,,,,,,,,,,,,,,,,,0.056408000006058945 +4,taxcalc/tests/test_calcfunctions.py::test_DependentCare,,passed,0.250206999993452,,,,,,,,,,,,,,,,,,,,,,,,,,0.01111899999273197 +5,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, young]",,passed,0.18814099999531209,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 45, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, False, 0)",12000,,,,,,,,,,,,,,,,,,,,,,,,-0.00011199998084521212 +6,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity]",,passed,0.1962360000220542,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 66, 44, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 1, 1, 2, 200, True, 300)",15800,,,,,,,,,,,,,,,,,,,,,,,,0.02204000003303011 +7,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, allow charity, over limit]",,passed,0.17180999998345214,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 66, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 400, True, 300)",13500,,,,,,,,,,,,,,,,,,,,,,,,-0.00231600000688556 +8,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, two old]",,passed,0.16933500000959611,"(0, 1200, [6000, 12000, 6000, 12000, 12000], 66, 67, [1500, 1200, 1500, 1500, 1500], 1000, 2, 0, 0, 0, 2, 0, True, 0)",14400,,,,,,,,,,,,,,,,,,,,,,,,-0.007375999985015286 +9,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 1],,passed,0.1685240000028898,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.006854999980987486 +10,taxcalc/tests/test_calcfunctions.py::test_StdDed[Single 2],,passed,0.17012800000770767,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 1, 0, 0, 0, 2, 0, True, 0)",6000,,,,,,,,,,,,,,,,,,,,,,,,-0.0011219999862532304 +11,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single]",,passed,0.1710589999959211,"(0, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 1, 0, 0, 2, 0, True, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,0.0008999999749904064 +12,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Marrid, Single, dep, under earn]",,passed,0.17566799999713112,"(1, 200, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1000,,,,,,,,,,,,,,,,,,,,,,,,0.003534999990506632 +13,"taxcalc/tests/test_calcfunctions.py::test_StdDed[Married, Single, dep, over earn]",,passed,0.16863400000488582,"(1, 1000, [6000, 12000, 6000, 12000, 12000], 44, 0, [1500, 1200, 1500, 1500, 1500], 1000, 3, 0, 0, 0, 2, 0, True, 0)",1350,,,,,,,,,,,,,,,,,,,,,,,,-0.001735999973106972 +14,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 1],,passed,0.24533800001336203,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(0, 4065, 4065, 0, 0, 3252, 25000, 10000, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.003995000014356348 +15,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 2],,passed,0.22031099999253456,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 6146.25, 4065, 2081.25, 1040.625, 4917, 38959.375, 21167.5, 17791.875, 21380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,0.0022520000015902597 +16,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 3],,passed,0.21676500000467058,"(120000, 150000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 22202.25, 21453, 749.25, 374.625, 16773, 179625.375, 161833.5, 17791.875, 161380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,4.900002181787433e-05 +17,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 4],,passed,0.21531199999458295,"(120000, 500000, 15000, 100, 2000, 0.12, 0.03, 0, 400000, 400, 2000, 0, 10000, 0, 0, 3000, None, None, None, None, None, None, None, None, None, None, None)","(15000, 46067.85, 31953, 749.25, 374.625, 30138.6, 529625.375, 511833.5, 17791.875, 511380, 19820)",,,,,,,,,,,,,,,,,,,,,,,,0.0005999999928008592 +18,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 5],,passed,0.21399900001028982,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 300, 0, 0, 0, 0, 0, None, None, None, None, None, None, None, None, None, None, None)","(300, 4065, 4065, 0, 0, 3285.3, 25300, 10279.1875, 15000, 10382, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.00034800001458282215 +19,taxcalc/tests/test_calcfunctions.py::test_EI_PayrollTax[case 6],,passed,0.21883800002342468,"(120000, 10000, 15000, 100, 2000, 0.12, 0.03, 0, 99999999999, 400, 0, 0, 0, 0, -40000, 0, None, None, None, None, None, None, None, None, None, None, None)","(-40000, 4065, 4065, 0, 0, 3252, 0, 0, 15000, 10100, 17000)",,,,,,,,,,,,,,,,,,,,,,,,0.004597000014427977 +20,taxcalc/tests/test_calcfunctions.py::test_AfterTaxIncome,,passed,0.18735999998398256,,,,,,,,,,,,,,,,,,,,,,,,,,0.011278999977548665 +21,taxcalc/tests/test_calcfunctions.py::test_ExpandIncome,,passed,0.1675729999988107,,,,,,,,,,,,,,,,,,,,,,,,,,0.00160199999754701 +22,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple0-expected_value0],,passed,0.1755879999905119,"(1, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.0019719999784229003 +23,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple1-expected_value1],,passed,0.16488800000047377,"(0, 1, 2, 0, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.0018120000220278598 +24,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple2-expected_value2],,passed,0.16651100000331098,"(1, 1, 2, 100, 0, 1000)","(0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.003896999999142281 +25,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple3-expected_value3],,passed,0.16718199998422278,"(0, 2, 1, 100, 200, 1000)","(200, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.0012509999862686805 +26,taxcalc/tests/test_calcfunctions.py::test_LumpSumTax[test_tuple4-expected_value4],,passed,0.16640100000131497,"(0, 1, 3, 100, 300, 1000)","(300, 1300)",,,,,,,,,,,,,,,,,,,,,,,,0.00132200000280136 +27,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple0-expected_value0],,passed,0.17071800002099735,"(1100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,-0.0034489999620745393 +28,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple1-expected_value1],,passed,0.17157000002043787,"(2100000, 1, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,0.00579000001721397 +29,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple2-expected_value2],,passed,0.16656099998613172,"(1100000, 1, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,0.00298399999110191 +30,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple3-expected_value3],,passed,0.16881499999499283,"(1100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(10915, 11115, 12915, 11215)",,,,,,,,,,,,,,,,,,,,,,,,-0.004149000005781972 +31,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple4-expected_value4],,passed,0.16889500000161206,"(2100000, 2, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(209150, 209350, 211150, 209450)",,,,,,,,,,,,,,,,,,,,,,,,0.0006889999895065557 +32,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple5-expected_value5],,passed,0.18664899999976114,"(1100000, 2, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,0.021931000020458752 +33,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple6-expected_value6],,passed,0.16682099999343336,"(510000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(1003, 1203, 3003, 1303)",,,,,,,,,,,,,,,,,,,,,,,,-0.000593000009985134 +34,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple7-expected_value7],,passed,0.16613899998674242,"(1100000, 3, 1000, 100, 100, 0.1, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(109150, 109350, 111150, 109450)",,,,,,,,,,,,,,,,,,,,,,,,-0.0017050000167272705 +35,taxcalc/tests/test_calcfunctions.py::test_FairShareTax[test_tuple8-expected_value8],,passed,0.16397599998185797,"(510000, 3, 1000, 100, 100, 0, [1000000, 1000000, 500000, 1000000, 1000000], [2000000, 2000000, 1000000, 2000000, 2000000], 100, 200, 2000, 300)","(0, 200, 2000, 300)",,,,,,,,,,,,,,,,,,,,,,,,-0.00038200002450133885 +36,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple0-expected_value0],,passed,0.1681340000061482,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1400)",,,,,,,,,,,,,,,,,,,,,,,,-0.001552999975729108 +37,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple1-expected_value1],,passed,0.1684839999995802,"(1, 76000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 1120)",,,,,,,,,,,,,,,,,,,,,,,,0.001480999998193594 +38,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple2-expected_value2],,passed,0.17764100002182204,"(1, 90000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.005140999974173555 +39,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple3-expected_value3],,passed,0.16801399999621935,"(2, 50000, 3, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 4200)",,,,,,,,,,,,,,,,,,,,,,,,0.0006399999961104463 +40,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple4-expected_value4],,passed,0.1662399999986519,"(2, 155000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,-0.0015549999829999883 +41,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple5-expected_value5],,passed,0.17171000001781067,"(2, 170000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.002703000035353481 +42,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple6-expected_value6],,passed,0.16839399998502813,"(4, 50000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 2800)",,,,,,,,,,,,,,,,,,,,,,,,0.001931999975113341 +43,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple7-expected_value7],,passed,0.1668000000165648,"(4, 117000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 560)",,,,,,,,,,,,,,,,,,,,,,,,0.0003380000350717005 +44,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple8-expected_value8],,passed,0.16756299999087787,"(4, 130000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 1400, [75000, 150000, 75000, 112500, 150000], [80000, 160000, 80000, 120000, 160000], 0, 0, [0, 0, 0, 0, 0], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0007730000106675183 +45,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple9-expected_value9],,passed,0.16583900000455287,"(1, 50000, 1, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,0.0010400000007848853 +46,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple10-expected_value10],,passed,0.1703880000150093,"(1, 97000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 600)",,,,,,,,,,,,,,,,,,,,,,,,0.004727000003867998 +47,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple11-expected_value11],,passed,0.16802300001472759,"(1, 150000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0018210000121143821 +48,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple12-expected_value12],,passed,0.16692099998749654,"(2, 50000, 4, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,0.0019419999830461443 +49,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple13-expected_value13],,passed,0.1654579999978978,"(2, 160000, 5, 3, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 3400)",,,,,,,,,,,,,,,,,,,,,,,,-0.0010239999994610116 +50,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple14-expected_value14],,passed,0.168274000003521,"(2, 300000, 2, 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.000739999990173601 +51,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple15-expected_value15],,passed,0.16452699998126263,"(4, 50000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 2200)",,,,,,,,,,,,,,,,,,,,,,,,-0.0022360000002663583 +52,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple16-expected_value16],,passed,0.16593999998804065,"(4, 130000, 2, 1, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 825)",,,,,,,,,,,,,,,,,,,,,,,,-0.0007520000337990496 +53,taxcalc/tests/test_calcfunctions.py::test_PersonalTaxCredit[test_tuple17-expected_value17],,passed,0.16547900000318805,"(4, 170000, 3, 2, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], 0, 0, [75000, 150000, 75000, 112500, 75000], [0, 0, 0, 0, 0], 0.05, 500, [1200, 2400, 1200, 1200, 1200], 0, 0, 0)","(0, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.013006000017412561 +54,taxcalc/tests/test_calcfunctions.py::test_EITCamount[test_tuple0-6660],,passed,264.4507089999877,"(0.0, 0.45, 19330, 6660, 19330, 19330, 0.2106)",6660,,,,,,,,,,,,,,,,,,,,,,,,11.431281999989551 +55,taxcalc/tests/test_calcfunctions.py::test_EITC[test_tuple0-6660],,passed,0.19994300001258125,"(4, 0, 3, 19330, 0, 0, 0, 0, 0, 0, 0, 0, 19330, 19330, 0, [8790, 19330, 19330, 19330], 25, 64, [5890, 5890, 5890, 5890], [0.0765, 0.34, 0.4, 0.45], [538, 3584, 5920, 6660], [0.0765, 0.1598, 0.2106, 0.2106], 0.0, 3650, 9e+99, False, False, 0)",6660,,,,,,,,,,,,,,,,,,,,,,,,0.0024830000029396615 +56,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple0-expected_value0],,passed,0.1871989999813195,"(527860.66, 0.0, 37000.0, 0.0, 2, 352000.0, 0.0, 0.0, 0.0, 5000.0, 7000.0, 0, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(490860.66, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.002502999990383614 +57,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple1-expected_value1],,passed,0.17506700001490572,"(337675.1, 0.0, 49000.0, 0.0, 2, 23000.0, 0.0, 0.0, 0.0, 8000.0, 4000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(284075.1, 4600)",,,,,,,,,,,,,,,,,,,,,,,,0.0012819999994918285 +58,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple2-expected_value2],,passed,0.17301299999417097,"(603700.0, 24400.0, 0.0, 0.0, 2, 0.0, 11000.0, 0.0, 0.0, 3000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(579300.0, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0033869999924718286 +59,taxcalc/tests/test_calcfunctions.py::test_TaxInc[test_tuple3-expected_value3],,passed,0.168274000003521,"(90700.0, 0.0, 32000.0, 0.0, 4, 0.0, 6000.0, 0.0, 0.0, 9000.0, -3000.0, 1, 0.0, 0.0, 0.2, [160700.0, 321400.0, 160725.0, 160700.0, 321400.0], [50000.0, 100000.0, 50000.0, 50000.0, 100000.0], 0.5, 0.25, 0.025, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.0, 0.0, True)","(57500.0, 1200)",,,,,,,,,,,,,,,,,,,,,,,,-0.008526999977220812 +60,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2021[test_tuple0-expected_value0],,passed,0.17666900001245267,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, True, True, 0, 0, 0)","(0, 1000, 0)",,,,,,,,,,,,,,,,,,,,,,,,-0.0001629999815122296 +61,taxcalc/tests/test_calcfunctions.py::test_ChildDepTaxCredit_2022[test_tuple0-expected_value0],,passed,0.173343000000159,"(45, 0, 0, 0, 4, 1000, 3, 1, 0, 0, 0.0, 0, 0.0, 0, 0, 0, 0.0, 0, 2000, [200000.0, 400000.0, 200000.0, 200000.0, 400000.0], 0.05, False, 500, 0.0, 0, False, False, 0, 0, 0)","(0, 0, 1000)",,,,,,,,,,,,,,,,,,,,,,,,0.0009800000100313178 +62,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2021[test_tuple0-0],,passed,0.2037200000017947,"(1000, 0, 600, [75000, 150000, 75000, 125000, 150000], 0.05, True, True, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.0040789999786738085 +63,taxcalc/tests/test_calcfunctions.py::test_CTCnew_2022[test_tuple0-0],,passed,0.17056799998727,"(0, 0, 0, [0, 0, 0, 0, 0], 0, False, False, False, 0.0, False, 0, 0, 0, 45, 0, 0, 1000, 4, 0, 0, 0)",0,,,,,,,,,,,,,,,,,,,,,,,,-0.0011430000199651735 +64,taxcalc/tests/test_calcfunctions.py::test_AGI[test_tuple0-expected_value0],,passed,0.22381700000551064,"(29530, 0, 0, 0, 4, 1, 0, False, 0, 0, 0.0, [9e+99, 9e+99, 9e+99, 9e+99, 9e+99], 0.02, False, 10200, [150000, 150000, 150000, 150000, 150000], 10200, 0, 0, 0)","(19330, 0, 0)",,,,,,,,,,,,,,,,,,,,,,,,0.0016600000094513234 +65,taxcalc/tests/test_calculator.py::test_make_calculator,,passed,2435.911070000003,,,,,,,,,,,,,,,,,,,,,,,,,,4.029911999992692 +66,taxcalc/tests/test_calculator.py::test_make_calculator_deepcopy,,passed,2178.76226300001,,,,,,,,,,,,,,,,,,,,,,,,,,15.911691000013434 +67,taxcalc/tests/test_calculator.py::test_make_calculator_with_policy_reform,,passed,2568.944590000001,,,,,,,,,,,,,,,,,,,,,,,,,,17.27935300002082 +68,taxcalc/tests/test_calculator.py::test_make_calculator_with_multiyear_reform,,passed,2673.1911619999946,,,,,,,,,,,,,,,,,,,,,,,,,,34.86829199999829 +69,taxcalc/tests/test_calculator.py::test_calculator_advance_to_year,,passed,2049.235186999994,,,,,,,,,,,,,,,,,,,,,,,,,,39.27137699997752 +70,taxcalc/tests/test_calculator.py::test_make_calculator_raises_on_no_policy,,passed,375.4574699999864,,,,,,,,,,,,,,,,,,,,,,,,,,6.96021299998506 +71,taxcalc/tests/test_calculator.py::test_calculator_mtr,,passed,17416.765106000013,,,,,,,,,,,,,,,,,,,,,,,,,,45.13059499998781 +72,taxcalc/tests/test_calculator.py::test_calculator_mtr_when_PT_rates_differ,,passed,3009.5508169999903,,,,,,,,,,,,,,,,,,,,,,,,,,-14.114360000007764 +73,taxcalc/tests/test_calculator.py::test_make_calculator_increment_years_first,,passed,2551.1823119999804,,,,,,,,,,,,,,,,,,,,,,,,,,-48.12095600001976 +74,taxcalc/tests/test_calculator.py::test_ID_HC_vs_BS,,passed,5017.091901000014,,,,,,,,,,,,,,,,,,,,,,,,,,-25.03346599996803 +75,taxcalc/tests/test_calculator.py::test_ID_StateLocal_HC_vs_CRT,,passed,4762.084151999999,,,,,,,,,,,,,,,,,,,,,,,,,,10.130962999994154 +76,taxcalc/tests/test_calculator.py::test_ID_RealEstate_HC_vs_CRT,,passed,4710.636727999998,,,,,,,,,,,,,,,,,,,,,,,,,,-105.19193900000755 +77,taxcalc/tests/test_calculator.py::test_calculator_using_nonstd_input,,passed,1791.8530390000456,,,,,,,,,,,,,,,,,,,,,,,,,,1.7741630000500663 +78,taxcalc/tests/test_calculator.py::test_bad_json_names,,passed,162.7179920000117,,,,,,,,,,,,,,,,,,,,,,,,,,42.86622100002545 +79,taxcalc/tests/test_calculator.py::test_json_assump_url,,passed,292.8526389999888,,,,,,,,,,,,,,,,,,,,,,,,,,-88.95419699999246 +80,taxcalc/tests/test_calculator.py::test_read_bad_json_assump_file,,passed,0.30037999999876774,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0013650000028064824 +81,taxcalc/tests/test_calculator.py::test_json_doesnt_exist,,passed,0.26820099998303704,,,,,,,,,,,,,,,,,,,,,,,,,,0.032889999999952124 +82,taxcalc/tests/test_calculator.py::test_calc_all,,passed,1680.9579949999716,,,,,,,,,,,,,,,,,,,,,,,,,,0.8719369999712399 +83,taxcalc/tests/test_calculator.py::test_noreform_documentation,,passed,4100.4056350000155,,,,,,,,,,,,,,,,,,,,,,,,,,9.502019000023665 +84,taxcalc/tests/test_calculator.py::test_reform_documentation,,passed,5975.836972000025,,,,,,,,,,,,,,,,,,,,,,,,,,48.32222200002434 +85,taxcalc/tests/test_calculator.py::test_distribution_tables,,passed,3657.1461469999917,,,,,,,,,,,,,,,,,,,,,,,,,,90.34374399999479 +86,taxcalc/tests/test_calculator.py::test_difference_table,,passed,2994.536750000009,,,,,,,,,,,,,,,,,,,,,,,,,,-31.87185900000577 +87,taxcalc/tests/test_calculator.py::test_diagnostic_table,,passed,2479.505254000003,,,,,,,,,,,,,,,,,,,,,,,,,,26.091962000009516 +88,taxcalc/tests/test_calculator.py::test_mtr_graph,,passed,2209.78969600003,,,,,,,,,,,,,,,,,,,,,,,,,,-18.92253399995525 +89,taxcalc/tests/test_calculator.py::test_atr_graph,,passed,2199.6433289999686,,,,,,,,,,,,,,,,,,,,,,,,,,-4.2750120000218885 +90,taxcalc/tests/test_calculator.py::test_privacy_of_embedded_objects,,passed,2079.484007000019,,,,,,,,,,,,,,,,,,,,,,,,,,-49.96613099996193 +91,taxcalc/tests/test_calculator.py::test_n65,,passed,1958.0466780000165,,,,,,,,,,,,,,,,,,,,,,,,,,32.06513200001382 +92,taxcalc/tests/test_calculator.py::test_ce_aftertax_income,,passed,3084.171333000029,,,,,,,,,,,,,,,,,,,,,,,,,,7.357787000046301 +93,taxcalc/tests/test_calculator.py::test_qbid_calculation,,passed,1589.897021000013,,,,,,,,,,,,,,,,,,,,,,,,,,17.047370000000228 +94,taxcalc/tests/test_calculator.py::test_qbid_limit_switch,,passed,3761.2483289999545,,,,,,,,,,,,,,,,,,,,,,,,,,-31.27088100004039 +95,taxcalc/tests/test_calculator.py::test_calc_all_benefits_amounts,,passed,5060.276275000035,,,,,,,,,,,,,,,,,,,,,,,,,,-88.89889799996854 +96,taxcalc/tests/test_calculator.py::test_cg_top_rate,,passed,4497.638354999992,,,,,,,,,,,,,,,,,,,,,,,,,,-84.95270400001755 +97,taxcalc/tests/test_compatible_data.py::test_compatible_data_presence,,passed,0.33555599998180696,,,,,,,,,,,,,,,,,,,,,,,,,,-0.03022900000360096 +98,taxcalc/tests/test_consumption.py::test_year_consistency,,passed,0.14663399997516535,,,,,,,,,,,,,,,,,,,,,,,,,,0.030074999983753556 +99,taxcalc/tests/test_consumption.py::test_validity_of_consumption_vars_set,,passed,0.6717329999901267,,,,,,,,,,,,,,,,,,,,,,,,,,-0.06454600003280575 +100,taxcalc/tests/test_consumption.py::test_update_consumption,,passed,65.21686500002488,,,,,,,,,,,,,,,,,,,,,,,,,,-0.46996299997204005 +101,taxcalc/tests/test_consumption.py::test_incorrect_update_consumption,,passed,370.99463999999216,,,,,,,,,,,,,,,,,,,,,,,,,,-9.648809999987463 +102,taxcalc/tests/test_consumption.py::test_future_update_consumption,,passed,88.14735900000414,,,,,,,,,,,,,,,,,,,,,,,,,,0.4099710000105006 +103,taxcalc/tests/test_consumption.py::test_consumption_default_data,,passed,28.302265000036186,,,,,,,,,,,,,,,,,,,,,,,,,,0.28803900002571936 +104,taxcalc/tests/test_consumption.py::test_consumption_response,,passed,4027.7293519999944,,,,,,,,,,,,,,,,,,,,,,,,,,-11.19650399999773 +105,taxcalc/tests/test_cpscsv.py::test_agg,,passed,10249.421448000021,,,,,,,,,,,,,,,,,,,,,,,,,,90.40103800001089 +106,taxcalc/tests/test_cpscsv.py::test_cps_availability,,passed,643.137997999986,,,,,,,,,,,,,,,,,,,,,,,,,,35.65764100000024 +107,taxcalc/tests/test_data.py::test_recs_class,,passed,392.54812699999775,,,,,,,,,,,,,,,,,,,,,,,,,,-1.1449190000121234 +108,taxcalc/tests/test_decorators.py::test_create_apply_function_string,,passed,0.1428859999919041,,,,,,,,,,,,,,,,,,,,,,,,,,0.0002790000053209951 +109,taxcalc/tests/test_decorators.py::test_create_apply_function_string_with_params,,passed,0.12276899997232249,,,,,,,,,,,,,,,,,,,,,,,,,,0.0029639999752362894 +110,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string_mult_outputs,,passed,0.12077600001703104,,,,,,,,,,,,,,,,,,,,,,,,,,-0.03363299995839947 +111,taxcalc/tests/test_decorators.py::test_create_toplevel_function_string,,passed,0.1398910000034448,,,,,,,,,,,,,,,,,,,,,,,,,,0.025746999995135494 +112,taxcalc/tests/test_decorators.py::test_make_apply_function,,passed,0.5956709999850318,,,,,,,,,,,,,,,,,,,,,,,,,,0.0068690000034621335 +113,taxcalc/tests/test_decorators.py::test_magic_apply_jit,,passed,363.93345900000895,,,,,,,,,,,,,,,,,,,,,,,,,,-11.477838999979951 +114,taxcalc/tests/test_decorators.py::test_magic_apply_jit_swap,,passed,0.7065880000141078,,,,,,,,,,,,,,,,,,,,,,,,,,0.0482849999912105 +115,taxcalc/tests/test_decorators.py::test_magic_iterate_jit,,passed,136.4689379999504,,,,,,,,,,,,,,,,,,,,,,,,,,1.650108999939448 +116,taxcalc/tests/test_decorators.py::test_faux_function_iterate_jit,,passed,103.67153099997495,,,,,,,,,,,,,,,,,,,,,,,,,,-2.153154000041013 +117,taxcalc/tests/test_decorators.py::test_ret_everything_iterate_jit,,passed,169.86556299997346,,,,,,,,,,,,,,,,,,,,,,,,,,-0.9153980000462525 +118,taxcalc/tests/test_decorators.py::test_function_takes_kwarg,,passed,134.1451339999935,,,,,,,,,,,,,,,,,,,,,,,,,,1.8636149999906593 +119,taxcalc/tests/test_decorators.py::test_function_no_parameters_listed,,passed,136.25228299997616,,,,,,,,,,,,,,,,,,,,,,,,,,2.8643219999651137 +120,taxcalc/tests/test_decorators.py::test_function_parameters_optional,,passed,138.19036900002857,,,,,,,,,,,,,,,,,,,,,,,,,,0.09277100002691441 +121,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_no_return,,passed,5.601870000020881,,,,,,,,,,,,,,,,,,,,,,,,,,0.4951490000166814 +122,taxcalc/tests/test_decorators.py::test_iterate_jit_raises_on_unknown_return_argument,,passed,4.135785000016767,,,,,,,,,,,,,,,,,,,,,,,,,,0.32257500001264816 +123,taxcalc/tests/test_decorators.py::test_force_no_jit,,passed,4.889880999996876,,,,,,,,,,,,,,,,,,,,,,,,,,0.22230199999739853 +124,taxcalc/tests/test_growdiff.py::test_year_consistency,,passed,0.12193800000659394,,,,,,,,,,,,,,,,,,,,,,,,,,0.00529900000856294 +125,taxcalc/tests/test_growdiff.py::test_update_and_apply_growdiff,,passed,400.1272479999898,,,,,,,,,,,,,,,,,,,,,,,,,,-1.7578249999985474 +126,taxcalc/tests/test_growdiff.py::test_has_any_response,,passed,101.76979300001676,,,,,,,,,,,,,,,,,,,,,,,,,,0.3378130000157853 +127,taxcalc/tests/test_growdiff.py::test_description_punctuation,,passed,0.27348000003257766,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0018649999731223388 +128,taxcalc/tests/test_growdiff.py::test_boolean_value_infomation,,passed,0.25617799997235124,,,,,,,,,,,,,,,,,,,,,,,,,,0.0006389999782641653 +129,taxcalc/tests/test_growfactors.py::test_improper_usage,,passed,2.8941289999693254,,,,,,,,,,,,,,,,,,,,,,,,,,0.0025949999837848736 +130,taxcalc/tests/test_growfactors.py::test_update_after_use,,passed,1.906435999956102,,,,,,,,,,,,,,,,,,,,,,,,,,-0.016053000052806965 +131,taxcalc/tests/test_growfactors.py::test_proper_usage,,passed,1.836486000001969,,,,,,,,,,,,,,,,,,,,,,,,,,-0.027553999984775146 +132,taxcalc/tests/test_growfactors.py::test_growfactors_csv_values,,passed,2.1467849999794453,,,,,,,,,,,,,,,,,,,,,,,,,,0.036674999961405774 +133,taxcalc/tests/test_parameters.py::test_params_class[revision0-],,passed,8.738740000012513,,,{},,,,,,,,,,,,,,,,,,,,,,,-0.18166099997074525 +134,taxcalc/tests/test_parameters.py::test_params_class[revision1-error],,passed,10.38104399998474,,,{'real_param': {2004: 1.9}},error,,,,,,,,,,,,,,,,,,,,,,-0.028896999992866768 +135,taxcalc/tests/test_parameters.py::test_params_class[revision2-raise],,passed,11.588275999997677,,,{'int_param': {2004: [3.6]}},raise,,,,,,,,,,,,,,,,,,,,,,0.14050299998302762 +136,taxcalc/tests/test_parameters.py::test_params_class[revision3-raise],,passed,10.359514000015224,,,{'int_param': {2004: [3]}},raise,,,,,,,,,,,,,,,,,,,,,,0.024645000024747787 +137,taxcalc/tests/test_parameters.py::test_params_class[revision4-noerror],,passed,14.55186399999775,,,"{'label_param': {2004: [1, 2]}}",noerror,,,,,,,,,,,,,,,,,,,,,,0.15510899999071803 +138,taxcalc/tests/test_parameters.py::test_params_class[revision5-raise],,passed,7.895558000029723,,,"{'label_param': {2004: [[1, 2]]}}",raise,,,,,,,,,,,,,,,,,,,,,,0.0877800000296256 +139,taxcalc/tests/test_parameters.py::test_params_class[revision6-raise],,passed,8.89064400001871,,,"{'label_param': {2004: [1, 2, 3]}}",raise,,,,,,,,,,,,,,,,,,,,,,-0.08730499996545404 +140,taxcalc/tests/test_parameters.py::test_params_class[revision7-raise],,passed,10.313547999999173,,,{'bool_param': {2004: [4.9]}},raise,,,,,,,,,,,,,,,,,,,,,,-0.8415380000030837 +141,taxcalc/tests/test_parameters.py::test_params_class[revision8-raise],,passed,10.275245999991967,,,{'str_param': {2004: [9]}},raise,,,,,,,,,,,,,,,,,,,,,,-0.7556980000060776 +142,taxcalc/tests/test_parameters.py::test_params_class[revision9-noerror],,passed,12.111951999997927,,,{'str_param': {2004: 'nonlinear'}},noerror,,,,,,,,,,,,,,,,,,,,,,-0.5349170000101822 +143,taxcalc/tests/test_parameters.py::test_params_class[revision10-error],,passed,10.105210000006082,,,{'str_param': {2004: 'unknownvalue'}},error,,,,,,,,,,,,,,,,,,,,,,-0.20119599997769733 +144,taxcalc/tests/test_parameters.py::test_params_class[revision11-raise],,passed,10.350356999992982,,,{'str_param': {2004: ['nonlinear']}},raise,,,,,,,,,,,,,,,,,,,,,,-0.19280300000446005 +145,taxcalc/tests/test_parameters.py::test_params_class[revision12-raise],,passed,10.373839999999745,,,{'real_param': {2004: 'linear'}},raise,,,,,,,,,,,,,,,,,,,,,,-0.19961600000328872 +146,taxcalc/tests/test_parameters.py::test_params_class[revision13-raise],,passed,11.583787000006396,,,"{'real_param': {2004: [0.2, 0.3]}}",raise,,,,,,,,,,,,,,,,,,,,,,-1.7161540000074638 +147,taxcalc/tests/test_parameters.py::test_params_class[revision14-raise],,passed,11.291673000016544,,,{'real_param-indexed': {2004: True}},raise,,,,,,,,,,,,,,,,,,,,,,-0.49787999998329724 +148,taxcalc/tests/test_parameters.py::test_params_class[revision15-raise],,passed,7.987750000040705,,,{'unknown_param-indexed': {2004: False}},raise,,,,,,,,,,,,,,,,,,,,,,0.1353880000465324 +149,taxcalc/tests/test_parameters.py::test_json_file_contents[consumption.json],,passed,176.6225370000143,,,,,consumption.json,,,,,,,,,,,,,,,,,,,,,1.3642630000276768 +150,taxcalc/tests/test_parameters.py::test_json_file_contents[policy_current_law.json],,passed,103076.464977,,,,,policy_current_law.json,,,,,,,,,,,,,,,,,,,,,-1144.9682370000082 +151,taxcalc/tests/test_parameters.py::test_json_file_contents[growdiff.json],,passed,681.0996030000069,,,,,growdiff.json,,,,,,,,,,,,,,,,,,,,,-10.617397999965306 +152,taxcalc/tests/test_parameters.py::test_parameters_mentioned[consumption.json-consumption.py],,passed,0.2595639999753985,,,,,,consumption.json,consumption.py,,,,,,,,,,,,,,,,,,,-0.006583000015325524 +153,taxcalc/tests/test_parameters.py::test_parameters_mentioned[policy_current_law.json-calcfunctions.py],,passed,9.038223999993988,,,,,,policy_current_law.json,calcfunctions.py,,,,,,,,,,,,,,,,,,,-0.33481600002005507 +154,taxcalc/tests/test_parameters.py::test_parameters_mentioned[growdiff.json-growdiff.py],,passed,0.26710800000273593,,,,,,growdiff.json,growdiff.py,,,,,,,,,,,,,,,,,,,-0.03357400004233568 +155,taxcalc/tests/test_parameters.py::test_expand_xd_errors,,passed,4.91761600000018,,,,,,,,,,,,,,,,,,,,,,,,,,-0.10347799997134732 +156,taxcalc/tests/test_parameters.py::test_expand_empty,,passed,5.1645860000348875,,,,,,,,,,,,,,,,,,,,,,,,,,-0.14305299998795817 +157,taxcalc/tests/test_parameters.py::test_expand_1d_scalar,,passed,15.078114000004916,,,,,,,,,,,,,,,,,,,,,,,,,,-0.2901280000173756 +158,taxcalc/tests/test_parameters.py::test_expand_2d_short_array,,passed,5.899607999992895,,,,,,,,,,,,,,,,,,,,,,,,,,0.019179999981133733 +159,taxcalc/tests/test_parameters.py::test_expand_2d_variable_rates,,passed,7.153277999975671,,,,,,,,,,,,,,,,,,,,,,,,,,-0.21267500000021755 +160,taxcalc/tests/test_parameters.py::test_expand_2d_already_filled,,passed,8.983933000024535,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04271999995353326 +161,taxcalc/tests/test_parameters.py::test_expand_2d_partial_expand,,passed,9.424864999971305,,,,,,,,,,,,,,,,,,,,,,,,,,-0.06164600000602327 +162,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n]",,passed,0.31096000003572044,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}} } -",,,,,,,,,,,,,,,,,,0.022654000019883824 -163,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n]",,passed,0.25635899999087997,,,,,,,," +",,,,,,,,,,,,,,,,,,-0.011311999969620956 +163,"taxcalc/tests/test_parameters.py::test_read_json_revision[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n]",,passed,0.25152900002467504,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]} } -",,,,,,,,,,,,,,,,,,-0.019214000019474042 -164,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n-False]",,passed,0.21551200001113102,,,,,,,,," +",,,,,,,,,,,,,,,,,,-0.004829999966204868 +164,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}}\n}\n-False]",,passed,0.16784299998562346,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": {""2013"": 0.9}} } -",False,,,,,,,,,,,,,,,,0.04741899999771712 -165,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n-True]",,passed,0.17043799999783005,,,,,,,,," +",False,,,,,,,,,,,,,,,,-0.04766900002550753 +165,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]}\n}\n-True]",,passed,0.16921499997124556,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": [{""year"": ""2013"", ""value"": 0.9}]} } -",True,,,,,,,,,,,,,,,,0.0017440000306124526 -166,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": 0.9}\n}\n-True]",,passed,0.1702480000176365,,,,,,,,," +",True,,,,,,,,,,,,,,,,-0.001223000026584431 +166,"taxcalc/tests/test_parameters.py::test_read_json_revision_foramts[\n{\n ""consumption"": {""BEN_mcaid_value"": 0.9}\n}\n-True]",,passed,0.1694759999963935,,,,,,,,," { ""consumption"": {""BEN_mcaid_value"": 0.9} } -",True,,,,,,,,,,,,,,,,0.002035000022715422 -167,taxcalc/tests/test_policy.py::test_incorrect_class_instantiation,,passed,0.1357840000082433,,,,,,,,,,,,,,,,,,,,,,,,,,-0.014014999976552589 -168,taxcalc/tests/test_policy.py::test_correct_class_instantiation,,passed,2050.9204200000113,,,,,,,,,,,,,,,,,,,,,,,,,,49.51345799997853 -169,taxcalc/tests/test_policy.py::test_json_reform_url,,passed,90.0655620000066,,,,,,,,,,,,,,,,,,,,,,,,,,-70.77527100000225 -170,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[False],,passed,2048.5085590000267,,,,,,,,,,,False,,,,,,,,,,,,,,,50.235649999990756 -171,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[True],,passed,2204.6308559999943,,,,,,,,,,,True,,,,,,,,,,,,,,,-52.38853500003415 -172,taxcalc/tests/test_policy.py::test_constant_inflation_rate_with_reform,,passed,1805.5751719999762,,,,,,,,,,,,,,,,,,,,,,,,,,-28.61305699997274 -173,taxcalc/tests/test_policy.py::test_variable_inflation_rate_with_reform,,passed,1994.4554200000084,,,,,,,,,,,,,,,,,,,,,,,,,,-12.987033999991127 -174,taxcalc/tests/test_policy.py::test_multi_year_reform,,passed,1984.370639999952,,,,,,,,,,,,,,,,,,,,,,,,,,-13.715659000069763 -175,taxcalc/tests/test_policy.py::test_policy_metadata,,passed,1461.9394750000083,,,,,,,,,,,,,,,,,,,,,,,,,,-42.90455000000293 -176,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_no_year,,passed,1301.3441549999811,,,,,,,,,,,,,,,,,,,,,,,,,,-7.582397000021501 -177,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_early_year,,passed,1319.1132270000026,,,,,,,,,,,,,,,,,,,,,,,,,,9.273826999958601 -178,taxcalc/tests/test_policy.py::test_reform_with_default_indexed,,passed,2092.639319,,,,,,,,,,,,,,,,,,,,,,,,,,71.05202299999291 -179,taxcalc/tests/test_policy.py::test_reform_makes_no_changes_before_year,,passed,1966.613140999982,,,,,,,,,,,,,,,,,,,,,,,,,,54.32134400001564 -180,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[False],,passed,2204.814777000024,,,,,,,,,,,False,,,,,,,,,,,,,,,58.166400000004614 -181,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[True],,passed,2100.785318000021,,,,,,,,,,,True,,,,,,,,,,,,,,,-12.400949999971544 -182,taxcalc/tests/test_policy.py::test_pop_the_cap_reform,,passed,1964.9191479999786,,,,,,,,,,,,,,,,,,,,,,,,,,-56.6574100000139 -183,taxcalc/tests/test_policy.py::test_order_of_indexing_and_level_reforms,,passed,3804.5563360000187,,,,,,,,,,,,,,,,,,,,,,,,,,-33.86374299998306 -184,taxcalc/tests/test_policy.py::test_misspecified_reform_dictionary,,passed,0.12654700003622565,,,,,,,,,,,,,,,,,,,,,,,,,,0.005462000046918561 -185,taxcalc/tests/test_policy.py::test_section_titles,,passed,4.911676999995507,,,,,,,,,,,,,,,,,,,,,,,,,,0.03708899998855486 -186,taxcalc/tests/test_policy.py::test_description_punctuation,,passed,3.007945999968342,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11032500003693757 -187,taxcalc/tests/test_policy.py::test_get_index_rate,,passed,1330.8984440000131,,,,,,,,,,,,,,,,,,,,,,,,,,14.456316999996943 -188,taxcalc/tests/test_policy.py::test_reform_with_bad_ctc_levels,,passed,1803.578243000004,,,,,,,,,,,,,,,,,,,,,,,,,,10.720086999981731 -189,taxcalc/tests/test_policy.py::test_reform_with_removed_parameter,,passed,3939.530313999967,,,,,,,,,,,,,,,,,,,,,,,,,,-21.357689000013124 -190,taxcalc/tests/test_policy.py::test_reform_with_out_of_range_error,,passed,1968.0338809999967,,,,,,,,,,,,,,,,,,,,,,,,,,58.96283800001356 -191,taxcalc/tests/test_policy.py::test_reform_with_warning,,passed,2162.8922680000073,,,,,,,,,,,,,,,,,,,,,,,,,,76.98483799998712 -192,taxcalc/tests/test_policy.py::test_reform_with_scalar_vector_errors,,passed,7027.728744000001,,,,,,,,,,,,,,,,,,,,,,,,,,196.3368140000057 -193,taxcalc/tests/test_policy.py::test_index_offset_reform,,passed,8507.646462000026,,,,,,,,,,,,,,,,,,,,,,,,,,125.85734300006516 -194,taxcalc/tests/test_policy.py::test_cpi_offset_affect_on_prior_years,,passed,6229.462150000018,,,,,,,,,,,,,,,,,,,,,,,,,,14.221300000031079 -195,taxcalc/tests/test_policy.py::test_cpi_offset_on_reverting_params,,passed,9205.32687599996,,,,,,,,,,,,,,,,,,,,,,,,,,-4.024720000072193 -196,taxcalc/tests/test_policy.py::test_raise_errors_regression,,passed,1994.147403999989,,,,,,,,,,,,,,,,,,,,,,,,,,-5.1613640000030045 -197,taxcalc/tests/test_policy.py::TestAdjust::test_simple_adj,>,passed,5337.859665999986,,,,,,,,,,,,,,,,,,,,,,,,,,38.92698299995391 -198,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_1,>,passed,5648.955270000044,,,,,,,,,,,,,,,,,,,,,,,,,,-90.77070799998 -199,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_2,>,passed,5632.829136999988,,,,,,,,,,,,,,,,,,,,,,,,,,-83.42145900002106 -200,taxcalc/tests/test_policy.py::TestAdjust::test_activate_index,>,passed,5524.364030000015,,,,,,,,,,,,,,,,,,,,,,,,,,-187.08699600000546 -201,taxcalc/tests/test_policy.py::TestAdjust::test_apply_cpi_offset,>,passed,9767.032943000004,,,,,,,,,,,,,,,,,,,,,,,,,,-220.74168899996403 -202,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps,>,passed,4620.013771999993,,,,,,,,,,,,,,,,,,,,,,,,,,-78.26451100004306 -203,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps2,>,passed,5292.99079499998,,,,,,,,,,,,,,,,,,,,,,,,,,-56.628427000021475 -204,taxcalc/tests/test_policy.py::TestAdjust::test_adj_CPI_offset_and_index_status,>,passed,9653.521184,,,,,,,,,,,,,,,,,,,,,,,,,,-140.89764800002013 -205,taxcalc/tests/test_policy.py::TestAdjust::test_adj_related_parameters_and_index_status,>,passed,3672.178825000003,,,,,,,,,,,,,,,,,,,,,,,,,,-105.88229099994305 -206,taxcalc/tests/test_policy.py::TestAdjust::test_indexed_status_parsing,>,passed,4192.351812000026,,,,,,,,,,,,,,,,,,,,,,,,,,-82.24787999989803 -207,taxcalc/tests/test_policy.py::TestAdjust::test_cpi_offset_does_not_affect_wage_indexed_params,>,passed,7855.86665400001,,,,,,,,,,,,,,,,,,,,,,,,,,21.575247999976455 -208,taxcalc/tests/test_records.py::test_incorrect_Records_instantiation,,passed,9.273444999962521,,,,,,,,,,,,,,,,,,,,,,,,,,-0.10566399998879028 -209,taxcalc/tests/test_records.py::test_correct_Records_instantiation,,passed,390.3487339999856,,,,,,,,,,,,,,,,,,,,,,,,,,6.909336000035182 -210,taxcalc/tests/test_records.py::test_read_cps_data,,passed,621.0226059999968,,,,,,,,,,,,,,,,,,,,,,,,,,3.3156719999851703 -211,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 2, 200000, 200000, 0.03\n]",,passed,405.1079299999856,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s +",True,,,,,,,,,,,,,,,,-0.0007720000212430023 +167,taxcalc/tests/test_policy.py::test_incorrect_class_instantiation,,passed,0.1280789999782428,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0077050000300005195 +168,taxcalc/tests/test_policy.py::test_correct_class_instantiation,,passed,1978.4745590000057,,,,,,,,,,,,,,,,,,,,,,,,,,-72.44586100000606 +169,taxcalc/tests/test_policy.py::test_json_reform_url,,passed,131.5644459999703,,,,,,,,,,,,,,,,,,,,,,,,,,41.49888399996371 +170,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[False],,passed,1980.8884260000355,,,,,,,,,,,False,,,,,,,,,,,,,,,-67.62013299999126 +171,taxcalc/tests/test_policy.py::test_read_json_reform_file_and_implement_reform[True],,passed,2190.2870540000094,,,,,,,,,,,True,,,,,,,,,,,,,,,-14.343801999984862 +172,taxcalc/tests/test_policy.py::test_constant_inflation_rate_with_reform,,passed,1815.072124999972,,,,,,,,,,,,,,,,,,,,,,,,,,9.496952999995983 +173,taxcalc/tests/test_policy.py::test_variable_inflation_rate_with_reform,,passed,1966.9951779999906,,,,,,,,,,,,,,,,,,,,,,,,,,-27.460242000017843 +174,taxcalc/tests/test_policy.py::test_multi_year_reform,,passed,1973.1966520000128,,,,,,,,,,,,,,,,,,,,,,,,,,-11.173987999939072 +175,taxcalc/tests/test_policy.py::test_policy_metadata,,passed,1414.1213259999859,,,,,,,,,,,,,,,,,,,,,,,,,,-47.81814900002246 +176,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_no_year,,passed,1245.845848999977,,,,,,,,,,,,,,,,,,,,,,,,,,-55.49830600000405 +177,taxcalc/tests/test_policy.py::test_implement_reform_raises_on_early_year,,passed,1245.7049559999973,,,,,,,,,,,,,,,,,,,,,,,,,,-73.40827100000524 +178,taxcalc/tests/test_policy.py::test_reform_with_default_indexed,,passed,1987.1577859999547,,,,,,,,,,,,,,,,,,,,,,,,,,-105.48153300004515 +179,taxcalc/tests/test_policy.py::test_reform_makes_no_changes_before_year,,passed,1877.205613000001,,,,,,,,,,,,,,,,,,,,,,,,,,-89.40752799998108 +180,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[False],,passed,2135.934282999983,,,,,,,,,,,False,,,,,,,,,,,,,,,-68.88049400004093 +181,taxcalc/tests/test_policy.py::test_read_json_reform_and_implement_reform[True],,passed,2046.17005099999,,,,,,,,,,,True,,,,,,,,,,,,,,,-54.615267000031054 +182,taxcalc/tests/test_policy.py::test_pop_the_cap_reform,,passed,1907.2738610000215,,,,,,,,,,,,,,,,,,,,,,,,,,-57.64528699995685 +183,taxcalc/tests/test_policy.py::test_order_of_indexing_and_level_reforms,,passed,3762.2569079999835,,,,,,,,,,,,,,,,,,,,,,,,,,-42.29942800003482 +184,taxcalc/tests/test_policy.py::test_misspecified_reform_dictionary,,passed,0.12179700001979654,,,,,,,,,,,,,,,,,,,,,,,,,,-0.004750000016429057 +185,taxcalc/tests/test_policy.py::test_section_titles,,passed,4.783465000002707,,,,,,,,,,,,,,,,,,,,,,,,,,-0.12821199999279997 +186,taxcalc/tests/test_policy.py::test_description_punctuation,,passed,3.067723000015121,,,,,,,,,,,,,,,,,,,,,,,,,,0.059777000046778994 +187,taxcalc/tests/test_policy.py::test_get_index_rate,,passed,1303.3923329999766,,,,,,,,,,,,,,,,,,,,,,,,,,-27.506111000036526 +188,taxcalc/tests/test_policy.py::test_reform_with_bad_ctc_levels,,passed,1786.8134920000216,,,,,,,,,,,,,,,,,,,,,,,,,,-16.764750999982425 +189,taxcalc/tests/test_policy.py::test_reform_with_removed_parameter,,passed,3911.8790599999897,,,,,,,,,,,,,,,,,,,,,,,,,,-27.651253999977143 +190,taxcalc/tests/test_policy.py::test_reform_with_out_of_range_error,,passed,1941.254936000007,,,,,,,,,,,,,,,,,,,,,,,,,,-26.77894499998979 +191,taxcalc/tests/test_policy.py::test_reform_with_warning,,passed,2103.2806389999905,,,,,,,,,,,,,,,,,,,,,,,,,,-59.611629000017274 +192,taxcalc/tests/test_policy.py::test_reform_with_scalar_vector_errors,,passed,6748.928916000012,,,,,,,,,,,,,,,,,,,,,,,,,,-278.79982799998925 +193,taxcalc/tests/test_policy.py::test_index_offset_reform,,passed,8350.341183000011,,,,,,,,,,,,,,,,,,,,,,,,,,-157.3052790000147 +194,taxcalc/tests/test_policy.py::test_cpi_offset_affect_on_prior_years,,passed,6222.58174000001,,,,,,,,,,,,,,,,,,,,,,,,,,-6.880410000007942 +195,taxcalc/tests/test_policy.py::test_cpi_offset_on_reverting_params,,passed,9222.87960799997,,,,,,,,,,,,,,,,,,,,,,,,,,17.55273200001102 +196,taxcalc/tests/test_policy.py::test_raise_errors_regression,,passed,2030.256874000088,,,,,,,,,,,,,,,,,,,,,,,,,,36.10947000009901 +197,taxcalc/tests/test_policy.py::TestAdjust::test_simple_adj,>,passed,5313.343744999997,,,,,,,,,,,,,,,,,,,,,,,,,,-24.51592099998834 +198,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_1,>,passed,5612.983009999994,,,,,,,,,,,,,,,,,,,,,,,,,,-35.97226000005048 +199,taxcalc/tests/test_policy.py::TestAdjust::test_adj_without_index_2,>,passed,5601.94737900008,,,,,,,,,,,,,,,,,,,,,,,,,,-30.881757999907677 +200,taxcalc/tests/test_policy.py::TestAdjust::test_activate_index,>,passed,5461.724053000012,,,,,,,,,,,,,,,,,,,,,,,,,,-62.639977000003455 +201,taxcalc/tests/test_policy.py::TestAdjust::test_apply_cpi_offset,>,passed,9693.766257999981,,,,,,,,,,,,,,,,,,,,,,,,,,-73.26668500002233 +202,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps,>,passed,4422.310262999986,,,,,,,,,,,,,,,,,,,,,,,,,,-197.70350900000722 +203,taxcalc/tests/test_policy.py::TestAdjust::test_multiple_cpi_swaps2,>,passed,5187.539269000013,,,,,,,,,,,,,,,,,,,,,,,,,,-105.45152599996709 +204,taxcalc/tests/test_policy.py::TestAdjust::test_adj_CPI_offset_and_index_status,>,passed,9492.673109999942,,,,,,,,,,,,,,,,,,,,,,,,,,-160.84807400005775 +205,taxcalc/tests/test_policy.py::TestAdjust::test_adj_related_parameters_and_index_status,>,passed,3599.0945060000286,,,,,,,,,,,,,,,,,,,,,,,,,,-73.08431899997458 +206,taxcalc/tests/test_policy.py::TestAdjust::test_indexed_status_parsing,>,passed,4185.659483999984,,,,,,,,,,,,,,,,,,,,,,,,,,-6.692328000041925 +207,taxcalc/tests/test_policy.py::TestAdjust::test_cpi_offset_does_not_affect_wage_indexed_params,>,passed,7698.1252499999755,,,,,,,,,,,,,,,,,,,,,,,,,,-157.7414040000349 +208,taxcalc/tests/test_records.py::test_incorrect_Records_instantiation,,passed,9.354562999988048,,,,,,,,,,,,,,,,,,,,,,,,,,0.08111800002552805 +209,taxcalc/tests/test_records.py::test_correct_Records_instantiation,,passed,386.40508699995735,,,,,,,,,,,,,,,,,,,,,,,,,,-3.9436470000282497 +210,taxcalc/tests/test_records.py::test_read_cps_data,,passed,636.940826,,,,,,,,,,,,,,,,,,,,,,,,,,15.918220000003203 +211,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 2, 200000, 200000, 0.03\n]",,passed,419.63296999995237,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,-0.6169710001131534 -212,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 2, 200000, 200000, 0.03\n]",,passed,402.42404999997916,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s +",,,,,,,,,,,,,,14.525039999966793 +212,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 2, 200000, 200000, 0.03\n]",,passed,423.67333400000007,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,-1.3978180000435714 -213,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 2, 200000, 200000, 0.03\n]",,passed,402.85212100002354,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s +",,,,,,,,,,,,,,21.24928400002085 +213,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 2, 200000, 200000, 0.03\n]",,passed,419.92565900000045,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s 1, 2, 200000, 200000, 0.03 -",,,,,,,,,,,,,,1.7386210000722713 -214,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 4, 200000, 100000, 100000\n]",,passed,398.1418010000084,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s +",,,,,,,,,,,,,,17.073537999976907 +214,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00200,e00200p,e00200s\n1, 4, 200000, 100000, 100000\n]",,passed,413.9408540000886,,,,,,,,,,,,"RECID,MARS,e00200,e00200p,e00200s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,-7.4878370000420205 -215,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 4, 200000, 100000, 100000\n]",,passed,402.4517820000142,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s +",,,,,,,,,,,,,,15.799053000080221 +215,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00900,e00900p,e00900s\n1, 4, 200000, 100000, 100000\n]",,passed,421.70685499991123,,,,,,,,,,,,"RECID,MARS,e00900,e00900p,e00900s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,8.431340000072396 -216,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 4, 200000, 100000, 100000\n]",,passed,400.2194569999915,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s +",,,,,,,,,,,,,,19.25507299989704 +216,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e02100,e02100p,e02100s\n1, 4, 200000, 100000, 100000\n]",,passed,420.7010379999474,,,,,,,,,,,,"RECID,MARS,e02100,e02100p,e02100s 1, 4, 200000, 100000, 100000 -",,,,,,,,,,,,,,2.8095529999632163 -217,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,k1bx14s\n1, 4, 0.03\n]",,passed,402.45173200003137,,,,,,,,,,,,"RECID,MARS,k1bx14s +",,,,,,,,,,,,,,20.481580999955895 +217,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,k1bx14s\n1, 4, 0.03\n]",,passed,420.7160450000629,,,,,,,,,,,,"RECID,MARS,k1bx14s 1, 4, 0.03 -",,,,,,,,,,,,,,-0.49152599990520685 -218,"taxcalc/tests/test_records.py::test_read_data[RxCID,MARS\n1, 2\n]",,passed,1.5586249999728352,,,,,,,,,,,,"RxCID,MARS +",,,,,,,,,,,,,,18.264313000031507 +218,"taxcalc/tests/test_records.py::test_read_data[RxCID,MARS\n1, 2\n]",,passed,1.5027740000732592,,,,,,,,,,,,"RxCID,MARS 1, 2 -",,,,,,,,,,,,,,-0.2734030001079193 -219,"taxcalc/tests/test_records.py::test_read_data[RECID,e00300\n1, 456789\n]",,passed,1.3693210000269573,,,,,,,,,,,,"RECID,e00300 +",,,,,,,,,,,,,,-0.05585099989957598 +219,"taxcalc/tests/test_records.py::test_read_data[RECID,e00300\n1, 456789\n]",,passed,1.351202000023477,,,,,,,,,,,,"RECID,e00300 1, 456789 -",,,,,,,,,,,,,,-0.13140099991915122 -220,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS\n1, 6\n]",,passed,400.4286580000098,,,,,,,,,,,,"RECID,MARS +",,,,,,,,,,,,,,-0.0181190000034801 +220,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS\n1, 6\n]",,passed,420.48897100005433,,,,,,,,,,,,"RECID,MARS 1, 6 -",,,,,,,,,,,,,,5.2913620000936135 -221,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,EIC\n1, 5, 4\n]",,passed,401.4784610000106,,,,,,,,,,,,"RECID,MARS,EIC +",,,,,,,,,,,,,,20.060313000044516 +221,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,EIC\n1, 5, 4\n]",,passed,418.7759349999851,,,,,,,,,,,,"RECID,MARS,EIC 1, 5, 4 -",,,,,,,,,,,,,,-2.6145959999439583 -222,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00600,e00650\n1, 1, 8, 9\n]",,passed,400.95404100003407,,,,,,,,,,,,"RECID,MARS,e00600,e00650 +",,,,,,,,,,,,,,17.2974739999745 +222,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e00600,e00650\n1, 1, 8, 9\n]",,passed,408.26708800000233,,,,,,,,,,,,"RECID,MARS,e00600,e00650 1, 1, 8, 9 -",,,,,,,,,,,,,,-2.7557829999409478 -223,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e01500,e01700\n1, 1, 6, 7\n]",,passed,405.19038399997953,,,,,,,,,,,,"RECID,MARS,e01500,e01700 +",,,,,,,,,,,,,,7.313046999968265 +223,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,e01500,e01700\n1, 1, 6, 7\n]",,passed,419.8473850000255,,,,,,,,,,,,"RECID,MARS,e01500,e01700 1, 1, 6, 7 -",,,,,,,,,,,,,,4.771210999933828 -224,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,PT_SSTB_income\n1, 1, 2\n]",,passed,401.3542189999839,,,,,,,,,,,,"RECID,MARS,PT_SSTB_income +",,,,,,,,,,,,,,14.657001000045966 +224,"taxcalc/tests/test_records.py::test_read_data[RECID,MARS,PT_SSTB_income\n1, 1, 2\n]",,passed,415.13847800001713,,,,,,,,,,,,"RECID,MARS,PT_SSTB_income 1, 1, 2 -",,,,,,,,,,,,,,3.3666299999026137 -225,taxcalc/tests/test_records.py::test_for_duplicate_names,,passed,0.8535459999734485,,,,,,,,,,,,,,,,,,,,,,,,,,-0.04406300007531172 -226,taxcalc/tests/test_records.py::test_records_variables_content,,passed,0.6424219999985326,,,,,,,,,,,,,,,,,,,,,,,,,,0.03222699996285883 -227,taxcalc/tests/test_records.py::test_csv_input_vars_md_contents,,passed,0.6573300000241034,,,,,,,,,,,,,,,,,,,,,,,,,,0.00010700006214392488 -228,taxcalc/tests/test_reforms.py::test_2017_law_reform,,passed,4751.594417999968,,,,,,,,,,,,,,,,,,,,,,,,,,-34.601853000026495 -229,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2019],,passed,12839.014559000021,,,,,,,,,,,,,2019.0,,,,,,,,,,,,,-5.220410999867454 -230,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2020],,passed,12800.133754999933,,,,,,,,,,,,,2020.0,,,,,,,,,,,,,7.263064999960989 -231,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2021],,passed,12904.643175000047,,,,,,,,,,,,,2021.0,,,,,,,,,,,,,-75.29978499997014 -232,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2022],,passed,13226.211213000057,,,,,,,,,,,,,2022.0,,,,,,,,,,,,,270.10890100007236 -233,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2023],,passed,12974.534930000005,,,,,,,,,,,,,2023.0,,,,,,,,,,,,,131.38742199998887 -234,taxcalc/tests/test_reforms.py::test_reform_json_and_output,,passed,76605.68477000004,,,,,,,,,,,,,,,,,,,,,,,,,,-263.05877799996233 -235,taxcalc/tests/test_responses.py::test_response_json,,passed,0.21263700000417884,,,,,,,,,,,,,,,,,,,,,,,,,,0.008546999993086557 -236,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-dot-csv-filename-no-dot-json-filename-no-dot-json-filename-no-dot-json-filename-no-output-directory],,passed,0.1700379999647339,,,,,,,,,,,,,,no-dot-csv-filename,no-dot-json-filename,no-dot-json-filename,no-dot-json-filename,no-output-directory,,,,,,,,-8.800009254619767e-05 -237,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[input_data1-baseline1-reform1-assump1-outdir1],,passed,0.11647699989225657,,,,,,,,,,,,,,[],[],[],[],[],,,,,,,,-6.000016128382413e-05 -238,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-exist.csv-no-exist.json-no-exist.json-no-exist.json-.],,passed,0.19550499996512372,,,,,,,,,,,,,,no-exist.csv,no-exist.json,no-exist.json,no-exist.json,.,,,,,,,,0.0009329999102192232 -239,taxcalc/tests/test_taxcalcio.py::test_init_errors[2000-reformfile0-reformfile0-None],,passed,4865.837596000006,,,,,,,,,,,,,,,,,,,2000.0,reformfile0,reformfile0,,,,,-38.948518000097465 -240,taxcalc/tests/test_taxcalcio.py::test_init_errors[2099-reformfile0-reformfile0-None],,passed,5143.841621000092,,,,,,,,,,,,,,,,,,,2099.0,reformfile0,reformfile0,,,,,39.34280800012857 -241,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-reformfile0-reformfile0-errorassumpfile],,passed,4720.094354000025,,,,,,,,,,,,,,,,,,,2020.0,reformfile0,reformfile0,errorassumpfile,,,,-16.418201999954363 -242,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-errorreformfile-errorreformfile-None],,passed,3839.678266999954,,,,,,,,,,,,,,,,,,,2020.0,errorreformfile,errorreformfile,,,,,-43.07104300005403 -243,taxcalc/tests/test_taxcalcio.py::test_creation_with_aging,,passed,12146.144537000055,,,,,,,,,,,,,,,,,,,,,,,,,,-50.7903959999112 -244,taxcalc/tests/test_taxcalcio.py::test_ctor_init_with_cps_files,,passed,15349.976015000038,,,,,,,,,,,,,,,,,,,,,,,,,,118.6120969999829 -245,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|combined,\n c00100\n surtax\n -True-8]",,passed,5176.671062999958,,,,,,,,,,,,,,,,,,,,,,," +",,,,,,,,,,,,,,13.784259000033217 +225,taxcalc/tests/test_records.py::test_for_duplicate_names,,passed,0.8811550000018542,,,,,,,,,,,,,,,,,,,,,,,,,,0.027609000028405717 +226,taxcalc/tests/test_records.py::test_records_variables_content,,passed,0.675340000043434,,,,,,,,,,,,,,,,,,,,,,,,,,0.03291800004490142 +227,taxcalc/tests/test_records.py::test_csv_input_vars_md_contents,,passed,0.6778739999617756,,,,,,,,,,,,,,,,,,,,,,,,,,0.020543999937672197 +228,taxcalc/tests/test_reforms.py::test_2017_law_reform,,passed,4744.144582999979,,,,,,,,,,,,,,,,,,,,,,,,,,-7.449834999988525 +229,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2019],,passed,12654.52507200007,,,,,,,,,,,,,2019.0,,,,,,,,,,,,,-184.4894869999498 +230,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2020],,passed,12639.779700999952,,,,,,,,,,,,,2020.0,,,,,,,,,,,,,-160.35405399997944 +231,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2021],,passed,12719.9552269999,,,,,,,,,,,,,2021.0,,,,,,,,,,,,,-184.68794800014803 +232,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2022],,passed,12597.957552000025,,,,,,,,,,,,,2022.0,,,,,,,,,,,,,-628.2536610000316 +233,taxcalc/tests/test_reforms.py::test_round_trip_reforms[2023],,passed,12697.900044999984,,,,,,,,,,,,,2023.0,,,,,,,,,,,,,-276.6348850000195 +234,taxcalc/tests/test_reforms.py::test_reform_json_and_output,,passed,75758.9776289999,,,,,,,,,,,,,,,,,,,,,,,,,,-846.7071410001372 +235,taxcalc/tests/test_responses.py::test_response_json,,passed,0.19239900007050892,,,,,,,,,,,,,,,,,,,,,,,,,,-0.02023799993366987 +236,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-dot-csv-filename-no-dot-json-filename-no-dot-json-filename-no-dot-json-filename-no-output-directory],,passed,0.17660899993643397,,,,,,,,,,,,,,no-dot-csv-filename,no-dot-json-filename,no-dot-json-filename,no-dot-json-filename,no-output-directory,,,,,,,,0.0065709999717000755 +237,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[input_data1-baseline1-reform1-assump1-outdir1],,passed,0.11947300004067074,,,,,,,,,,,,,,[],[],[],[],[],,,,,,,,0.002996000148414238 +238,taxcalc/tests/test_taxcalcio.py::test_ctor_errors[no-exist.csv-no-exist.json-no-exist.json-no-exist.json-.],,passed,0.1941520000627861,,,,,,,,,,,,,,no-exist.csv,no-exist.json,no-exist.json,no-exist.json,.,,,,,,,,-0.0013529999023375872 +239,taxcalc/tests/test_taxcalcio.py::test_init_errors[2000-reformfile0-reformfile0-None],,passed,4881.364598999994,,,,,,,,,,,,,,,,,,,2000.0,reformfile0,reformfile0,,,,,15.527002999988326 +240,taxcalc/tests/test_taxcalcio.py::test_init_errors[2099-reformfile0-reformfile0-None],,passed,5050.760955999976,,,,,,,,,,,,,,,,,,,2099.0,reformfile0,reformfile0,,,,,-93.08066500011591 +241,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-reformfile0-reformfile0-errorassumpfile],,passed,4709.2552450000085,,,,,,,,,,,,,,,,,,,2020.0,reformfile0,reformfile0,errorassumpfile,,,,-10.839109000016833 +242,taxcalc/tests/test_taxcalcio.py::test_init_errors[2020-errorreformfile-errorreformfile-None],,passed,3840.2279509999744,,,,,,,,,,,,,,,,,,,2020.0,errorreformfile,errorreformfile,,,,,0.5496840000205339 +243,taxcalc/tests/test_taxcalcio.py::test_creation_with_aging,,passed,12195.49089499992,,,,,,,,,,,,,,,,,,,,,,,,,,49.34635799986427 +244,taxcalc/tests/test_taxcalcio.py::test_ctor_init_with_cps_files,,passed,15884.065768000028,,,,,,,,,,,,,,,,,,,,,,,,,,534.0897529999893 +245,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|combined,\n c00100\n surtax\n -True-8]",,passed,5177.608530000043,,,,,,,,,,,,,,,,,,,,,,," MARS;iitax payrolltax|combined, c00100 surtax - ",True,8.0,25.12244699994426 -246,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|kombined,c00100\n surtax\n RECID\n FLPDYR\n -False-8]",,passed,5014.975149000065,,,,,,,,,,,,,,,,,,,,,,," + ",True,8.0,0.9374670000852348 +246,"taxcalc/tests/test_taxcalcio.py::test_custom_dump_variables[\n MARS;iitax\tpayrolltax|kombined,c00100\n surtax\n RECID\n FLPDYR\n -False-8]",,passed,5063.204885999994,,,,,,,,,,,,,,,,,,,,,,," MARS;iitax payrolltax|kombined,c00100 surtax RECID FLPDYR - ",False,8.0,-66.3790539999809 -247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22105.670846000066,,,,,,,,,,,,,,,,,,,,,,,,,,-116.19489099996281 -248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12772.544447999962,,,,,,,,,,,,,,,,,,,,,,,,,,-122.62910600008945 -249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6508.059788999958,,,,,,,,,,,,,,,,,,,,,,,,,,114.07134199998836 -250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5854.7457580000355,,,,,,,,,,,,,,,,,,,,,,,,,,-9.828002000062952 -251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6662.492044000032,,,,,,,,,,,,,,,,,,,,,,,,,,154.82928500000526 -252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6500.794420000034,,,,,,,,,,,,,,,,,,,,,,,,,,40.43336899996939 -253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5637.5103139999965,,,,,,,,,,,,,,,,,,,,,,,,,,-13.810216000024411 -254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4197.755425999958,,,,,,,,,,,,,,,,,,,,,,,,,,-21.897647000059806 -255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.7385000000112996,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09721300000364863 -256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3605.924443000049,,,,,,,,,,,,,,,,,,,,,,,,,,-7.37332199992079 -257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,402.7475789999926,,,,,,,,,,,,,,,,,,,,,,,,,,0.28381599997828744 -258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.4008930000718465,,,,,,,,,,,,,,,,,,,,,,,,,,-0.11025799994968155 -259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7273979999808944,,,,,,,,,,,,,,,,,,,,,,,,,,0.00094600000011269 -260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6477389999872685,,,,,,,,,,,,,,,,,,,,,,,,,,-0.01984300001822703 -261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.644492999981594,,,,,,,,,,,,,,,,,,,,,,,,,,0.0204719999601366 -262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.6617019999785043,,,,,,,,,,,,,,,,,,,,,,,,,,0.029735999873992114 -263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.5066700000024866,,,,,,,,,,,,,,,,,,,,,,,,,,0.10327000006782283 -264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.2606470000473564,,,,,,,,,,,,,,,,,,,,,,,,,,0.2021470000954646 -265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2729.185365000035,,,,,,,,,,,,,,,,,,,,,,,,,,34.75562100004481 -266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3324.6483660000195,,,,,,,,,,,,,,,,,,,,,,,,,,-9.925850000058745 -267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2092.4040859999877,,,,,,,,,,,,,,,,,,,,,,,,,,49.39077599999564 -268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2276.056875999984,,,,,,,,,,,,,,,,,,,,,,,,,,-15.635918000043603 -269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2022.8567730000577,,,,,,,,,,,,,,,,,,,,,,,,,,-69.00786300002437 -270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2173.183320000021,,,,,,,,,,,,,,,,,,,,,,,,,,-63.06947099994886 -271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3803.5144819999687,,,,,,,,,,,,,,,,,,,,,,,,,,-21.408210000118743 -272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.0620250000101805,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026018999960797373 -273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.24927599997681682,,,,,,,,,,,,,,,,,,,,,,,,,,-0.026196000021627697 -274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2715170001010847,,,,,,,,,,,,,,,,,,,,,,,,,,0.008879000120032288 -275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3804709999712941,,,,,,,,,,,,,,,,,,,,,,,,,,-0.0005470001269713975 -276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.11097800006609759,,,,,,,,,,,,,,,,,,,,,,,,,,0.004100000069229295 + ",False,8.0,48.22973699992872 +247,taxcalc/tests/test_taxcalcio.py::test_output_options,,passed,22298.970982000013,,,,,,,,,,,,,,,,,,,,,,,,,,193.30013599995073 +248,taxcalc/tests/test_taxcalcio.py::test_write_doc_file,,passed,12805.307254000014,,,,,,,,,,,,,,,,,,,,,,,,,,32.76280600005157 +249,taxcalc/tests/test_taxcalcio.py::test_sqldb_option,,passed,6482.398158000024,,,,,,,,,,,,,,,,,,,,,,,,,,-25.66163099993446 +250,taxcalc/tests/test_taxcalcio.py::test_no_tables_or_graphs,,passed,5777.350017999993,,,,,,,,,,,,,,,,,,,,,,,,,,-77.39574000004359 +251,taxcalc/tests/test_taxcalcio.py::test_tables,,passed,6447.674105000033,,,,,,,,,,,,,,,,,,,,,,,,,,-214.81793899999957 +252,taxcalc/tests/test_taxcalcio.py::test_graphs,,passed,6389.864939000063,,,,,,,,,,,,,,,,,,,,,,,,,,-110.92948099997102 +253,taxcalc/tests/test_taxcalcio.py::test_analyze_warnings_print,,passed,5629.0489940000725,,,,,,,,,,,,,,,,,,,,,,,,,,-8.461319999923944 +254,taxcalc/tests/test_taxcalcio.py::test_error_message_parsed_correctly,,passed,4144.005063999998,,,,,,,,,,,,,,,,,,,,,,,,,,-53.75036199995975 +255,taxcalc/tests/test_utils.py::test_validity_of_name_lists,,passed,0.7480650000388778,,,,,,,,,,,,,,,,,,,,,,,,,,0.009565000027578208 +256,taxcalc/tests/test_utils.py::test_create_tables,,passed,3478.15352300006,,,,,,,,,,,,,,,,,,,,,,,,,,-127.77091999998902 +257,taxcalc/tests/test_utils.py::test_diff_count_precision,,passed,400.1866590000418,,,,,,,,,,,,,,,,,,,,,,,,,,-2.5609199999507837 +258,taxcalc/tests/test_utils.py::test_weighted_mean,,passed,2.310515999965901,,,,,,,,,,,,,,,,,,,,,,,,,,-0.09037700010594563 +259,taxcalc/tests/test_utils.py::test_wage_weighted,,passed,0.7045029999517283,,,,,,,,,,,,,,,,,,,,,,,,,,-0.022895000029166113 +260,taxcalc/tests/test_utils.py::test_agi_weighted,,passed,0.6301739999798883,,,,,,,,,,,,,,,,,,,,,,,,,,-0.01756500000738015 +261,taxcalc/tests/test_utils.py::test_expanded_income_weighted,,passed,0.6144149999727233,,,,,,,,,,,,,,,,,,,,,,,,,,-0.03007800000887073 +262,taxcalc/tests/test_utils.py::test_weighted_sum,,passed,1.5870790000462875,,,,,,,,,,,,,,,,,,,,,,,,,,-0.07462299993221677 +263,taxcalc/tests/test_utils.py::test_add_income_trow_var,,passed,2.3626939999985552,,,,,,,,,,,,,,,,,,,,,,,,,,-0.14397600000393096 +264,taxcalc/tests/test_utils.py::test_add_quantile_trow_var,,passed,3.0859330000794216,,,,,,,,,,,,,,,,,,,,,,,,,,-0.1747139999679348 +265,taxcalc/tests/test_utils.py::test_dist_table_sum_row,,passed,2677.9847039999822,,,,,,,,,,,,,,,,,,,,,,,,,,-51.200661000052605 +266,taxcalc/tests/test_utils.py::test_diff_table_sum_row,,passed,3324.5726129999866,,,,,,,,,,,,,,,,,,,,,,,,,,-0.07575300003281882 +267,taxcalc/tests/test_utils.py::test_mtr_graph_data,,passed,2030.1491709999482,,,,,,,,,,,,,,,,,,,,,,,,,,-62.25491500004 +268,taxcalc/tests/test_utils.py::test_atr_graph_data,,passed,2280.371116000083,,,,,,,,,,,,,,,,,,,,,,,,,,4.314240000098835 +269,taxcalc/tests/test_utils.py::test_xtr_graph_plot,,passed,2037.3139060000085,,,,,,,,,,,,,,,,,,,,,,,,,,14.457132999951 +270,taxcalc/tests/test_utils.py::test_write_graph_file,,passed,2193.093018000013,,,,,,,,,,,,,,,,,,,,,,,,,,19.909697999992204 +271,taxcalc/tests/test_utils.py::test_ce_aftertax_income,,passed,3801.909073000047,,,,,,,,,,,,,,,,,,,,,,,,,,-1.6054089999215648 +272,taxcalc/tests/test_utils.py::test_read_egg_csv,,passed,1.0653660000343734,,,,,,,,,,,,,,,,,,,,,,,,,,0.0033410000241931304 +273,taxcalc/tests/test_utils.py::test_read_egg_json,,passed,0.2600749999146501,,,,,,,,,,,,,,,,,,,,,,,,,,0.010798999937833315 +274,taxcalc/tests/test_utils.py::test_create_delete_temp_file,,passed,0.2712959999371378,,,,,,,,,,,,,,,,,,,,,,,,,,-0.00022100016394688282 +275,taxcalc/tests/test_utils.py::test_bootstrap_se_ci,,passed,0.3881740000224454,,,,,,,,,,,,,,,,,,,,,,,,,,0.007703000051151321 +276,taxcalc/tests/test_utils.py::test_table_columns_labels,,passed,0.10990500004481873,,,,,,,,,,,,,,,,,,,,,,,,,,-0.001073000021278761