Sobre el proyecto

Rich es una biblioteca de Python para texto enriquecido y formato atractivo en la terminal. Proporciona una API que facilita añadir color y estilo a la salida de la terminal, y puede renderizar tablas bonitas, barras de progreso, Markdown, código fuente con resaltado de sintaxis, tracebacks y más, sin configuración adicional. Compatibilidad: Rich funciona en Linux, macOS y Windows. True color y emoji funcionan con el nuevo Windows Terminal; la terminal clásica está limitada a 16 colores. Requiere Python 3.8 o posterior y también funciona con Jupyter notebooks sin configuración adicional. Instalación: Instálala con pip (`python -m pip install rich`) y prueba la salida con `python -m rich`. Rich print: Importa `rich.print` para obtener una versión con la misma firma que el `print` incorporado, además de soporte de marcado como `[bold magenta]World[/bold magenta]` y nombres de emoji. Rich también puede instalarse en el REPL de Python mediante `pretty.install()` para que las estructuras de datos se impriman con formato bonito y resaltado. API de Console: El objeto `Console` ofrece un método `print` similar al incorporado, con ajuste de palabras, argumentos de palabra clave de estilo y marcado de consola similar a BBCode. También tiene un método `log` que añade columnas de hora y ubicación y puede imprimir colecciones con formato bonito, con una opción `log_locals` para mostrar variables locales. Hay un Handler de logging integrado para el módulo logging de Python. Los renderizables integrados incluyen: - Emoji: inserta emoji por nombre entre dos puntos, por ejemplo `:smiley:`. - Tablas: tablas Unicode flexibles con bordes, estilos, alineación de celdas y columnas que se redimensionan para ajustarse a la terminal. - Barras de progreso: múltiples barras de progreso sin parpadeo mediante `track` o configuraciones personalizadas de columnas para porcentaje, tamaño de archivo, velocidad y tiempo restante. - Estado: animación de spinner y mensaje con el gestor de contexto `status`; los spinners disponibles pueden explorarse con `python -m rich.spinner`. - Árbol: renderizado de datos jerárquicos con líneas guía, adecuado para estructuras de archivos; `python -m rich.tree` lo demuestra. - Columnas: columnas de contenido ordenadas con ancho igual u óptimo, similares a listados de directorios. - Markdown: renderiza formato Markdown en la terminal usando la clase `Markdown`. - Resaltado de sintaxis: impulsado por Pygments mediante el objeto `Syntax`, con temas y números de línea. - Tracebacks: tracebacks bonitos y más fáciles de leer que muestran más código que los tracebacks estándar de Python, y pueden configurarse como manejador predeterminado. Los renderizables de Rich se basan en el Console Protocol, lo que permite a los usuarios implementar su propio contenido Rich. Los proyectos relacionados mencionados en el README incluyen Rich CLI, una aplicación de línea de comandos para resaltado de sintaxis, renderizado de Markdown y visualización de CSV en tablas, y Textual, un proyecto hermano para construir interfaces de usuario de terminal sofisticadas.