このプロジェクトについて

Richは、ターミナルにおけるリッチなテキスト表示と美しいフォーマットのためのPythonライブラリです。ターミナル出力に色やスタイルを簡単に追加できるAPIを提供し、きれいな表、プログレスバー、Markdown、シンタックスハイライトされたソースコード、トレースバックなどをすぐに利用できます。 互換性: RichはLinux、macOS、Windowsで動作します。True colorと絵文字は新しいWindows Terminalで利用でき、従来のターミナルでは16色に制限されます。Python 3.8以降が必要で、追加設定なしでJupyter notebookでも動作します。 インストール: `python -m pip install rich`でインストールし、`python -m rich`で出力を試せます。 Rich print: `rich.print`をインポートすると、組み込みの`print`と同じシグネチャに加え、`[bold magenta]World[/bold magenta]`のようなマークアップや絵文字名をサポートするバージョンが利用できます。また、`pretty.install()`を使ってPython REPLにRichを組み込み、データ構造をきれいに表示・ハイライトすることもできます。 Console API: `Console`オブジェクトは組み込みの`print`に似た`print`メソッドを提供し、ワードラップ、スタイル指定のキーワード引数、BBCode風のコンソールマークアップに対応します。また、時刻と場所のカラムを追加する`log`メソッドも備え、コレクションを整形表示でき、ローカル変数を表示する`log_locals`オプションもあります。Pythonのloggingモジュール用の組み込みログハンドラも用意されています。 組み込みのレンダリング可能オブジェクトには以下が含まれます: - 絵文字: コロンで囲んだ名前で絵文字を挿入できます。例: `:smiley:`。 - 表: 枠線、スタイル、セルの配置を柔軟に設定でき、ターミナル幅に合わせてカラム幅を調整できるUnicode表。 - プログレスバー: `track`を使ったちらつきのない複数プログレスバー。パーセント、ファイルサイズ、速度、残り時間などのカラムをカスタム設定可能。 - ステータス: `status`コンテキストマネージャによるスピナーアニメーションとメッセージ。利用可能なスピナーは`python -m rich.spinner`で確認できます。 - ツリー: ガイドライン付きで階層データをレンダリングでき、ファイル構造の表示に適しています。`python -m rich.tree`でデモを確認できます。 - カラム: ディレクトリ一覧のように、等幅または最適な幅で整然とコンテンツをカラム表示できます。 - Markdown: `Markdown`クラスを使ってMarkdown形式をターミナルにレンダリングできます。 - シンタックスハイライト: `Syntax`オブジェクトを通じてPygmentsを利用し、テーマや行番号表示に対応します。 - トレースバック: 標準のPythonトレースバックより多くのコードを表示し、より読みやすい美しいトレースバックを提供します。デフォルトハンドラとして設定することも可能です。 Richのレンダリング可能オブジェクトはConsole Protocol上に構築されており、ユーザーが独自のRichコンテンツを実装できます。READMEで紹介されている関連プロジェクトには、シンタックスハイライト、Markdownレンダリング、CSVの表表示を行うコマンドラインアプリケーションのRich CLIと、高度なターミナルユーザーインターフェース構築のための姉妹プロジェクトTextualがあります。