@daks I only use ruff for linting. I used to run several linters- pylint's rules are a superset of flake8 so no point in that. Ruff doesn't catch as much as pylint because I haven't learned how to tell ruff to check more things. I also have 3 different profiles for pylint and I don't know how to do that with ruff.
I don't think too much about formatting. Let an autoformatter run then turn off the formatting-related linting rules.