Contributing to Ravix
Ravix is openly developed on GitHub. Contributions of all kinds are welcome: code, tests, documentation, and bug reports.
Report a bug
Open a GitHub issue with a minimal reproducible example. Include your Python and Ravix versions.
Open an issue →Submit a pull request
Fork, create a feature branch, and submit a PR. Small, focused pull requests are reviewed most quickly.
Fork on GitHub →Improve documentation
Documentation fixes and new examples are as valuable as code changes.
Browse docs →Write tests
All new functionality should include tests. Run pytest tests/ -v before submitting.
Dev environment
# Clone your fork git clone https://github.com/danielmcgibney/ravix cd ravix # Install with dev dependencies pip install -e ".[dev]" # Run the test suite pytest tests/ -v
Code standards
- Follow PEP 8. Run
flake8 ravix/before submitting - Auto-format with
black ravix/ - All public functions need a NumPy-style docstring
- New features require unit tests in
tests/
Pull request checklist
Before you open a pull request, run through this short list. It helps the maintainer review your change quickly.
- ☐ All tests pass. Run
pytest tests/ -vin your terminal and confirm everything is green. - ☐ You added a test for your change. If you wrote a new function or fixed a bug, add at least one test that covers it.
- ☐ Every new function has a docstring. A short description in triple quotes explaining what the function does, its inputs, and what it returns.
- ☐ You noted the change in
CHANGELOG.md. Add a one-line summary under the "Unreleased" heading so it appears in the next release notes. - ☐ Your PR description explains what and why. A few sentences telling the maintainer what you changed and the reason behind it.
First-time contributor?
The GitHub pull request documentation is a helpful starting point.