Об этом проекте

Rich — это библиотека Python для форматированного текста и красивого вывода в терминале. Она предоставляет API, который упрощает добавление цвета и стиля к терминальному выводу, а также позволяет сразу отображать аккуратные таблицы, прогресс-бары, Markdown, исходный код с подсветкой синтаксиса, трейсбэки и многое другое. Совместимость: Rich работает на Linux, macOS и Windows. True color и эмодзи поддерживаются в новом Windows Terminal; классический терминал ограничен 16 цветами. Требуется Python 3.8 или новее; библиотека также работает в Jupyter-блокнотах без дополнительной настройки. Установка: устанавливается через pip (`python -m pip install rich`), проверить вывод можно командой `python -m rich`. Rich print: импорт `rich.print` предоставляет версию с той же сигнатурой, что и встроенный `print`, но с поддержкой разметки, например `[bold magenta]World[/bold magenta]`, а также имен эмодзи. Rich можно установить и в Python REPL через `pretty.install()`, чтобы структуры данных красиво выводились и подсвечивались. Console API: объект `Console` предлагает метод `print`, похожий на встроенный, с переносом слов, стилевыми аргументами и BBCode-подобной консольной разметкой. Также есть метод `log`, который добавляет столбцы времени и места, умеет красиво выводить коллекции и поддерживает опцию `log_locals` для отображения локальных переменных. Имеется встроенный обработчик для модуля logging в Python. Встроенные отображаемые элементы включают: - Эмодзи: вставка эмодзи по имени между двоеточиями, например `:smiley:`. - Таблицы: гибкие Unicode-таблицы с настраиваемыми рамками, стилями, выравниванием ячеек и столбцами, которые подстраиваются под ширину терминала. - Прогресс-бары: несколько прогресс-баров без мерцания через `track` или пользовательские конфигурации столбцов для процента, размера файла, скорости и оставшегося времени. - Статус: анимация спиннера и сообщение через контекстный менеджер `status`; доступные спиннеры можно посмотреть командой `python -m rich.spinner`. - Дерево: отображение иерархических данных с направляющими линиями, подходит для файловых структур; демонстрация доступна через `python -m rich.tree`. - Столбцы: аккуратные колонки содержимого с равной или оптимальной шириной, как в списках каталогов. - Markdown: отображение Markdown-форматирования в терминале с помощью класса `Markdown`. - Подсветка синтаксиса: работает на базе Pygments через объект `Syntax`, с темами и номерами строк. - Трейсбэки: красивые и более читаемые трейсбэки, показывающие больше кода, чем стандартные трейсбэки Python; их можно настроить как обработчик по умолчанию. Отображаемые элементы Rich построены на протоколе Console, что позволяет пользователям реализовывать собственный Rich-контент. Среди связанных проектов в README упоминаются Rich CLI — приложение командной строки для подсветки синтаксиса, отображения Markdown и CSV в таблицах, а также Textual — родственный проект для создания сложных терминальных пользовательских интерфейсов.