Pular para o conteúdo
Voltar às Trilhas Intermediário
Trilha Especialização: Automação & Ferramentas CLI com Python
🛠️

Trilha Especialização: Automação & Ferramentas CLI com Python

Do Módulo 0 ao Projeto Final: Typer, Rich, pandas, openpyxl, httpx, SQLite/Postgres, asyncio, Playwright, Arquitetura Hexagonal, Idempotência, pipx, Cron e Automação com IA.

Capítulos 23
Progresso 0/44 aulas
Concluído 0%
🛠️
CAPÍTULO 1

Módulo 0 — Ambiente Profissional

1 aulas

Terminal, Linux/Windows/WSL, Python, venv, pyproject.toml e estrutura inicial.

💻
CAPÍTULO 2

Módulo 1 — Fundamentos de Terminal e Shell

2 aulas

Caminhos, permissões, stdin/stdout/stderr, exit codes, pipes e redirecionamentos.

🔒

1.1 Pipes, Redirecionamento & Exit Codes

Conecte a saída padrão (stdout) de um comando à entrada padrão (stdin) do próximo comando mantendo códigos de saída previsíveis.

Bloqueada
🔒

1.2 Projeto: Pipeline para Processar Arquivos de Texto

Construa o pipeline: gerar-relatorio --formato csv | validar-dados | salvar-relatorio.

Bloqueada
🐍
CAPÍTULO 3

Módulo 2 — Scripts de Automação com Python

2 aulas

pathlib, logging, type hints, tratamento de exceções, JSON e CSV.

🔒

2.1 Manipulação Moderna de Arquivos com pathlib

Substitua os.path por pathlib.Path para leitura, escrita e verificação de arquivos multiplataforma com codificação UTF-8.

Bloqueada
🔒

2.2 Projeto: Organizador Seguro de Arquivos

Crie script que varre diretórios e organiza arquivos por extensão com tratamento defensivo de erros e logs.

Bloqueada
📐
CAPÍTULO 4

Módulo 3 — Design de Ferramentas CLI

2 aulas

Anatomia CLI, subcomandos, opções, flags, convenções Unix e saídas humano/máquina.

🔒

3.1 Anatomia & Saídas Legíveis por Humanos e Máquinas

Separe saídas visuais coloridas para humanos no console de saídas brutas em JSON/CSV adequadas para pipes.

Bloqueada
🔒

3.2 Projeto: Especificação Completa de uma CLI Operacional

Especifique os subcomandos operacao importar, relatorio e status com flags legíveis.

Bloqueada
CAPÍTULO 5

Módulo 4 — Construção com Typer

2 aulas

Typer, Comandos, Subcomandos, Validação por Tipos, Prompts e Autocomplete.

🔒

4.1 Typer & Type Hints como Definidores de Interface

Typer utiliza anotadores do Python (float, int, Path, bool) para gerar parser de argumentos, mensagens de ajuda e autocompletar.

Bloqueada
🔒

4.2 Projeto: CLI para Acompanhar Demanda Diária de Separação

Implemente o comando typer.Typer() calcular com parâmetros de peso e limite diário em kg.

Bloqueada
📁
CAPÍTULO 6

Módulo 5 — Automação de Arquivos e Diretórios

2 aulas

Globs, Hashes SHA256, Duplicados, Arquivos Temporários, --dry-run e Rollback.

🔒

5.1 Operações Reversíveis & Modo --dry-run

Sempre ofereça a flag --dry-run para simular e exibir todas as modificações em disco antes de alterar arquivos reais.

Bloqueada
🔒

5.2 Projeto: Organizador com Pré-Visualização e Rollback

Gere um log transacional JSON de movimentações permitindo reverter completamente a operação em caso de falha.

Bloqueada
📊
CAPÍTULO 7

Módulo 6 — Automação de CSV, Excel e Dados

2 aulas

CSV, TSV, openpyxl, pandas, limpeza, validação de colunas e CSV Formula Injection.

🔒

6.1 Processamento com pandas/openpyxl & Prevenção de Formula Injection

Sanitize campos iniciados por =, +, - ou @ para evitar a execução inadvertida de fórmulas maliciosas em planilhas Excel.

Bloqueada
🔒

6.2 Projeto: Importar Planilhas de Demanda e Gerar Relatório Consolidado

Leia arquivos .xlsx via pandas, trate valores ausentes, remova duplicidades e gere relatório resumido em Excel.

Bloqueada
🌐
CAPÍTULO 8

Módulo 7 — Integração com APIs

2 aulas

HTTP com httpx, Autenticação, Paginação, Rate Limits, Retry Backoff e Cache Local.

🔒

7.1 Resiliência HTTP com httpx & Retentativas com Backoff

