Objetivo: capacitar você a escrever e manter código Python de alta qualidade em projetos de automação de rede, legível, seguro, tipado e verificado automaticamente a cada commit.
Proposta: Este curso cobre as ferramentas de qualidade do ecossistema Python em duas camadas. Primeiro, os clássicos que você vai encontrar em todo repositório existente: Black, isort, Flake8, Bandit e mypy. Depois, a consolidação que o ecossistema adotou nos últimos anos: o Ruff, que substitui a maior parte dessa pilha por um binário só, e o uv, que substitui o Poetry na gestão de dependências.
Tudo é configurado num único pyproject.toml, e tudo é automatizado em três níveis: Makefile, pre-commit e GitHub Actions.
O curso é prático. Cada aula termina com exercícios que rodam no navegador com as ferramentas de verdade instaladas — você corrige código até o ruff check zerar, até o mypy --strict aprovar e até o Bandit parar de reclamar, exatamente como aconteceria no seu pull request.
Estudo de caso: acompanhamos o Nornir — o framework de automação de rede multithread mais usado do ecossistema Python — que fez uma reforma completa de qualidade de código entre as versões 3.5.0 e 3.6.0: saiu do Poetry para o uv, trocou a pilha de linters pelo Ruff, ligou select = ["ALL"] e adotou mypy estrito. Você vai ler os arquivos de configuração reais deles e entender cada decisão.
Pré-requisitos:

2 aulas · 45 min
O que é qualidade de código, por que ela importa em automação de rede e o arquivo onde toda a configuração vai morar: o pyproject.toml.
2 aulas · 50 min
As ferramentas que reescrevem o seu código para um estilo único: Black para o arquivo inteiro, isort para o bloco de imports.
2 aulas · 55 min
As ferramentas que leem o código sem executá-lo e apontam o que é problema: Bandit para segurança, Flake8 para o resto.
1 aula · 35 min
Anotações de tipo e mypy: pegando o None que atravessa três funções e explode no meio de um deploy.
3 aulas · 75 min
Um binário em Rust no lugar de cinco ferramentas Python: lint, formatação, e a estratégia de catraca para ligar tudo num projeto que já existe.
4 aulas · 70 min
Tirando a decisão das pessoas: Makefile, pre-commit e GitHub Actions — cada um cobrindo uma falha que o anterior não cobre.
1 aula · 30 min
O pyproject.toml, o Makefile e a CI reais do Nornir, lidos linha a linha — e as sete decisões que valem copiar para o seu projeto.