black flake8 mypy pre-commit types-requests