this commit adds ruff as both a Python linter and fixer, together with some tests and documentation. ruff repo: https://github.com/charliermarsh/ruff