From b17d8e32dc8e4118d7c0c1953787b8a58fed5e01 Mon Sep 17 00:00:00 2001 From: Martin Holmer Date: Sun, 2 Jun 2019 14:21:57 -0400 Subject: [PATCH 1/3] Change repo name from pitaxcalc-demo to taxcalc --- CODING.md | 39 +- README.md | 4 +- SIMPLE_GIT_USAGE.md | 8 +- TESTING.md | 18 +- app0.py | 2 +- app00.py | 8 +- app000.py | 8 +- app001.py | 8 +- app002-1.py | 4 +- app002.py | 6 +- app01.py | 8 +- app02.py | 8 +- app1.py | 2 +- app14.py | 4 +- app1_keshav.py | 6 +- app2.py | 8 +- app3.py | 4 +- appPIT.py | 6 +- app_dist_tables00.py | 7 +- app_dist_tables_avg_total.py | 5 +- app_dist_tables_with_charts.py | 5 +- app_ind.py | 5 +- app_pit_charts.py | 5 +- current_law_policy.json | 1451 -------------------------------- taxcalc/corpfunctions.py | 6 +- taxcalc/functions.py | 2 +- taxcalc/gstfunctions.py | 6 +- 27 files changed, 72 insertions(+), 1571 deletions(-) delete mode 100644 current_law_policy.json diff --git a/CODING.md b/CODING.md index bd86fd5..1bf33f3 100644 --- a/CODING.md +++ b/CODING.md @@ -1,12 +1,12 @@ Coding Style ============ -This description of pitaxcalc-demo coding style is written for a -person who wants to contribute changes to pitaxcalc-demo source code. +This description of TPRU-India taxcalc coding style is written for a +person who wants to contribute changes to taxcalc source code. It assumes that you have read the [USA Tax-Calculator Contributor Guide](https://github.com/PSLmodels/Tax-Calculator/blob/master/CONTRIBUTING.md#tax-calculator-contributor-guide), -have cloned the [central GitHub pitaxcalc-demo -repository](https://github.com/TPRU-demo/pitaxcalc-demo) +have cloned the [central GitHub taxcalc +repository](https://github.com/TPRU-India/taxcalc) to your GitHub account and to your local computer, and are familiar with how to prepare a pull request for consideration by the core development team. This document describes the coding style you should @@ -80,34 +80,3 @@ or ``` pycodestyle taxcalc ``` - -pylint ------- - -The other of these tools, `pylint`, warns about deviations from a -broader set coding styles than does `pycodestyle`. The use of `pylint`, -while being the number one recommendation in the [Google Python Style -Guide](https://google.github.io/styleguide/pyguide.html), is -strictly-speaking optional for pitaxcalc-demo work. But several -important files in the repository are maintained in a way that their -coding style does not generate any `pylint` warnings. You can -determine which files these are by looking for the comment near the -top of the file that begins `# CODING-STYLE CHECKS:`. It is -recommended that, if you are proposing changes in one these files, you -check your work by running the `pylint` command listed in that file's -coding-style comment. - -Make sure you have an up-to-date version of `pylint` installed on your -computer by entering at the operating system command line: -``` -pylint --version -``` -If you get a no-such-command error, install `pylint` as follows: -``` -conda install pylint -``` -If you do have `pylint` installed, but the version is before 1.8.4, -then get a more recent version as follows: -``` -conda update pylint -``` diff --git a/README.md b/README.md index f25c963..7defb7b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/) -[![Codecov](https://codecov.io/gh/TPRU-demo/pitaxcalc-demo/branch/master/graph/badge.svg)](https://codecov.io/gh/TPRU-demo/pitaxcalc-demo) +[![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue.svg)](https://www.python.org/downloads/release/python-360/) +[![Codecov](https://codecov.io/gh/TPRU-India/taxcalc/branch/master/graph/badge.svg)](https://codecov.io/gh/TPRU-India/taxcalc) Demonstration repository for Personal Income Tax (PIT) microsimulation model diff --git a/SIMPLE_GIT_USAGE.md b/SIMPLE_GIT_USAGE.md index 4451ec3..1f872cd 100644 --- a/SIMPLE_GIT_USAGE.md +++ b/SIMPLE_GIT_USAGE.md @@ -4,8 +4,8 @@ Simple Git Usage This list of elementary git commands assumes that you (1) have read the [USA Tax-Calculator Contributor Guide](https://github.com/PSLmodels/Tax-Calculator/blob/master/CONTRIBUTING.md#tax-calculator-contributor-guide), -(2) have forked the [central GitHub pitaxcalc-demo -repository](https://github.com/TPRU-demo/pitaxcalc-demo) to your +(2) have forked the [central GitHub TPRU-India taxcalc +repository](https://github.com/TPRU-India/taxcalc) to your GitHub account, and (3) have cloned your forked repository to your local computer. After doing these three things: the central GitHub repository is known as `upstream` and your personal forked GitHub @@ -90,8 +90,8 @@ git push origin [existing-branch-name] **Submit pushed branch as pull request** ``` do this interactively in your browser at the -[central GitHub pitaxcalc-demo -repository](https://github.com/TPRU-demo/pitaxcalc-demo) +[central GitHub TPRU-India taxcalc +repository](https://github.com/TPRU-India/taxcalc) ``` **Delete an old branch from local repo** diff --git a/TESTING.md b/TESTING.md index 8822004..237b4bb 100644 --- a/TESTING.md +++ b/TESTING.md @@ -1,18 +1,17 @@ Testing Procedures ================== -This description of pitaxcalc-demo testing procedure is written for a -person who wants to contribute changes to pitaxcalc-demo source code. +This description of taxcalc testing procedure is written for a +person who wants to contribute changes to taxcalc source code. It assumes that you have read the [USA Tax-Calculator Contributor Guide](https://github.com/PSLmodels/Tax-Calculator/blob/master/CONTRIBUTING.md#tax-calculator-contributor-guide) -and have cloned the [central GitHub pitaxcalc-demo -repository](https://github.com/TPRU-demo/pitaxcalc-demo) +and have cloned the [central GitHub TPRU-India taxcalc +repository](https://github.com/TPRU-India/taxcalc) to your GitHub account and to your local computer, and are familiar with how to prepare a pull request for consideration by the core development team. This document describes the testing procedure you should follow on your local computer before submitting a development -branch as a pull request to the central pitaxcalc-demo repository at -GitHub. +branch as a pull request to the central taxcalc repository at GitHub. Currently there are two phases of testing. @@ -39,8 +38,7 @@ Testing with pytest -------------------- Run the second-phase of testing as follows at the command prompt in -the pitaxcalc-demo directory at the top of the repository directory -tree: +the taxcalc directory at the top of the repository directory tree: ``` cd taxcalc @@ -58,14 +56,14 @@ Interpreting the Test Results ----------------------------- If you are adding an enhancement that expands the capabilities of -pitaxcalc-demo, then all the tests you can run should pass before you +taxcalc, then all the tests you can run should pass before you submit a pull request containing the enhancement. In addition, it would be highly desirable to add a test to the pytest suite, which is located in the ```taxcalc/tests``` directory, that somehow checks that your enhancement is working as you expect it to work. On the other hand, if you think you have found a bug in the -pitaxcalc-demo source code, the first thing to do is add a test to the +taxcalc source code, the first thing to do is add a test to the pytest suite that demonstrates how the source code produces an incorrect result (that is, the test fails because the result is incorrect). Then change the source code to fix the bug and diff --git a/app0.py b/app0.py index 8614a60..48fa4a2 100644 --- a/app0.py +++ b/app0.py @@ -1,5 +1,5 @@ """ -app0.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). +app0.py illustrates use of TPRU-India taxcalc release 2.0.0 USAGE: python app0.py > app0.res CHECK: Use your favorite Windows diff utility to confirm that app0.res is the same as the app0.out file that is in the repository. diff --git a/app00.py b/app00.py index ee4692f..e1a5f7b 100644 --- a/app00.py +++ b/app00.py @@ -1,8 +1,8 @@ """ -app00.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app0.out file that is in the repository. +app00.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app00.py > app00.res +CHECK: Use your favorite Windows diff utility to confirm that app00.res is + the same as the app00.out file that is in the repository. """ import pandas as pd from taxcalc import * diff --git a/app000.py b/app000.py index d68c66e..47798c4 100644 --- a/app000.py +++ b/app000.py @@ -1,8 +1,8 @@ """ -app0.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app0.out file that is in the repository. +app000.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app000.py > app000.res +CHECK: Use your favorite Windows diff utility to confirm that app000.res is + the same as the app000.out file that is in the repository. """ from taxcalc import * diff --git a/app001.py b/app001.py index fa3fa0c..df38a9e 100644 --- a/app001.py +++ b/app001.py @@ -1,8 +1,8 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app1.py > app1.res -CHECK: Use your favorite Windows diff utility to confirm that app1.res is - the same as the app1.out file that is in the repository. +app1.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app001.py > app001.res +CHECK: Use your favorite Windows diff utility to confirm that app001.res is + the same as the app001.out file that is in the repository. """ from taxcalc import * diff --git a/app002-1.py b/app002-1.py index fbde516..1eef7f8 100644 --- a/app002-1.py +++ b/app002-1.py @@ -1,6 +1,6 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app2.py +app002-1.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app002-1.py """ from babel.numbers import format_currency from taxcalc import * diff --git a/app002.py b/app002.py index 0332ec3..44c30eb 100644 --- a/app002.py +++ b/app002.py @@ -1,6 +1,6 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app2.py +app002.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app002.py """ from babel.numbers import format_currency from taxcalc import * @@ -80,4 +80,4 @@ def ind_currency(curr): print(f'Total Number of Households in - {year}: {ind_currency(total_weight2)[1:]}') - \ No newline at end of file + diff --git a/app01.py b/app01.py index a64dd45..623f4ca 100644 --- a/app01.py +++ b/app01.py @@ -1,8 +1,8 @@ """ -app01.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app0.out file that is in the repository. +app01.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app01.py > app01.res +CHECK: Use your favorite Windows diff utility to confirm that app01.res is + the same as the app01.out file that is in the repository. """ import pandas as pd from taxcalc import * diff --git a/app02.py b/app02.py index 05c6eae..0bf1593 100644 --- a/app02.py +++ b/app02.py @@ -1,8 +1,8 @@ """ -app01.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app0.out file that is in the repository. +app02.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app02.py > app02.res +CHECK: Use your favorite Windows diff utility to confirm that app02.res is + the same as the app02.out file that is in the repository. """ import pandas as pd from taxcalc import * diff --git a/app1.py b/app1.py index 0629917..ff66ece 100644 --- a/app1.py +++ b/app1.py @@ -1,5 +1,5 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). +app1.py illustrates use of TPRU-India taxcalc release 2.0.0 USAGE: python app1.py > app1.res CHECK: Use your favorite Windows diff utility to confirm that app1.res is the same as the app1.out file that is in the repository. diff --git a/app14.py b/app14.py index d3ca5e1..3b76a7c 100644 --- a/app14.py +++ b/app14.py @@ -1,6 +1,6 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app2.py +app14.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app14.py """ import locale from taxcalc import * diff --git a/app1_keshav.py b/app1_keshav.py index 0ee5f1b..cc9872b 100644 --- a/app1_keshav.py +++ b/app1_keshav.py @@ -1,8 +1,6 @@ """ -app1_keshav.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app1_keshav.out file that is in the repository. +app1_keshav.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app1_keshav.py """ from taxcalc import * diff --git a/app2.py b/app2.py index 31e527c..fd29f62 100644 --- a/app2.py +++ b/app2.py @@ -1,12 +1,6 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -<<<<<<< HEAD -USAGE: python app1.py > app1.res -CHECK: Use your favorite Windows diff utility to confirm that app1.res is - the same as the app1.out file that is in the repository. -======= +app2.py illustrates use of TPRU-India taxcalc release 2.0.0 USAGE: python app2.py ->>>>>>> upstream/master """ from taxcalc import * diff --git a/app3.py b/app3.py index 49dc4ec..0c423b5 100644 --- a/app3.py +++ b/app3.py @@ -1,6 +1,6 @@ """ -app1.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app2.py +app3.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app3.py """ from taxcalc import * diff --git a/appPIT.py b/appPIT.py index ef6442b..195b996 100644 --- a/appPIT.py +++ b/appPIT.py @@ -1,8 +1,6 @@ """ -appKA.py illustrates use of pitaxcalc-demo release 2.0.0 (India version). -USAGE: python app0.py > app0.res -CHECK: Use your favorite Windows diff utility to confirm that app0.res is - the same as the app0.out file that is in the repository. +appPIT.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python appPIT.py """ import locale from taxcalc import * diff --git a/app_dist_tables00.py b/app_dist_tables00.py index fdf1cfc..2cd6bd0 100644 --- a/app_dist_tables00.py +++ b/app_dist_tables00.py @@ -1,7 +1,6 @@ """ -app_dist_Tables00.py illustrates use of pitaxcalc-demo release 2.0.0 -(India version). -USAGE: python app_dist_Tables00.py +app_dist_tables00.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app_dist_tables00.py """ import locale from taxcalc import * @@ -156,4 +155,4 @@ with open('dist-table-part-clp-avg'+str(year)+'.txt', 'w') as dfile: dt1.to_string(dfile, columns=to_include) with open('dist-table-part-ref-avg'+str(year)+'.txt', 'w') as dfile: - dt2.to_string(dfile, columns=to_include) \ No newline at end of file + dt2.to_string(dfile, columns=to_include) diff --git a/app_dist_tables_avg_total.py b/app_dist_tables_avg_total.py index 7ca4440..4b7361a 100644 --- a/app_dist_tables_avg_total.py +++ b/app_dist_tables_avg_total.py @@ -1,7 +1,6 @@ """ -app_dist_Tables00.py illustrates use of pitaxcalc-demo release 2.0.0 -(India version). -USAGE: python app_dist_Tables00.py +app_dist_tables_avg_total.py illustrates use of TPRU-India taxcalc 2.0.0 +USAGE: python app_dist_tables_avg_total.py """ import locale import pandas as pd diff --git a/app_dist_tables_with_charts.py b/app_dist_tables_with_charts.py index 9ac4234..67d9cf8 100644 --- a/app_dist_tables_with_charts.py +++ b/app_dist_tables_with_charts.py @@ -1,7 +1,6 @@ """ -app_dist_Tables00.py illustrates use of pitaxcalc-demo release 2.0.0 -(India version). -USAGE: python app_dist_Tables00.py +app_dist_tables_with_charts.py illustrates use of TPRU-India taxcalc 2.0.0 +USAGE: python app_dist_tables_with_charts.py """ import locale diff --git a/app_ind.py b/app_ind.py index 2197da6..edf7ffa 100644 --- a/app_ind.py +++ b/app_ind.py @@ -1,7 +1,6 @@ """ -app_dist_Tables00.py illustrates use of pitaxcalc-demo release 2.0.0 -(India version). -USAGE: python app_dist_Tables00.py +app_ind.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app_ind.py """ import locale from taxcalc import * diff --git a/app_pit_charts.py b/app_pit_charts.py index 66a8b05..3a158ce 100644 --- a/app_pit_charts.py +++ b/app_pit_charts.py @@ -1,7 +1,6 @@ """ -app_dist_Tables00.py illustrates use of pitaxcalc-demo release 2.0.0 -(India version). -USAGE: python app_dist_Tables00.py +app_pit_charts.py illustrates use of TPRU-India taxcalc release 2.0.0 +USAGE: python app_pit_charts.py """ import pandas as pd from taxcalc import * diff --git a/current_law_policy.json b/current_law_policy.json deleted file mode 100644 index f09ed17..0000000 --- a/current_law_policy.json +++ /dev/null @@ -1,1451 +0,0 @@ -{ - "_std_deduction": { - "long_name": "Standard Deduction for income from Salary", - "description": "This amount is deducted from salary to compute taxable incomee.", - "itr_ref": "Section 16(ia) of the Income Tax Act", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [30000, 30000], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_rate1": { - "long_name": "PIT tax rate 1", - "description": "The lowest tax rate, applied to the portion of taxable income below tax bracket 1.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.0], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_tbrk1": { - "long_name": "PIT tax bracket 1 (upper threshold)", - "description": "Taxable income below this threshold is taxed at tax rate 1.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "AGEGRP", - "col_label": ["<60", "60-79", ">=80"], - "boolean_value": false, - "integer_value": false, - "value": [[0.25e6, 0.30e6, 0.50e6]], - "range": {"min": 0, "max": "_tbrk2"}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "for _tbrk2", - "out_of_range_action": "stop" - }, - - "_rate2": { - "long_name": "PIT tax rate 2", - "description": "The second lowest tax rate, applied to the portion of taxable income below tax bracket 2 and above tax bracket 1.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.10, 0.05], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_tbrk2": { - "long_name": "PIT tax bracket 2 (upper threshold)", - "description": "Income below this threshold and above tax bracket 1 is taxed at tax rate 2.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "AGEGRP", - "col_label": ["<60", "60-79", ">=80"], - "boolean_value": false, - "integer_value": false, - "value": [[0.5e6, 0.5e6, 0.5e6]], - "range": {"min": "_tbrk1", "max": "_tbrk3"}, - "out_of_range_minmsg": "for _tbrk1", - "out_of_range_maxmsg": "for _tbrk3", - "out_of_range_action": "stop" - }, - - "_rate3": { - "long_name": "PIT tax rate 3", - "description": "The third lowest tax rate, applied to the portion of taxable income below tax bracket 3 and above tax bracket 2.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.20], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_tbrk3": { - "long_name": "PIT tax bracket 3 (upper threshold)", - "description": "Income below this threshold and above tax bracket 2 is taxed at tax rate 3.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "AGEGRP", - "col_label": ["<60", "60-79", ">=80"], - "boolean_value": false, - "integer_value": false, - "value": [[1e6, 1e6, 1e6]], - "range": {"min": "_tbrk2", "max": "_tbrk4"}, - "out_of_range_minmsg": "for _tbrk2", - "out_of_range_maxmsg": "for _tbrk4", - "out_of_range_action": "stop" - }, - - "_rate4": { - "long_name": "PIT tax rate 4", - "description": "The fourth lowest tax rate, applied to the portion of taxable income below tax bracket 4 and above tax bracket 3.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.30], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_tbrk4": { - "long_name": "PIT tax bracket 4 (upper threshold)", - "description": "Income below this threshold and above tax bracket 3 is taxed at tax rate 4.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "AGEGRP", - "col_label": ["<60", "60-79", ">=80"], - "boolean_value": false, - "integer_value": false, - "value": [[9e99, 9e99, 9e99]], - "range": {"min": 9e99, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_ST_CG_RATE1": { - "long_name": "PIT STCG Rate 1", - "description": "Rate at which 111A (STCG on shares units on which where STT paid) is taxed", - "itr_ref": "ITR-3, Schedule SI, Line 1", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.15], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_ST_CG_RATE2": { - "long_name": "PIT STCG Rate 2", - "description": "Rate at which 115AD (STCG for FIIs on securities where STT not paid) is taxed", - "itr_ref": "ITR-3, Schedule SI, Line 2", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.30], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_LT_CG_RATE1": { - "long_name": "PIT LTCG Rate 1", - "description": "Rate at which 112(prov), 112(1)(c)(iii), 115AC, 115ACA, 115AD, 115E (LTCG) is taxed", - "itr_ref": "ITR-3, Schedule SI, Line 3-9", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.10], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_LT_CG_RATE2": { - "long_name": "PIT LTCG Rate 2", - "description": "Rate at which 112 (LTCG on Others) is taxed", - "itr_ref": "ITR-3, Schedule SI, Line 10", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.20], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_rebate_thd": { - "long_name": "rebate under section 87A threshold)", - "description": "Income below this threshold is eligible for the rebate.", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [500000, 350000], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_rebate_rate": { - "long_name": "rebate rate under section 87A", - "description": "rebate rate", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.1, 0.05], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_rebate_ceiling": { - "long_name": "upper limit for rebate", - "description": "this is the ceiling for rebate u/s 87A", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [5000, 3500], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_surcharge_rate": { - "long_name": "rate at which surcharge is levied", - "description": "rate applied to tax liability if income is above a threshold", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "TTI1", - "col_label": ["bracket1", "bracket2", "bracket3"], - "boolean_value": false, - "integer_value": false, - "value": [[0.0, 0.15, 0.15], - [0.0, 0.10, 0.15]], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_surcharge_thd": { - "long_name": "income threshold for levy of surcharge", - "description": "income threshold for surcharge", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "TTI2", - "col_label": ["bracket1", "bracket2"], - "boolean_value": false, - "integer_value": false, - "value": [[10000000, 10000000], - [5000000, 10000000]], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_cit_surcharge_rate": { - "long_name": "rate at which surcharge is levied for companies", - "description": "surcharge rates for companies", - "itr_ref": "Tax Computation Table, Finance Act", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "TTI1", - "col_label": ["bracket1", "bracket2", "bracket3"], - "boolean_value": false, - "integer_value": false, - "value": [[0.0, 0.07, 0.12]], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_cit_surcharge_thd": { - "long_name": "income threshold for levy of surcharge for companies", - "description": "income threshold for surcharge for companies", - "itr_ref": "Tax Computation Table, Finance Act", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": true, - "cpi_inflated": false, - "col_var": "TTI2", - "col_label": ["bracket1", "bracket2"], - "boolean_value": false, - "integer_value": false, - "value": [[10000000, 100000000]], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_cess_rate": { - "long_name": "rate at which cess is levied", - "description": "cess applied to sum of tax and surcharge", - "itr_ref": "ITR-1 instructions, Tax Computation Table", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.03, 0.03], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_cit_rate": { - "long_name": "rate at which corporates are taxed", - "description": "Corporate Tax rate", - "itr_ref": "Schedule 1 Finance Act", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.3], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - - "_Loss_CFLimit": { - "long_name": "Loss carryforward limit (years)", - "description": "Number of years for loss carryforward", - "itr_ref": "IT Act", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": true, - "value": [8, 8], - "range": {"min": 0, "max": 9e99}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_dep_rate_pm1": { - "long_name": "Depreciation Rate for first block for Plant and Machinery", - "description": "Depreciation Rate for first block for Plant and Machinery", - "itr_ref": "ITR6 Schedule DPM 2(i)", - "notes": "", - "row_var": "AYEAR", - "row_label": ["2017", "2018"], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [0.15, 0.15], - "range": {"min": 0, "max": 1}, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_bedding": { - "long_name": "GST Rate for bedding", - "description": "GST Rate relevant for consumption of bedding", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.13833334 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_beverage": { - "long_name": "GST Rate for beverage", - "description": "GST Rate relevant for consumption of beverage", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.1325 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_c_services": { - "long_name": "GST Rate for c_services", - "description": "GST Rate relevant for consumption of c_services", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.10058823 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_c_taxes": { - "long_name": "GST Rate for c_taxes", - "description": "GST Rate relevant for consumption of c_taxes", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_cereal": { - "long_name": "GST Rate for cereal", - "description": "GST Rate relevant for consumption of cereal", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.0285 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_cereal_sub": { - "long_name": "GST Rate for cereal_sub", - "description": "GST Rate relevant for consumption of cereal_sub", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_clothing": { - "long_name": "GST Rate for clothing", - "description": "GST Rate relevant for consumption of clothing", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.0712 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_conveyance": { - "long_name": "GST Rate for conveyance", - "description": "GST Rate relevant for consumption of conveyance", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.15307692 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_dry_fruit": { - "long_name": "GST Rate for dry_fruit", - "description": "GST Rate relevant for consumption of dry_fruit", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.03125 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_durable_goods": { - "long_name": "GST Rate for durable_goods", - "description": "GST Rate relevant for consumption of durable_goods", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.16158654 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_edible_oil": { - "long_name": "GST Rate for edible_oil", - "description": "GST Rate relevant for consumption of edible_oil", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.071666665 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_education": { - "long_name": "GST Rate for education", - "description": "GST Rate relevant for consumption of education", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.08 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_entertainment": { - "long_name": "GST Rate for entertainment", - "description": "GST Rate relevant for consumption of entertainment", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.18444444 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_footwear": { - "long_name": "GST Rate for footwear", - "description": "GST Rate relevant for consumption of footwear", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.15 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_fruit": { - "long_name": "GST Rate for fruit", - "description": "GST Rate relevant for consumption of fruit", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_fuel": { - "long_name": "GST Rate for fuel", - "description": "GST Rate relevant for consumption of fuel", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.17333333 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_imputed_rent": { - "long_name": "GST Rate for imputed_rent", - "description": "GST Rate relevant for consumption of imputed_rent", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_intoxicant": { - "long_name": "GST Rate for intoxicant", - "description": "GST Rate relevant for consumption of intoxicant", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.32099834 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_medical_inst": { - "long_name": "GST Rate for medical_inst", - "description": "GST Rate relevant for consumption of medical_inst", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.048 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_medical_non_inst": { - "long_name": "GST Rate for medical_non_inst", - "description": "GST Rate relevant for consumption of medical_non_inst", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.048 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_milk_prod": { - "long_name": "GST Rate for milk_prod", - "description": "GST Rate relevant for consumption of milk_prod", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.08 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_minor_durable_goods": { - "long_name": "GST Rate for minor_durable_goods", - "description": "GST Rate relevant for consumption of minor_durable_goods", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.16 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_non_veg": { - "long_name": "GST Rate for non_veg", - "description": "GST Rate relevant for consumption of non_veg", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_other_household_c_onsumables": { - "long_name": "GST Rate for other_household_c_onsumables", - "description": "GST Rate relevant for consumption of other_household_c_onsumables", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.14461538 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_pack_proc_food": { - "long_name": "GST Rate for pack_proc_food", - "description": "GST Rate relevant for consumption of pack_proc_food", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.09714286 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_pan": { - "long_name": "GST Rate for pan", - "description": "GST Rate relevant for consumption of pan", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.19 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_proc_food": { - "long_name": "GST Rate for proc_food", - "description": "GST Rate relevant for consumption of proc_food", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.05 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_pulses": { - "long_name": "GST Rate for pulses", - "description": "GST Rate relevant for consumption of pulses", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.014166667 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_rent": { - "long_name": "GST Rate for rent", - "description": "GST Rate relevant for consumption of rent", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.09 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_salt_sugar": { - "long_name": "GST Rate for salt_sugar", - "description": "GST Rate relevant for consumption of salt_sugar", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.025 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_spices": { - "long_name": "GST Rate for spices", - "description": "GST Rate relevant for consumption of spices", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.04090909 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_tobacco": { - "long_name": "GST Rate for tobacco", - "description": "GST Rate relevant for consumption of tobacco", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.4516625 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_toiletaries": { - "long_name": "GST Rate for toiletaries", - "description": "GST Rate relevant for consumption of toiletaries", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.1725 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "_gst_rate_vegetable": { - "long_name": "GST Rate for vegetable", - "description": "GST Rate relevant for consumption of vegetable", - "itr_ref": "GST Rules", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - }, - "gst_rate_benchmark": { - "long_name": "GST Benchmark Rate", - "description": "GST Benchmark Rate to calculate Policy Gap", - "itr_ref": "Benchmark Rate", - "notes": "", - "row_var": "AYEAR", - "row_label": [ - "2017" - ], - "start_year": 2017, - "cpi_inflatable": false, - "cpi_inflated": false, - "col_var": "", - "col_label": "", - "boolean_value": false, - "integer_value": false, - "value": [ - 0.18 - ], - "range": { - "min": 0, - "max": 1 - }, - "out_of_range_minmsg": "", - "out_of_range_maxmsg": "", - "out_of_range_action": "stop" - } -} diff --git a/taxcalc/corpfunctions.py b/taxcalc/corpfunctions.py index 27721b2..ecab91a 100644 --- a/taxcalc/corpfunctions.py +++ b/taxcalc/corpfunctions.py @@ -1,9 +1,9 @@ """ -pitaxcalc-demo functions that calculate corporate income tax liability. +Functions that calculate corporate income tax liability. """ # CODING-STYLE CHECKS: -# pycodestyle functions.py -# pylint --disable=locally-disabled functions.py +# pycodestyle corpfunctions.py +# pylint --disable=locally-disabled corpfunctions.py import math import copy diff --git a/taxcalc/functions.py b/taxcalc/functions.py index 0af4f61..58155e9 100644 --- a/taxcalc/functions.py +++ b/taxcalc/functions.py @@ -1,5 +1,5 @@ """ -pitaxcalc-demo functions that calculate personal income tax liability. +Functions that calculate personal income tax liability. """ # CODING-STYLE CHECKS: # pycodestyle functions.py diff --git a/taxcalc/gstfunctions.py b/taxcalc/gstfunctions.py index 6cceeb1..d52ca04 100644 --- a/taxcalc/gstfunctions.py +++ b/taxcalc/gstfunctions.py @@ -1,9 +1,9 @@ """ -pitaxcalc-demo functions that calculate GST paid. +Functions that calculate GST paid. """ # CODING-STYLE CHECKS: -# pycodestyle functions.py -# pylint --disable=locally-disabled functions.py +# pycodestyle gstfunctions.py +# pylint --disable=locally-disabled gstfunctions.py import math import copy From 890d158050f6e200690088bbe83d0357dd013731 Mon Sep 17 00:00:00 2001 From: Martin Holmer Date: Sun, 2 Jun 2019 14:44:48 -0400 Subject: [PATCH 2/3] Revise README.md and RELEASES.md for repo name change --- README.md | 29 ++++++++++++++++------------- RELEASES.md | 35 +++++++++++++---------------------- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 7defb7b..8b2d928 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,15 @@ [![Codecov](https://codecov.io/gh/TPRU-India/taxcalc/branch/master/graph/badge.svg)](https://codecov.io/gh/TPRU-India/taxcalc) -Demonstration repository for Personal Income Tax (PIT) microsimulation model -============================================================================ +Tax Microsimulation Model for India +=================================== -This repository will be used in the World-Bank-sponsored training -sessions beginning on 2018-09-24 in New Delhi at the Ministry of -Finance. +This repository was established for the World-Bank-sponsored training +sessions that began during September 2018 in New Delhi at the Tax +Policy Research Unit (TPRU) in the Ministry of Finance. The training +sessions extended through June 2019. This repository, which is called +`taxdata` and is owned by the GitHub organizaton called `TPRU-India`, +is now managed by TPRU. Getting Started --------------- @@ -15,19 +18,19 @@ Getting Started If you want to **propose code changes**, follow the directions in the [USA Tax-Calculator Contributor Guide](https://github.com/PSLmodels/Tax-Calculator/blob/master/CONTRIBUTING.md#tax-calculator-contributor-guide) -on how to clone the pitaxcalc-demo git repository. Before developing +on how to clone the TPRU-India taxcalc git repository. Before developing any code changes be sure to read completely the Contributor Guide and then read about our [coding -style](https://github.com/TPRU-demo/pitaxcalc-demo/blob/master/CODING.md#coding-style) +style](https://github.com/TPRU-India/taxcalc/blob/master/CODING.md#coding-style) and [testing -procedures](https://github.com/TPRU-demo/pitaxcalc-demo/blob/master/TESTING.md#testing-procedures). +procedures](https://github.com/TPRU-India/taxcalc/blob/master/TESTING.md#testing-procedures). You may find this [git cheat -sheet](https://github.com/TPRU-demo/pitaxcalc-demo/blob/master/SIMPLE_GIT_USAGE.md#simple-git-usage) +sheet](https://github.com/TPRU-India/taxcalc/blob/master/SIMPLE_GIT_USAGE.md#simple-git-usage) useful in preparing a GitHub pull request that contains your proposed code changes. The step-by-step workflow used to create and modify a new pull request has been documented for the USA Tax-Calculator in this -[workflow document](https://github.com/open-source-economics/Tax-Calculator/blob/master/WORKFLOW.md#tax-calculator-pull-request-workflow). +[workflow document](https://github.com/PSLmodels/Tax-Calculator/blob/master/WORKFLOW.md#tax-calculator-pull-request-workflow). -The pitaxcalc-demo [release -history](https://github.com/TPRU-demo/pitaxcalc-demo/blob/master/RELEASES.md#pitaxcalc-demo-release-history) -provides a summary of past development work. \ No newline at end of file +The taxcalc [release +history](https://github.com/TPRU-India/taxcalc/blob/master/RELEASES.md#taxcalc-release-history) +provides a high-level summary of past development work. \ No newline at end of file diff --git a/RELEASES.md b/RELEASES.md index cfc323a..5f503bc 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,32 +1,23 @@ -pitaxcalc-demo RELEASE HISTORY -============================== -Go [here](https://github.com/TPRU-demo/pitaxcalc-demo/pulls?q=is%3Apr+is%3Aclosed) for a complete commit history. +taxcalc RELEASE HISTORY +======================= +Go [here](https://github.com/TPRU-India/taxcalc/pulls?q=is%3Apr+is%3Aclosed) for a complete commit history. Release numbering attempts to comply with [semantic versioning](https://semver.org/). -2018-09-19 Release 1.0.0 +2019-06-xx Release 2.0.0 ------------------------ (last merged pull request is -[#14](https://github.com/TPRU-demo/pitaxcalc-demo/pull/14)) +[#xxx](https://github.com/TPRU-India/taxcalc/pull/xxx)) -**Initial version with data and tax logic for USA** +**Initial version with data and code for simulating the India personal + income tax, corporate income tax, and goods and services tax (GST)** + -See -[app_usa.py](https://github.com/TPRU-demo/pitaxcalc-demo/blob/master/app_usa.py) -for an example of how to use release 1.0.0 to analyze the effects of a -tax reform. +2018-09-19 Release 1.0.0 +------------------------ +(last merged pull request is +[#14](https://github.com/TPRU-India/taxcalc/pull/14)) -Note that you can always open a branch on you local computer that contains -release 1.0.0 by executing this command: -``` -git checkout -b b100 1.0.0 -``` -That command will leave you on the b100 branch. When you're finished -using 1.0.0, be sure to checkout the master branch and then delete the -b100 branch: -``` -git checkout master -git branch -d b100 -``` +**Obsolete demonstration version with data and tax logic for USA** From bfd1e08dbc155584b32e1c80af55c2bb3809a7de Mon Sep 17 00:00:00 2001 From: Martin Holmer Date: Sun, 2 Jun 2019 14:58:31 -0400 Subject: [PATCH 3/3] Update RELEASES.md information --- RELEASES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 5f503bc..1a49cc0 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -6,10 +6,10 @@ Release numbering attempts to comply with [semantic versioning](https://semver.org/). -2019-06-xx Release 2.0.0 +2019-06-02 Release 2.0.0 ------------------------ (last merged pull request is -[#xxx](https://github.com/TPRU-India/taxcalc/pull/xxx)) +[#148](https://github.com/TPRU-India/taxcalc/pull/148)) **Initial version with data and code for simulating the India personal income tax, corporate income tax, and goods and services tax (GST)**