Contibuting & Development
Contributing to Valor
We welcome all contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas aimed at improving Valor. This doc describes the high-level process for how to contribute to this repository. If you have any questions or comments about this process, please feel free to reach out to us on Slack.
On GitHub
We use Git on GitHub to manage this repo, which means you will need to sign up for a free GitHub account to submit issues, ideas, and pull requests. We use Git for version control to allow contributors from all over the world to work together on this project.
If you are new to Git, these official resources can help bring you up to speed:
- GitHub documentation for forking a repo
- GitHub documentation for collaborating with pull requests
- GitHub documentation for working with forks
Contribution Workflow
Generally, the high-level workflow for contributing to this repo includes:
- Submitting an issue or enhancement request using the appropriate template on GitHub Issues.
- Gathering feedback from devs and the broader community in your issue before starting to code.
- Forking the Valor repo, making your proposed changes, and submitting a pull request (PR). When submitting a PR, please be sure to:
- Update the README.md and/or any relevant docstrings with details of your change.
- Add tests where necessary.
- Run
pre-commit install
on your local repo before your last commit to ensure your changes follow our formatting guidelines. - Double-check that your code passes all of the tests that are automated via GitHub Actions.
- Ping us on Slack to ensure timely review.
- Working with repo maintainers to review and improve your PR before it is merged into the official repo.
For questions or comments on this process, please reach out to us at any time on Slack.
Development
Setting Up Your Environment
Creating a Valor-specific Python environment at the start of development can help you avoid dependency and versioning issues later on. To start, we'd recommend activating a new Python environment:
# venv
python3 -m venv .env-valor
source .env-valor/bin/activate
# conda
conda create --name valor python=3.10
conda activate valor
Install the valor-lite
module from source:
Running Tests
All of our tests are run automatically via GitHub Actions on every push, so it's important to double-check that your code passes all local tests before committing your code.
For linting and code formatting use:
Run all tests using: