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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.