File tree Expand file tree Collapse file tree 9 files changed +47
-13
lines changed
behavioral_responses_tests Expand file tree Collapse file tree 9 files changed +47
-13
lines changed Original file line number Diff line number Diff line change 88Tax-Calculator
99==============
1010
11- Tax-Calculator is an open-source microsimulation model for analysis of
12- USA federal income and payroll taxes.
11+ Tax-Calculator is an open-source microsimulation model for conventional
12+ analysis of USA federal income and payroll taxes.
1313
1414We are seeking contributors and maintainers. If you are interested in
1515joining the project as a contributor or maintainer, open a new
Original file line number Diff line number Diff line change 55for a complete commit history.
66
77
8+ 2025-12-08 Release 6.3.0
9+ ------------------------
10+ (last merged pull request is
11+ [ #2981 ] ( https://github.com/PSLmodels/Tax-Calculator/pull/2981 ) )
12+
13+ ** This is an enhancement release.**
14+
15+ ** API Changes**
16+
17+ ** New Features**
18+ - Add ` --behavior ` option to CLI that provides behavioral response
19+ capabilities like those in Tax-Brain
20+ [[ #2981 ] ( https://github.com/PSLmodels/Tax-Calculator/pull/2981 ) by
21+ Martin Holmer]
22+
23+ ** Bug Fixes**
24+
25+
8262025-11-19 Release 6.2.1
927------------------------
1028(last merged pull request is
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ cross-model validation work with NBER's TAXSIM-35 model is described
5050
5151## Latest release
5252
53- {doc}` 6.2.1 (2025-11-19 ) <about/releases> `
53+ {doc}` 6.3.0 (2025-12-08 ) <about/releases> `
5454
5555If you are already using Tax-Calculator, upgrade using the following command:
5656```
Original file line number Diff line number Diff line change 77with open ("README.md" , "r" , encoding = "utf-8" ) as f :
88 longdesc = f .read ()
99
10- VERSION = "6.2.1 "
10+ VERSION = "6.3.0 "
1111
1212config = {
1313 "description" : "Tax-Calculator" ,
Original file line number Diff line number Diff line change 11Metadata-Version: 2.4
22Name: taxcalc
3- Version: 6.2.1
3+ Version: 6.3.0
44Summary: Tax-Calculator
55Home-page: https://github.com/PSLmodels/Tax-Calculator
66Download-URL: https://github.com/PSLmodels/Tax-Calculator
@@ -43,8 +43,8 @@ Dynamic: summary
4343Tax-Calculator
4444==============
4545
46- Tax-Calculator is an open-source microsimulation model for analysis of
47- USA federal income and payroll taxes.
46+ Tax-Calculator is an open-source microsimulation model for conventional
47+ analysis of USA federal income and payroll taxes.
4848
4949We are seeking contributors and maintainers. If you are interested in
5050joining the project as a contributor or maintainer, open a new
Original file line number Diff line number Diff line change 1414from taxcalc .utils import *
1515from taxcalc .cli import *
1616
17- __version__ = '6.2.1a '
17+ __version__ = '6.3.0 '
1818__min_python3_version__ = 11
1919__max_python3_version__ = 13
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ if [ $? -ne 0 ]; then
4141 echo Differences between run30-35.tables run30-35.tables-expect
4242fi
4343tc cps.csv 2028 --numyears 8 --behavior br1.json --runid 31 \
44- --reform ref.json --exact --tables --silent
44+ --reform ref.json --exact --tables --graphs -- silent
4545cmp run31-35.tables run30-35.tables
4646if [ $? -ne 0 ]; then
4747 ERRORS=1
5050
5151if [ $ERRORS -eq 0 ]; then
5252 rm -f run?? -?? .tables
53+ rm -f run31-?? -??? .html
5354fi
Original file line number Diff line number Diff line change @@ -377,7 +377,7 @@ def cli_tc_main():
377377 '1|131.88\n '
378378 '2|28879.00\n '
379379)
380- TEST_DUMPDB_FILENAME = f'test-{ str (TEST_TAXYEAR )[2 :]} -#-#-#.dumpdb'
380+ TEST_DUMPDB_FILENAME = f'test-{ str (TEST_TAXYEAR )[2 :]} -#-#-#-# .dumpdb'
381381TEST_SQLITE_QUERY = """
382382SELECT
383383 RECID AS id,
Original file line number Diff line number Diff line change @@ -657,20 +657,35 @@ def analyze(
657657 self .calc_bas , self .calc_ref ,
658658 self .behvdict , dump = True ,
659659 )
660- # move returned dump dataframe values back into calc objects
660+ # copy returned dump dataframe values back into calc objects
661+ int_variables = self .recs_bas .INTEGER_VARS
661662 vnames = list (br_dump_bas .columns )
662663 for mtr_vname in ['mtr_ptax' , 'mtr_itax' , 'mtr_combined' ]:
663664 if mtr_vname in vnames :
664665 vnames .remove (mtr_vname )
665666 for vname in vnames :
666- self .calc_bas .array (vname , br_dump_bas [vname ].to_numpy ())
667+ if vname in int_variables :
668+ vdtype = np .int32
669+ else :
670+ vdtype = np .float64
671+ self .calc_bas .array (
672+ vname ,
673+ br_dump_bas [vname ].to_numpy (dtype = vdtype , copy = True )
674+ )
667675 del br_dump_bas
668676 vnames = list (br_dump_ref .columns )
669677 for mtr_vname in ['mtr_ptax' , 'mtr_itax' , 'mtr_combined' ]:
670678 if mtr_vname in vnames :
671679 vnames .remove (mtr_vname )
672680 for vname in vnames :
673- self .calc_ref .array (vname , br_dump_ref [vname ].to_numpy ())
681+ if vname in int_variables :
682+ vdtype = np .int32
683+ else :
684+ vdtype = np .float64
685+ self .calc_ref .array (
686+ vname ,
687+ br_dump_ref [vname ].to_numpy (dtype = vdtype , copy = True )
688+ )
674689 del br_dump_ref
675690 else : # if assuming no behavioral responses
676691 self .calc_bas .calc_all ()
You can’t perform that action at this time.
0 commit comments