Saltar al contenido
🐍 Curso de Python
/

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
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 10Opciones y banderasArgumentos con guion que se pueden omitir: nombres cortos y largos, valores por defecto, interruptores, contadores y listas.23 min
  11. 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
  12. 12SubcomandosCómo agrupar varias órdenes distintas bajo un mismo programa, al estilo de git commit o pip install, con add_subparsers.22 min
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 25rich: tablas y progresoTablas que se ajustan solas, barras de progreso, pantallas que se refrescan y preguntas con validación, todo resuelto.29 min
  26. 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
  27. 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
  28. 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