22/10/2025 –, Impacta - Sala 204
Aprenda a criar CLIs amigáveis e robustas, só com a stdlib. Vamos ver o que torna uma CLI boa (ou péssima), boas práticas da filosofia UNIX e como facilitar a vida de quem ama o terminal.
Comandos acessados pelo terminal são ferramentas poderosas: permitem automação, funcionam local ou remotamente e são parte central do ecossistema UNIX, o sistema operacional mais influente das últimas décadas. Mas muitas aplicações de linha de comando feitas com Python ignoram padrões fundamentais dessa filosofia, tornando-as difíceis de usar, inconsistentes ou verborrágicas.
Este tutorial nasce da frustração com ferramentas mal projetadas, que não consideraram a experiência do usuário quando foram desenvolvidas. Vamos aprender como criar CLIs agradáveis, que seguem convenções esperadas e funcionam bem tanto para humanos quanto para scripts.
Usaremos apenas a biblioteca padrão (argparse
) para garantir simplicidade e portabilidade. Também veremos boas práticas de design de CLIs: separação de responsabilidades (entrada, lógica, saída), carregamento preguiçoso de módulos, preocupações com desempenho e como evitar armadilhas comuns.
A atividade incluirá:
- Exemplos reais de boas e más CLIs (inclusive de projetos populares);
- Breve histórico dos terminais e da filosofia UNIX;
- Diferenças entre CLI, TUI e GUI, e quando faz sentido cada uma;
- Casos de uso que ilustram a importância de uma boa interface de terminal;
- Exercícios práticos para criar CLIs úteis e respeitosas com quem as usa.
Você já perdeu minutos preciosos da sua vida tentando entender ou rodar um comando mal feito?
É necessário saber programar de maneira avançada em Python, já ter criado scripts de linha de comando e entender conceitos básicos de engenharia de software, como a separação de responsabilidades (por exemplo, nos frameworks MVC usados em aplicações Web). Também é necessária experiência no uso de terminal UNIX (principais comandos do core-utils) e de computador com Python e bash.
O que as pessoas que participarem podem esperar aprender na sua atividade? –Participantes vão aprender a construir CLIs robustas, amigáveis e reutilizáveis com Python puro. Vão entender como aplicar a filosofia UNIX ao design de comandos, estruturar o código separando entrada, lógica e saída, tratar erros corretamente e criar ferramentas que funcionam bem tanto para pessoas quanto para automação. O foco será em boas práticas, portabilidade e simplicidade, com exemplos reais e aplicação prática.
Escolha uma ou mais áreas em que essa proposta se encaixa –Automações (RPA - Robotic Process Automation), Ciência e Análise de Dados, Arquitetura de software, DevOps e Automação de Infraestrutura
Álvaro Justen (@turicas) é programador, professor e empreendedor. Trabalha com Python desde 2005. Criou o Brasil.IO e a PythoniCafé, empresa que gera impacto social com software livre e dados abertos.