PSLmodels / Tax-Brain

Tax-Brain is an integrator model for PSL tax models
http://taxbrain.pslmodels.org/
MIT License
9 stars 14 forks source link

Add CLI #67

Closed andersonfrailey closed 5 years ago

andersonfrailey commented 5 years ago

This PR adds a command line interface for Tax-Brain. It provides an alternative to the python API or COMP web app. The only required arguments are a start and end year. Here is the output from taxbrain -h:

usage: taxbrain [-h] [--data DATA] [--usecps] [--reform REFORM]
                [--behavior BEHAVIOR] [--assump ASSUMP] [--baseline BASELINE]
                [--outdir OUTDIR] [--name NAME]
                startyear endyear

This is the command line interface for the taxbrain package.

positional arguments:
  startyear            startyear is the first year of the analysis you want to
                       run.
  endyear              endyear is the last year of the analysis you want to
                       run.

optional arguments:
  -h, --help           show this help message and exit
  --data DATA          The file path to a micro-dataset that is formatted for
                       use in Tax-Calculator.
  --usecps             If this argument is present, the CPS file included in
                       Tax-Calculator will be used for the analysis.
  --reform REFORM      --reform should be a path to a JSON file.
  --behavior BEHAVIOR  --behavior should be a path to a JSON file containing
                       behavioral assumptions.
  --assump ASSUMP      --assump should be a path to a JSON file containing
                       user specified economic assumptions.
  --baseline BASELINE  --baseline should be a path to a JSON file containing a
                       policy that will be used as the baseline of the
                       analysis
  --outdir OUTDIR      outdir is the name of the output directory. Not
                       including --outdir will result in files being written
                       to the current directory.
  --name NAME          Name of the analysis. This will be used to name the
                       directory where all output files will be written.