Фреймворк для терминальных интерфейсов на Go на основе Elm Architecture: корректная работа с Unicode, встроенный и полноэкранный рендеринг, библиотека компонентов.
charmbracelet/bubbles
Набор готовых компонентов TUI — спиннер, ввод текста, таблица, список, viewport, справка и другие — для создания терминальных приложений на Go с Bubble Tea.
- Звёзды
- 9,002
- Форки
- 475
- Открытые issues
- 250
- Последний коммит
- 18 дней назад
Что это?
Bubbles — библиотека на Go с повторно используемыми компонентами терминального интерфейса, созданная для Bubble Tea — фреймворка для терминальных приложений на основе архитектуры Elm. Вместо того чтобы писать каждый виджет с нуля, разработчики могут использовать такие компоненты, как спиннер, однострочное и многострочное поля ввода, таблица с сортировкой, фильтруемый список, прокручиваемый viewport, индикатор выполнения, пагинатор, выбор файла, таймеры и секундомеры, а также автоматически создаваемое окно справки.
Каждый компонент — это модель Bubble Tea со своими методами Update и View, поэтому его можно встроить в более крупное приложение и объединять с другими компонентами. Вспомогательный пакет для привязки клавиш позволяет приложению задавать раскладки клавиш, давать пользователям возможность переназначать клавиши и создавать текст справки на основе тех же привязок. Компоненты поддерживают ввод Unicode, вставку текста, прокрутку и настраиваемое оформление. Библиотека версии 2 публикуется с путём импорта charm.land.
Ключевые возможности
- 01Включает спиннер, поле ввода текста, текстовую область, таблицу, список, viewport и индикатор выполнения
- 02Предоставляет пагинатор с отображением страниц точками или числами
- 03Предлагает компонент выбора файлов с фильтрацией по расширению
- 04Включает компоненты таймера и секундомера для обратного и прямого отсчёта
- 05Автоматически создаёт окна справки на основе привязок клавиш
Сценарии использования
- Добавление индикаторов загрузки и выполнения в CLI-инструмент на Go
- Создание терминальной формы с несколькими текстовыми полями
- Отображение прокручиваемых списков или табличных данных в приложении TUI
- Предоставление пользователям возможности выбирать файлы и переназначать клавиши в терминальном приложении
Что важно знать
- В README нет команды установки, поэтому показать краткое руководство по началу работы нельзя.
- Для обновления с v1 до v2 нужно следовать отдельному руководству по обновлению.
- Эти компоненты предназначены для приложений Bubble Tea, поэтому вам также понадобится этот фреймворк.
Темы
Частые вопросы
- Что такое bubbles?
- Набор готовых компонентов TUI — спиннер, ввод текста, таблица, список, viewport, справка и другие — для создания терминальных приложений на Go с Bubble Tea. Bubbles — библиотека на Go с повторно используемыми компонентами терминального интерфейса, созданная для Bubble Tea — фреймворка для терминальных приложений на основе архитектуры Elm. Вместо того чтобы писать каждый виджет с нуля, разработчики могут использовать такие компоненты, как спиннер, однострочное и многострочное поля ввода, таблица с сортировкой, фильтруемый список, прокручиваемый viewport, индикатор выполнения, пагинатор, выбор файла, таймеры и секундомеры, а также автоматически создаваемое окно справки.
- bubbles можно использовать бесплатно? Какая у него лицензия?
- bubbles распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bubbles всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bubbles — 4 окт. 2026 г..
- Для чего можно использовать bubbles?
- Добавление индикаторов загрузки и выполнения в CLI-инструмент на Go Создание терминальной формы с несколькими текстовыми полями Отображение прокручиваемых списков или табличных данных в приложении TUI Предоставление пользователям возможности выбирать файлы и переназначать клавиши в терминальном приложении
- Где скачать bubbles?
- Исходный код и инструкции по установке — на GitHub: https://github.com/charmbracelet/bubbles
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture.
Терминальная панель мониторинга на Bubble Tea: один YAML-файл задаёт источники данных на основе shell-команд и сетку виджетов.
Терминальная программа для чтения и форматирования Markdown-файлов и репозиториев с оформлением в CLI.
Библиотека Go для стилизации и компоновки текстовых интерфейсов терминала с помощью декларативных стилей в духе CSS.
Терминальный менеджер загрузок на Go с управлением с клавиатуры: разбивает файлы на параллельные части и загружает их с нескольких зеркал.