Repolode
Textualize

Textualize/textual

Python-фреймворк для создания интерфейсов терминальных и веб-приложений с простым компонентным API.

Звёзды
37,497
Форки
1,366
Открытые issues
369
Последний коммит
12 дней назад

Что это?

Textual — это Python-фреймворк для создания интерактивных пользовательских интерфейсов. Одно и то же приложение можно запускать в терминале или показывать в браузере, поэтому разработчикам достаточно одной кодовой базы вместо отдельных терминального и веб-интерфейсов.

Приложения собираются из библиотеки виджетов — например, кнопок, деревьев, таблиц данных, полей ввода и текстовых областей. Виджеты размещаются с помощью гибкой системы компоновки и оформляются правилами в стиле CSS. Готовые темы позволяют получить аккуратный внешний вид без лишних усилий. Внутри фреймворк работает асинхронно, но разработчику не нужно писать асинхронный код.

Вместе с основной библиотекой Textual поставляет дополнительные инструменты. Пакет textual-dev включает консоль разработчика, которая показывает логи и вывод print из работающего приложения в отдельном терминале. Во фреймворк также входят командная палитра и тестовый фреймворк для долгосрочного сопровождения приложений. Приложения можно публиковать с помощью команды textual serve.

Ключевые возможности

  • 01Создание терминальных и веб-приложений на одном и том же Python-коде.
  • 02Библиотека виджетов, в которую входят кнопки, таблицы данных, деревья и текстовые области.
  • 03Гибкая система компоновки, стилизация в духе CSS и готовые темы.
  • 04Консоль разработчика показывает логи и вывод print работающего приложения в другом терминале.
  • 05Встроенная командная палитра с нечетким поиском, которую можно расширять собственными командами.
  • 06Тестовый фреймворк для поддержки приложений в удобном для сопровождения состоянии.

Сценарии использования

  • Создание внутренних инструментов командной строки, которым нужен более функциональный интерактивный интерфейс, чем обычные текстовые запросы.
  • Создание терминальных дашбордов и инструментов мониторинга с таблицами и динамически обновляемыми виджетами.
  • Публикация Python-утилиты в виде веб-приложения с помощью textual serve без разработки отдельного фронтенда.

Быстрый старт

  1. 1

    Установите Textual с помощью pip

    pip install textual textual-dev
  2. 2

    Запустите встроенную демонстрацию, чтобы узнать, что умеет Textual

    python -m textual

Темы

Частые вопросы

Что такое textual?
Python-фреймворк для создания интерфейсов терминальных и веб-приложений с простым компонентным API. Textual — это Python-фреймворк для создания интерактивных пользовательских интерфейсов. Одно и то же приложение можно запускать в терминале или показывать в браузере, поэтому разработчикам достаточно одной кодовой базы вместо отдельных терминального и веб-интерфейсов.
textual можно использовать бесплатно? Какая у него лицензия?
textual распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
textual всё ещё поддерживается?
Активно поддерживается. Последний коммит в textual — 9 окт. 2026 г..
Для чего можно использовать textual?
Создание внутренних инструментов командной строки, которым нужен более функциональный интерактивный интерфейс, чем обычные текстовые запросы. Создание терминальных дашбордов и инструментов мониторинга с таблицами и динамически обновляемыми виджетами. Публикация Python-утилиты в виде веб-приложения с помощью textual serve без разработки отдельного фронтенда.
Как установить textual?
Установите Textual с помощью pip: pip install textual textual-dev Запустите встроенную демонстрацию, чтобы узнать, что умеет Textual: python -m textual
Где скачать textual?
Исходный код и инструкции по установке — на GitHub: https://github.com/Textualize/textual

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Терминальная панель на Textual для создания, редактирования, приостановки и мониторинга cron-задач на локальных машинах и удалённых серверах по SSH.

1,5 тыс.61PythonApache-2.0Обновлён 27 дней назад