Módulo 2
Aplicaciones de terminal
Programas que se usan escribiendo órdenes: argumentos, colores, menús, configuración y empaquetado hasta convertirlos en un comando instalable.
📚 28 lecciones
⏱ 674 min en total
- 1Qué es una aplicación de terminalPor qué los programas de línea de comandos siguen siendo la herramienta profesional, cómo se estructura una orden y qué dos estilos existen.12 min
- 2Controlar la salida en pantallaLos parámetros de print que casi nadie usa, escribir sin salto de línea, reescribir la línea actual, limpiar la pantalla y medir su ancho.16 min
- 3Entrada robusta por tecladoFunciones reutilizables para pedir textos, números, fechas y confirmaciones sin que el programa muera cuando alguien escribe cualquier cosa.27 min
- 4Menús interactivosEl bucle del menú bien hecho: despacho con un diccionario de funciones en vez de cadenas de elif, submenús, pausas y redibujado.20 min
- 5Colores y estilos en la terminalLos códigos de escape ANSI explicados por dentro, un módulo propio para usarlos y cuándo hay que renunciar al color.20 min
- 6Tablas y cajas de textoCalcular anchos de columna, alinear, truncar y dibujar marcos con caracteres Unicode para presentar datos legibles sin instalar nada.24 min
- 7Spinners y barras de progresoCómo decirle a quien espera que el programa sigue vivo: spinners, porcentajes, tiempo transcurrido y estimación de lo que falta.19 min
- 8Argumentos con sys.argvCómo llegan a tu programa las palabras que se escriben detrás de su nombre en la terminal, y hasta dónde aguanta leerlas a mano.14 min
- 9Primeros pasos con argparseEl módulo de la biblioteca estándar que lee la línea de comandos por ti, comprueba lo que falta y escribe la ayuda solo.15 min
- 10Opciones y banderasArgumentos con guion que se pueden omitir: nombres cortos y largos, valores por defecto, interruptores, contadores y listas.23 min
- 11Tipos y validaciónConvertir los argumentos al tipo que toca y rechazar los valores imposibles antes de que lleguen a tu código.25 min
- 12SubcomandosCómo agrupar varias órdenes distintas bajo un mismo programa, al estilo de git commit o pip install, con add_subparsers.22 min
- 13Ayuda y documentaciónLa salida de -h es la cara de tu programa: cómo escribirla para que se entienda sin buscar el manual en ningún otro sitio.25 min
- 14Códigos de salida y stderrCómo decirle al sistema si tu programa ha ido bien o mal, y por qué los errores no se imprimen por la salida normal.19 min
- 15Tuberías y entrada estándarCómo leer datos que llegan por una tubería para que tu programa encaje con el resto de herramientas de la terminal.18 min
- 16Variables de entornoCómo configurar un programa desde fuera, sin tocar su código, y dónde guardar las claves que no pueden acabar en git.17 min
- 17Ficheros de configuraciónDónde y cómo guardar los ajustes de tu herramienta para que los recuerde, y en qué orden combinarlos con el entorno y los argumentos.20 min
- 18Registro con loggingCómo dejar constancia de lo que hace tu programa, con niveles de detalle que se encienden y se apagan sin tocar el código.20 min
- 19Interrupciones y limpiezaQué pasa al pulsar Ctrl+C, cómo terminar con elegancia y cómo garantizar que no quedan ficheros a medias.21 min
- 20Estructura de un proyectoCómo se reparte una herramienta de terminal en carpetas y ficheros, y por qué la lógica no debe saber nada de la pantalla.26 min
- 21Comandos instalablesCómo convertir tu proyecto en un comando que se escribe por su nombre, con el pyproject.toml explicado campo a campo.22 min
- 22Distribuir tu herramientaCómo llega tu programa al ordenador de otra persona: instalación desde git, pipx, construcción de paquetes y publicación en PyPI.22 min
- 23Probar una CLIPruebas automáticas con pytest para el núcleo, el análisis de argumentos, la salida por pantalla y los códigos de salida.26 min
- 24rich: salida con estiloLa primera biblioteca externa del curso: colores, paneles, reglas y volcado de objetos sin escribir un solo código ANSI.27 min
- 25rich: tablas y progresoTablas que se ajustan solas, barras de progreso, pantallas que se refrescan y preguntas con validación, todo resuelto.29 min
- 26Proyecto: organizador de ficherosUna herramienta que ordena la carpeta de descargas por tipo de fichero, con modo de simulación, recursividad y resumen en tabla.39 min
- 27Proyecto: gestor de gastosUna herramienta de gastos personales con subcomandos, almacenamiento en CSV, dinero exacto con Decimal y resumen con gráfico de barras.61 min
- 28Proyecto: buscador de textoUn clon sencillo de grep con expresiones regulares, entrada estándar, resaltado en color y los códigos de salida que lo hacen encadenable.45 min