Contributions are very welcome!
If you are looking to contribute to the vflow
codebase, the best place to
start is the GitHub "issues"
tab. This is also a great
place for filing bug reports and suggesting improvement to the code and
documentation.
If you notice a bug in the code or documentation, or have suggestions for how we can improve either, feel free to create an issue on the GitHub "issues" tab using GitHub's "issue" form. Please be as descriptive as possible we so can best address your issue.
We use Hatch for development workflow management. To get started, install Hatch and fork the repository. Before submitting your changes for review by pull request, please add full-coverage tests and make sure to check that they do not break any existing tests. In addition, be sure to conform your code styles to our conventions and document any updates to the public API.
- Tests: Tests are written with pytest
and use Coverage.py. Run the
command
hatch run cov
from the repo root directory. - Code styles: We use isort and
Black to automate imports
organizing and code formatting, along with
ruff to passively check for issues. You can
use
hatch run style:fmt
from the repo root directory to format and check your changes. - Docs: To build
the documentation, run
hatch run docs:build
from the repo root directory. Note that we follow the numpy docstrings convention.
See the Makefile for other helpful development workflow commends.
Once your changes are ready to be submitted, make sure to push your change to GitHub before creating a pull request. See here for instruction on how to create a pull request from a fork. We will review your changes, and you may be asked to make additional changes before it is finally ready to merge. Once it is ready, we will merge your pull request, and you have will successfully contributed to VeridicalFlow 🎉!