Utilize httpx para suporte síncrono/assíncrono com timeouts rígidos e retentativas automáticas sob respostas 429/5xx.

Bloqueada
🔒

7.2 Projeto: CLI que Consulta uma API e Exporta Resultados

Desenvolva ferramenta CLI que consulta dados paginados em API remota e exporta relatórios formatados.

Bloqueada
🗄️
CAPÍTULO 9

Módulo 8 — Bancos de Dados em Automações

2 aulas

SQLite, PostgreSQL, Transações, Queries Parametrizadas, Migrations e Audit Trails.

🔒

8.1 SQLite Embeddable & Consultas Parametrizadas

SQLite é ideal para salvar estados locais e histórico de execuções da CLI sem necessidade de servidor externo.

Bloqueada
🔒

8.2 Projeto: Histórico Local das Demandas Processadas

Persista todas as chamadas da CLI em tabela SQLite com timestamp, usuário, total de itens e status de sucesso.

Bloqueada
⚙️
CAPÍTULO 10

Módulo 9 — Processos e Integração com o Sistema

2 aulas

subprocess, capture_output, timeouts, sinais, shell=False e Command Injection.

🔒

9.1 Subprocess Seguro & Prevenção de Command Injection

Passe argumentos como lista de strings (["git", "status"]) com shell=False para impedir injeção de comandos arbitrários pelo SO.

Bloqueada
🔒

9.2 Projeto: Ferramenta de Diagnóstico do Ambiente

Inspeccione versões do Git, Docker e Python executando comandos via subprocess com tratamento de timeout.

Bloqueada
🔀
CAPÍTULO 11

Módulo 10 — Assincronismo e Concorrência

2 aulas

asyncio, httpx.AsyncClient, limitação de concorrência com Semáforo e Filas.

🔒

10.1 Concorrência Assíncrona com asyncio.Semaphore

Utilize asyncio.Semaphore(10) para disparar centenas de requisições de rede sem estourar limites de conexões simultâneas.

Bloqueada
🔒

10.2 Projeto: Consultar Múltiplas APIs com Concorrência Limitada

Implemente script async que consome múltiplas APIs em paralelo agregando respostas com asyncio.gather.

Bloqueada
🔑
CAPÍTULO 12

Módulo 11 — Configuração, Segredos e Credenciais

2 aulas

Prioridade de Configurações, .env, Pydantic BaseSettings e Sanitização de Logs.

🔒

11.1 Pydantic Settings & Mascaramento de Dados

Carregue configurações via pydantic-settings garantindo validação de tipos e mascaramento de tokens em saídas.

Bloqueada
🔒

11.2 Projeto: Sistema Seguro de Configuração da CLI

Implemente resolução de configurações por ordem de precedência: flags de linha de comando substituem variáveis de ambiente.

Bloqueada
🛡️
CAPÍTULO 13

Módulo 12 — Confiabilidade e Idempotência

2 aulas

Operações Idempotentes, Checkpoints, Atomic Writes, Locks e Rollbacks.

🔒

12.1 Escrita Atômica & Deduplicação por Hash

Escreva atualizações em arquivo temporário (.tmp) e realize renomeação atômica (replace) para evitar arquivos corrompidos.

Bloqueada
🔒

12.2 Projeto: Importação que Pode Ser Executada Novamente sem Duplicar

Crie importador de demandas que ignora linhas já processadas em execuções anteriores.

Bloqueada
📊
CAPÍTULO 14

Módulo 13 — Logging e Observabilidade

2 aulas

Logging Estruturado em JSON, Log Levels, Console vs Arquivo e Métricas de Duração.

🔒

13.1 Logging Estruturado com Structlog / Rich

Emita logs coloridos no console para desenvolvedores e logs JSON estruturados com timestamps em arquivo para auditoria.

Bloqueada
🔒

13.2 Projeto: Relatório Técnico de Cada Execução

Gere um resumo ao fim de cada execução contendo contagem de sucessos, erros e tempo total em milissegundos.

Bloqueada
🧪
CAPÍTULO 15

Módulo 14 — Testes de Automações e CLIs

2 aulas

pytest, CliRunner, Fixtures de Arquivos Temporários, Mocks e Exit Code Assertions.

🔒

14.1 Testando Interfaces CLI com Typer CliRunner & pytest

Utilize typer.testing.CliRunner para executar comandos simulados e validar saídas e códigos de retorno 0 ou 1.

Bloqueada
🔒

14.2 Projeto: Suíte Completa de Testes da Automação

Escreva testes automatizados cobrindo importação de arquivos temporários, tratamento de exceções e flags --dry-run.

Bloqueada
📦
CAPÍTULO 16

Módulo 15 — Distribuição e Instalação

2 aulas

