Python para infraestrutura
Use Python quando a automação precisa tratar JSON, chamadas HTTP, testes, tipos ou uma interface de CLI estável. Bash continua adequado para orquestrar poucos comandos; não o estenda até virar uma biblioteca sem testes.
python -m venv .venv. .venv/bin/activatepython -m pip install --require-hashes -r requirements.txtpython -m pytestFixe dependências e execute a mesma entrada no computador e no CI. Separe a lógica pura das ações externas: uma função transforma dados; outra chama o SDK. Isso permite simular respostas e testar erro sem criar recurso em nuvem. Todo comando mutável deve aceitar identificador explícito, validar o estado atual e imprimir o que mudará antes de executar.
for attempt in range(5): try: return client.create_resource(name=name) except TransientError: time.sleep(min(2 ** attempt, 16) + random.random())raise RuntimeError("falha transitória esgotou as tentativas")Retry é apenas para falha transitória e operação idempotente; repetir criação sem chave de
idempotência pode duplicar recurso. Registre request ID, alvo e resultado, nunca token ou
segredo. Empacote com pyproject.toml, exponha um entry point e distribua versão imutável,
não um script copiado entre repositórios.
Próximo passo: padronize a execução em Make, Task e a interface.