We would love your input! We want to make contributing to the project as easy and transparent as possible. We welcome...
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
In short, when you submit code changes, your submissions are understood to be under the same Apache License that covers the project. Feel free to contact the maintainers if that's a concern.
Report bugs using Github's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
This is a good example of a quality bug report. Here's another good example from Craig Hockenberry.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- They are specific!
- Give sample code if you can that can be used to easily reproduce the issue. Ideally, strip out everything that does not pertain to the problem or which is not required to allow the smple to run.
- 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)
We love thorough bug reports.
We stick with Django's coding style, with the expection that we use black with line length up to 120. Naming, spacing, etc all follow Django's best practices.
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/
To keep things consistent, please use the following guidelines:
- Use the present tense imperative ("Add feature to" not "Added feature to")
- Limit the first line to 72 characters or less
- Reference relevant issues and pull requests as needed after the first line
- Provide enough detail after the first line to give necessary context, but don't feel obligated to write a novel
This project is volunteer run. Please be kind in your discourse.
By contributing, you agree that your contributions will be licensed under its Apache 2.0 License.
This document was adapted from briandk's gist