Contributing
This page explains the coding style and general contributing guidelines for the dev team.
Instructions
There are a couple of rules that you should follow:
- Use
logging
module instead ofprint()
function - Try not to leave commended out code
- If certain functionality is needed in multiple places - please crate a separate module or a class for it and import it in your code.
- Use notebooks only for quick experimentation, they should not be the source of our production code.
- Set a guide in your IDE to 120 characters. We use 120 instead of suggested 79 from the PEP8 Guidelines.
- We use
mypy
to guard the type annotations. - We use
isort
,black
andflake8
to maintain PEP8 compliant code. - We use google style for the docstrings.
- Code review should be done for every PR.
- We do not merge directly to main branch.
- Always start from main branch when branching to new feature branch.
- We require at least one approve on each PR and all threads to be resolved before the merge.
- When merging we use squash before merge to have clean history