サイトアイコン アマチュア無線局JS2IIU

【Streamlit】テーマをカスタマイズしてアプリの見た目を変更

こんにちは、JS2IIUです。

Streamlitは、Pythonだけで簡単にWebアプリが作れる便利なフレームワークです。しかし、デフォルトの見た目のままだと、少し味気なかったり、アプリの用途やブランドイメージに合わなかったりすることもあります。

そこで今回は、Streamlitの「テーマ」設定を使って、アプリの色やフォントを自由にカスタマイズする方法を紹介します。

1. Streamlitのテーマとは?

Streamlitのテーマ機能を使うと、次のようなアプリの見た目をカスタマイズできます:

🌟 こんなときに便利!

テーマ設定は「config.toml」という設定ファイルを使っておこないます。

2. テーマ設定ファイル config.toml の場所と作成方法

テーマの設定は、通常 ~/.streamlit/config.toml というファイルに記述します。

🔍 デフォルトの保存場所:

OSファイルのパス
WindowsC:\Users\あなたのユーザー名\.streamlit\config.toml
macOS/Linux/Users/あなたのユーザー名/.streamlit/config.toml

📁 手順(ステップバイステップ):

  1. ターミナル(またはコマンドプロンプト)を開く
  2. .streamlit フォルダがなければ作成する
    bash mkdir ~/.streamlit
  3. config.toml ファイルを作成する
    bash nano ~/.streamlit/config.toml

3. config.toml の基本的な記述例と解説

以下は、カスタムテーマの一例です:

TOML
[theme]
base="dark"
primaryColor="#F39C12"
backgroundColor="#1E1E1E"
secondaryBackgroundColor="#2E2E2E"
textColor="#FFFFFF"
font="sans serif"

🧩 各項目の意味:

項目説明
baseベーステーマ("light" または "dark"
primaryColor強調色(ボタンやチェックボックスなど)
backgroundColorアプリ全体の背景色
secondaryBackgroundColorサイドバーなどの背景色
textColorテキストの色
fontフォントスタイル("sans serif""serif""monospace"

デフォルト:

上記のconfig.tomlを適用した場合:

4. ホームディレクトリ以外に config.toml を置く方法(応用編)

通常はホームディレクトリに置く必要がありますが、環境変数 STREAMLIT_CONFIG を使うことで、任意の場所にある config.toml を読み込ませることが可能です

✅ 設定方法(例):

Bash
export STREAMLIT_CONFIG=/path/to/custom_config.toml

Windowsの場合(PowerShell):

Bash
$env:STREAMLIT_CONFIG="C:\path\to\custom_config.toml"

📌 注意点:

5. テーマをアプリに反映させる方法

テーマを変更した後は、アプリを再起動するだけでOKです。

Bash
streamlit run app.py

もし設定が反映されない場合は、ブラウザのキャッシュをクリアしてみてください。

6. st.set_page_config()との違い・併用について

st.set_page_config() は、アプリごとにタイトルやアイコン、レイアウトの幅などを指定できる関数です。

st.set_page_config – Streamlit Docs

例えば次のように記述します:

Bash
import streamlit as st

st.set_page_config(
    page_title="カスタムテーマのサンプル",
    layout="wide",
    initial_sidebar_state="expanded"
)

これはテーマとは別の機能ですが、併用することで、より統一感のあるアプリになります。

7. デプロイやチーム開発時の注意点

✅ ローカルではOK、でもデプロイでは…?

✅ チームメンバーに共有する場合

8. まとめ

Streamlit のテーマ設定を使えば、以下のようにアプリの見た目を柔軟にカスタマイズできます:

✅ ダーク/ライトモードの切り替え
✅ 強調色や背景色、フォントの変更
STREAMLIT_CONFIG を使えば設定ファイルの場所も自由

アプリの目的や利用者に合わせたデザインを施すことで、より親しみやすく、使いやすいアプリに仕上がります。ぜひテーマ設定を活用してみてください!

🔗 参考リンク

最後に書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。

最後まで読んでいただきありがとうございます。

モバイルバージョンを終了