Contributing to Tax-Brain

Contributions to Tax-Brain are always welcome. To contribute, open a pull request (PR) with your changes and any associated tests. In this PR, please describe what your change does and link to any relevant issues and discussions.

Feature Requests

To request a feature, please open an issue describing the desired feature and it’s use cases.

Bug Reports

To report a bug in Tax-Brain, open an issue describing the bug. Please include the code needed to reproduce the bug.

Developer Setup

Start by forking and cloning the Tax-Brain repo. Next, run the following commands in the terminal to create and activate the developer conda environment:

cd Tax-Brain
conda env create -f environment.yml
conda activate taxbrain-dev


Once you’ve made your changes, you can test them by running the command pytest in the terminal window. If you do not have access to the puf.csv file, run pytest -m "not requires_puf instead.

Releasing a new version

We use Package Builder to release new versions of Tax-Brain and upload them to the pslmodels channel on Anaconda Cloud. To set up your environment for installation, run these commands:

$ conda install -c PSLmodels pkgbld --yes
$ conda config --add channels conda-forge

Once you’ve done that, you can build the package locally to test that everything workds correctly using:

$ cd Tax-Brain
$ pbrelease Tax-Brain taxbrain 0.0.0 --local

If all goes well, uninstall the local package that was just created

$ conda uninstall taxbrain --yes

And then execute this command

$ pbrelease Tax-Brain taxbrain X.X.X

Where X.X.X is the release version.