[Suggestion] use `pre-commit.ci`
I have setup https://pre-commit.ci/ with all of my actively maintained projects.
By doing so, I removed all code duplication of linting tools, which previously where present in the pyproject.toml (or in your case requirements.txt), the pre-commit-config.yaml and additionally in the CI to check linting for PRs.
This could probably remove all the linting from the requirements.txt
https://github.com/espressomd/espresso/blob/4aa06e7d26d35450b168a38573abdbc5ab4d2fb5/requirements.txt#L35C1-L41C18
pre-commit.ci will be an action that runs on the hooks on every commit. It will also commit changes to the PR, if the pre-commit hooks propose some (e.g. isort). Furthermore, it will keep the linters up-to-date by creating PRs to update the linting tools automatically.
Auto-update example: https://github.com/zincware/IPSuite/pull/180 Proposed changes example: https://github.com/zincware/IPSuite/pull/163/commits/9cfddc418ee60edd49bcd9fbaa5d18f1f01e812e