6.2. Python

6.2.1. Coding standards

We follow PEP-8 and PEP-257 and sort imports via isort. Please plug corresponding checkers such as flake8 to your code editor.

6.2.2. Coding principles

We adopt the following principles:

  • Convention over Configuration means that common building blocks are provided for you, so use them! If you are not sure or documentation of certain feature is missing, contact the developers.
  • Don’t Repeat Yourself (DRY) to help us keep our software maintainable. Duplication of code fragments makes application codebase larger and more importantly it can become a source of many errors during future development (refactoring).
  • Agile Development where each iteration should lead to working code in relatively short time while incremental steps are small and easy to understand by other developers. When you are done with editing do not forget to run the tests to make sure that all other modules are working fine.

6.2.3. Anti-patterns

Learn to recognise and avoid Python anti-patterns.

6.2.4. Entry points

We use Python entry_points as a way to provide extensions for packages.