In order to reduce the number of dependencies, I suggest using ruff instead of black and isort. See for example https://github.com/pypa/setuptools/pull/4125#issuecomment-1822842090 and https://github.com/jaraco/skeleton/pull/99.