Python Brasil 2025

Criando aplicações de linha de comando amáveis
2025-10-22 , Impacta - Sala 203

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?


What prior knowledge is necessary to be able to follow your activity well?:

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

What can participants expect to learn from your activity?:

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.

Choose one or more areas where this proposal fits.:

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.

This speaker also appears in: