Contributing
We welcome pull requests from anyone!
Formatting
Code formatting, import sorting, and spell checks are done automatically with black, isort and codespell.
You can automatically enforce the formatting guidelines with
pip install black isort codespell
bash fixFormat.sh
Tests
Please ensure your contribution passes the tests in the CI (.github/worklows/ci.yml).
To run the unit tests
conda activate bird
pip install pytest
BIRD_HOME=`python -c "import bird; print(bird.BIRD_DIR)"`
cd ${BIRD_HOME}/../
pytest .
To run the regression tests
source <OpenFOAM-9 installation directory>/etc/<your-shell>rc
conda activate bird
pip install pytest
BIRD_HOME=`python -c "import bird; print(bird.BIRD_DIR)"`
cd ${BIRD_HOME}/../tutorial_cases
bash run_all.sh
Demonstrating and documenting your contribution
We prefer the use of docstrings and type hinting. A good example to follow are functions in bird/utilities/ofio.py.
If you add a new capability, please make sure to add relevant unit tests in the tests/ folder. A good example to follow are tests tests/io.