Python Brasil 2025

Criando aplicações de linha de comando amáveis
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?


Quais conhecimentos prévios são necessários para que seja possível acompanhar bem a sua atividade?

É 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.