Repolode
Textualize

Textualize/textual

シンプルなコンポーネントベースのAPIで、ターミナルとWebのUIを構築できるPythonフレームワーク。

スター
37,497
フォーク
1,366
未解決の Issue
369
最終コミット
12 日前

これは何?

Textualは、インタラクティブなユーザーインターフェースを構築するためのPythonフレームワークです。同じアプリをターミナル上で実行することも、Webブラウザーに配信することもできるため、ターミナル用とWeb用のフロントエンドを別々に作らず、ひとつのコードベースで開発できます。

ボタン、ツリー、データテーブル、入力欄、テキストエリアなどのウィジェットをライブラリから選び、柔軟なレイアウトシステムで配置して、CSS風のルールでスタイルを設定します。あらかじめ用意されたテーマを使えば、手間をかけずに見栄えのよいアプリを作れます。フレームワーク内部は非同期ですが、開発者がasyncコードを書く必要はありません。

Textualには、コアライブラリを補うツールも含まれています。textual-devパッケージの開発用コンソールでは、実行中のアプリのログやprintの出力を別のターミナルに表示できます。また、アプリの継続的な保守に役立つコマンドパレットとテストフレームワークも備えています。アプリはtextual serveコマンドで配信できます。

主な機能

  • 01同じPythonコードからターミナルアプリとWebアプリを構築できます。
  • 02ボタン、データテーブル、ツリー、テキストエリアなどを含むウィジェットライブラリを利用できます。
  • 03柔軟なレイアウトシステムに加え、CSS風のスタイル設定と組み込みテーマを備えています。
  • 04実行中のアプリのログやprintの出力を、別のターミナルに表示する開発用コンソールがあります。
  • 05ファジー検索に対応し、独自のコマンドで拡張できるコマンドパレットを内蔵しています。
  • 06アプリの保守性を保つためのテストフレームワークを備えています。

ユースケース

  • 単純なプロンプトよりも豊かな操作性が必要な、社内向けCLIツールの開発。
  • テーブルやリアルタイムで更新されるウィジェットを使った、ターミナル上のダッシュボードや監視ツールの作成。
  • 別途フロントエンドを作らず、textual serveを使ってPython製のユーティリティをWebアプリとして共有。

クイックスタート

  1. 1

    pipでTextualをインストールする

    pip install textual textual-dev
  2. 2

    組み込みのデモを実行して、Textualでできることを確認する

    python -m textual

トピック

よくある質問

textual とは?
シンプルなコンポーネントベースのAPIで、ターミナルとWebのUIを構築できるPythonフレームワーク。 Textualは、インタラクティブなユーザーインターフェースを構築するためのPythonフレームワークです。同じアプリをターミナル上で実行することも、Webブラウザーに配信することもできるため、ターミナル用とWeb用のフロントエンドを別々に作らず、ひとつのコードベースで開発できます。
textual は無料で使えますか?ライセンスは?
textual は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
textual は今もメンテナンスされていますか?
活発にメンテナンス中。textual の最終コミットは 2026年10月9日 です。
textual は何に使えますか?
単純なプロンプトよりも豊かな操作性が必要な、社内向けCLIツールの開発。 テーブルやリアルタイムで更新されるウィジェットを使った、ターミナル上のダッシュボードや監視ツールの作成。 別途フロントエンドを作らず、textual serveを使ってPython製のユーティリティをWebアプリとして共有。
textual のインストール方法は?
pipでTextualをインストールする: pip install textual textual-dev 組み込みのデモを実行して、Textualでできることを確認する: python -m textual
textual はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Textualize/textual

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト