Python code formatting

As more and more Python code is contributed to OGS I would like to enforce some rules to improve code quality. First thing would be a common coding style. Especially one which could be automatically applied like we do for the C++ side with clang-format.

I am proposing to use the black-formatter. Headline:

The uncompromising code formatter

Which I think is a good thing.

By using Black, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters.

If you agree (or not object in some time) I would do the following:

  • re-format all Python code in this repo
  • implement checks in CI which checks compliance with the formatter
  • add some docs on how wo set-up automatic formatting in your editor

I am especially asking people with some Python experience: @joergbuchwald @ShuangChen88 @ErikNixdorf @joboog

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information