pyproject.toml Entry Points, pipx, Wheels, Versionamento Semântico e PyPI.

🔒

15.1 Empacotamento Python & Instalação com pipx

Configure [project.scripts] no pyproject.toml para gerar binários executáveis isolados via pipx install.

Bloqueada
🔒

15.2 Projeto: Transformar o Script em Ferramenta Instalável

Empacote a ferramenta CLI gerando arquivo .whl instalável via pipx com comando logistica disposta no PATH.

Bloqueada
CAPÍTULO 17

Módulo 16 — Agendamento e Execução Automática

2 aulas

Cron, Systemd Timers, GitHub Actions, Docker agendado e Prevenção de Sobreposição.

🔒

16.1 Cron Jobs & GitHub Actions Workflows

Configure rotinas agendadas usando sintaxe cron no Linux ou GitHub Actions com alertas de falhas via webhook.

Bloqueada
🔒

16.2 Projeto: Relatório Diário Automatizado

Monte rotina agendada diária com verificação de lock em disco para evitar execuções simultâneas sobrepostas.

Bloqueada
🎭
CAPÍTULO 18

Módulo 17 — Automação com Navegador (Playwright)

2 aulas

Playwright Python, Seletores, Downloads, Headless Browser, Sessões e Screenshots.

🔒

17.1 Web Scraping & Automação Web com Playwright

Utilize Playwright para preenchimento de formulários Web, uploads de arquivos e download de relatórios em modo headless.

Bloqueada
🔒

17.2 Projeto: Automação de um Fluxo Permitido em Sistema de Teste

Desenvolva script Playwright que realiza login, aguarda carregamento de tabela e exporta captura de tela de validação.

Bloqueada
🤖
CAPÍTULO 19

Módulo 18 — Automação com Inteligência Artificial

2 aulas

Saídas Estruturadas Pydantic, Prompts Versionados, Human-in-the-Loop e Fallbacks.

🔒

18.1 Saídas JSON Estruturadas & Guardrails de IA

Exija saídas estritas validadas por schemas Pydantic ao enviar dados não estruturados para modelos de linguagem.

Bloqueada
🔒

18.2 Projeto: Classificador de Ocorrências com Revisão Humana

Classifique divergências logísticas com IA e direcione apenas itens com confiança < 90% para fila de validação humana.

Bloqueada
🏗️
CAPÍTULO 20

Módulo 19 — Arquitetura de Automações (Ports & Adapters)

2 aulas

Hexagonal Architecture, Separação de Regras de Negócio e CLI, Injeção de Dependências.

🔒

19.1 Arquitetura Hexagonal em Scripts Python

Separe o código em src/cli, src/domain e src/adapters (files, db, api) tornando a regra de negócio testável sem a CLI.

Bloqueada
🔒

19.2 Projeto: Refatorar a Ferramenta Sem Alterar Seu Comportamento Externo

Reestruture a aplicação em módulos Hexagonais garantindo que todas as opções e comandos externos permaneçam idênticos.

Bloqueada
🛡️
CAPÍTULO 21

Módulo 20 — Segurança Ofensiva e Defensiva da CLI

2 aulas

Threat Modeling, Path Traversal, Symlink Attacks, Permissões e Supply Chain.

🔒

20.1 Path Traversal, Symlink Attacks & Permissões Defensivas

Valide caminhos com Path.resolve() para impedir que entradas maliciosas como ../../etc/passwd acessem arquivos fora do escopo.

Bloqueada
🔒

20.2 Projeto: Revisão de Segurança e Plano de Correção

Realize auditoria de código buscando vazamentos de credenciais em logs e permissões excessivas de escrita.

Bloqueada
💡
CAPÍTULO 22

Módulo 21 — Transformando Automação em Produto

2 aulas

Avaliação de Impacto Econômico, Script vs Micro-SaaS, Multi-tenancy e Precificação.

🔒

21.1 Viabilidade Financeira & De Script Interno a Produto SaaS

Calcule o valor econômico da automação: Frequência x Tempo Economizado x Custo/Hora. Decida quando evoluir uma CLI para um Micro-SaaS.

Bloqueada
🔒

21.2 Projeto: Transformar uma Automação Operacional em Proposta de Micro-SaaS

Elabore proposta comercial de produto definindo precificação por volume de demandas processadas e modelo de licença.

Bloqueada
🏆
CAPÍTULO 23

Módulo 22 — Projeto Final: CLI de Automação Logística

1 aulas

Construção da CLI de Automação de Demandas Logísticas integrando todos os 22 módulos anteriores.

🔒

22.1 Projeto Final: CLI de Automação de Demandas Logísticas

Aprenda requisitos integrados da cli logística com conceitos práticos e exercícios aplicados.

Bloqueada