There are many ways you can help contribute to the Kel project. Contributing
code, writing documentation, reporting bugs, as well as reading and providing
feedback on issues and pull requests, all are valid and necessary ways to help.
If you are going to contribute code you need to read and agree to the Developer
Certificate of Origin v1.1.
Questions and Help
When you have questions or need help it's best to join our Kel
Slack team and ping us there. It is also valid to
create an issue and add the question label to it but it will usually take us
longer to answer a question that has been filed as an issue than to help you in
If you provide us with an example of a bug you ran into, something that isn't
working, something you don't understand, we will be able to help you much
Python Code Style
When writing code to be included in Kel keep our Python style in mind:
- Follow PEP8 there are some cases where we do not follow PEP8. It is an excellent
- Follow Django's coding style we're pretty much in agreement on Django style
We would like to enforce a few more strict guides not outlined by PEP8 or
Django's coding style:
- PEP8 tries to keep line length at 80 characters. We follow it when we can, but
not when it makes a line harder to read. It is okay to go a little bit over 80
characters if not breaking the line improves readability.
- Use double quotes not single quotes. Single quotes are allowed in cases where a
double quote is needed in the string. This makes the code read cleaner in those
- Docstrings always use three double quotes on a line of their own, so, for
example, a single line docstring should take up three lines not one.
- Imports are grouped specifically and ordered alphabetically. This is shown in
the example below.
- Always use
reverse and never
- Tuples should be reserved for positional data structures and not used where a
list is more appropriate.
- URL patterns should use the
url() function rather than a tuple.
- When callable arguments require multiple lines, place each argument on a new
line, indented four spaces as usual.
Go Code Style
gofmt. Default settings are what we use when formatting Go code.