Contributing
Contributions are welcome, and they are greatly appreciated!
You can contribute in many ways (more is coming):
Types of Contributions
Report Bugs
Report bugs at Kestrel issue tracker:
If you are reporting a bug, please include:
Your operating system name and version.
Any details about your local setup that might be helpful in troubleshooting.
Detailed steps to reproduce the bug.
Fix Bugs
Look through the GitHub issues for bugs. Anything tagged with “bug” and “help wanted” is open to whoever wants to implement it.
Implement Features
Look through the GitHub issues for features. Anything tagged with “enhancement” and “help wanted” is open to whoever wants to implement it.
Write Documentation
We use the Google Style docstrings in our source code. Sphinx will pick them up for documentation generation and publishing.
Submit Feedback
The best way to send feedback is to file an issue at Kestrel issue tracker.
If you are proposing a feature:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.
Remember that this is a volunteer-driven project, and that contributions are welcome :)
Code Style
We follow the symbol naming convention and use black to format the code.
Development Workflow
We follow the branching model summarized by Vincent Driessen.
In addition to the above model, we follow an additional branch naming rule:
Branch name:
feature-issueID-short-description
prefix: either
feature
orhotfix
issueID: a integer that refers to the issue with details
short-description: short description with hyphens as seperators
Pull Request Guidelines
Before you submit a pull request, check that it meets these guidelines:
The pull request should include tests.
If the pull request adds functionality, the docs should be updated.
The pull request should work for Python 3.6 and 3.8.