Automatic formatting/linting
We should consider adding python and C++ auto formatting to standardise the code. The formatters should run as a pre-commit hook and add we can also add checks in the CI.
For python, black does a pretty good job. For C++ clang-format
seems to be a promising option. @dguest do you have any experience with C++ formatters?