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.

View test suite →

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/ -v in 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.