Para mim não ficou bem claro as vantagens e desvantagem do MyPy e do Flake8, ou seja, as diferenças entre eles.
Onde posso buscar um comparativo?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Para mim não ficou bem claro as vantagens e desvantagem do MyPy e do Flake8, ou seja, as diferenças entre eles.
Onde posso buscar um comparativo?
Oi Leonardo, tudo bem com você?
Essas duas ferramentas possuem objetivos distintos, enquanto o Mypy irá verificar os tipos, o Flake8 verifica o estilo do código com base na PEP8(Guia de Estilo para Código Python).
Como exemplo, imagine o seguinte código, intitulado como main.py:

No código acima, definimos que a função saudacao espera receber, um str e quando chamamos a função estamos passando um argumento do tipo str. Tudo bem até aqui?
Quando executarmos: mypy main.py ele nos retornará Success: no issues found in 1 source file, ou seja, aparentemente não há erro algum. Mas, e se passarmos um valor inteiro para função saudacao? Dessa forma:
print(saudacao(1))Nesse caso, quando formos executar novamente mypy main.py ele nos retornará Argument 1 to "saudacao" has incompatible type "int"; expected "str" ou seja, há algo de errado, nossa função esperava receber como parâmetro um tipo str e passamos um argumento inteiro.
E é isso que o mypy faz, verifica se estamos fazendo o uso correto das tipagens. Sozinho o python sozinho não consegue verificar os tipos, por isso a utilização do mypy.
Já se executarmos o flake8 em nosso código através do comando flake8 main.py ele irá nos retornar:
main.py:4:1: E305 expected 2 blank lines after class or function definition, found 1
main.py:5:23: W292 no newline at end of fileE esses erros que ele nos mostra se refere ao estilo do nosso código. Ele diz que é necessário dois espaços em branco após o término da função e também, que precisamos colocar uma linha em branco no final do arquivo. Dessa forma:

Agora, quando executarmos novamente o flake8 ele não nos retornará erro algum.
Consegue notar a diferença entre o mypy e o flake8?
Recomendo a documentação dessas ferramentas:
Fico à disposição para qualquer dúvida. Abraços e bons estudos!