We love your input! We want to make contributing as easy and transparent as possible.
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- Update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue a pull request.
When you submit code changes, your submissions are understood to be under the same MIT License that covers the project.
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can.
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
- Clone the repository
- Create a virtual environment:
python -m venv venv
- Activate the environment:
source venv/bin/activate
- Install dependencies:
pip install -e ".[dev]"
- Install pre-commit hooks:
guardian hooks install
# Run all tests
pytest
# Run with coverage
pytest --cov=guardian
- Update the README.md with details of changes if needed.
- Update the CHANGELOG.md with notes on your changes.
- The PR will be merged once you have the sign-off of another developer.