Thank you for considering contributing to this project! Whether it's fixing a bug, improving documentation, or adding a new feature, we welcome contributions. There is a minimal set of standards we would ask you to consider to speed up the review process.
-
Fork the repository
- If you have not already done so, create a fork of the
riverjoin_pyrepo (main branch) and make changes to this copy.
- If you have not already done so, create a fork of the
-
Set up the development environment
- Make sure development packages for RiverJoin are installed. This can be done by flagging dev packages during install:
git clone https://github.com/<your-username>/riverjoin_py cd riverjoin_py pip install uv uv venv source .venv/bin/activate # Windows: .venv\Scripts\activate uv pip install -e . uv pip install -e ".[dev]"
- Make sure development packages for RiverJoin are installed. This can be done by flagging dev packages during install:
-
Lint & test your code
- Once your changes are complete, run the following in your Python environment:
cd riverjoin_py pytest tests/ black . git add . git commit -m "your commit message"
blackwill auto-format your code to a consistent style before committing.- If
pytestdoes not work, trypython -m pytest. - If
blackorpytestreport any errors, please try to correct these if possible. Otherwise, commit with--no-verifyto proceed and we can help in the next step.
- Once your changes are complete, run the following in your Python environment:
-
Make a pull request (PR)
- When you are ready, make a PR of your fork to the
riverjoin_pyrepository main branch. - In the PR description, include enough detail so that we can understand the changes made and the rationale if necessary.
- If the
riverjoin_pymain branch has new commits not included in your forked version, we would ask you to merge these new changes into your fork before we accept the PR. We can assist with this if necessary.
- When you are ready, make a PR of your fork to the
- For bugs, please open an issue with steps to reproduce, expected vs. actual behavior, and any relevant error messages.
- For feature requests, describe the problem you are trying to solve and your proposed approach. Referencing related datasets, tools, or papers is always helpful.
For questions, reach out to Dr. Yixian Chen (ychen223@ua.edu) OR Supath Dhital (sdhital@crimson.ua.edu) OR Dr. Sagy Cohen (sagy.cohen@ua.edu).