A good commit message should concisely answer three questions about a patch:
- Why is it necessary? It may fix a bug, it may add a feature, it may improve performance, reliabilty, stability, or just be a change for the sake of correctness.
- How does it address the issue? For short obvious patches this part can be omitted, but it should be a high level description of what the approach was.
- What effects does the patch have? (In addition to the obvious ones, this may include benchmarks, side effects, etc.)
- In general; explain what and why instead of how (as how is usually explained through the code).
- Separate subject from body with a blank line
- Capitalize the subject line
- Use the imperative mood in the subject line
Will be added whenever we have decided on some general rules and style guides.
PEP8 (Using flake8)
Sorted imports (using isort)
We'll need to figure this one out. MIT should work for most of our code, but we'll have to be careful when including third party libraries.