petsc4py: finalize docstrings and linting
This MR finishes the docstrings for petsc4py.
I have also formatted the Cython and Python codes under src/binding/petsc4py
using Cython itself and a couple of external tools (cython-lint
and ruff
).
From now on, every new addition to petsc4py must comply with the code styles and new public methods of petsc4py will have to have a docstring for the contribution to be accepted.
@dalcinl has already reviewed in person the gigantic set of changes that are basically no-brainers.
While testing, I discovered some minor bugs using address sanitizer. I wish I could add a sanitizer job for petsc4py, but this will require some more work on the gitlab-ci side to preload the libraries properly.
It can be reviewed by commits; each one is self-contained.
Edited by Stefano Zampini