Streamlitの設定ファイルは、.streamlit/config.toml
という名前で作成します。
このファイルには、Streamlitアプリケーションの動作を制御するための設定を記述します。
以下は、一般的な設定項目とおすすめの設定例です。
# .streamlit/config.toml
[server]
headless = true
port = 8501
enableCORS = false
enableWebsocketCompression = true
headless = false
runOnSave = true
[browser]
gatherUsageStats = false
[theme]
base = "dark"
primaryColor = "#1e90ff"
backgroundColor = "#0e1117"
secondaryBackgroundColor = "#262730"
textColor = "#ffffff"
font = "sans serif"
[logger]
level = "error"
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
dateFormat = "%Y-%m-%d %H:%M:%S"
serverセクション
headless
サーバーをヘッドレスモードで起動するかどうか。一般的に、デプロイ時にはtrue
に設定します。port
Streamlitアプリがリッスンするポート番号。デフォルトは8501
です。enableCORS
クロスオリジンリソース共有を有効にするかどうか。デプロイ環境ではfalse
に設定することが多いです。enableWebsocketCompression
WebSocket圧縮を有効にするかどうか。trueに設定することで、パフォーマンス向上が期待できます。- runOnSave
true
にすると、Streamlitはソースコードファイルが保存されるたびに自動的に再実行されます。これにより、ファイルの変更が即時に反映されるようになります。
ヘッドレスモードとは、ユーザーインターフェースを表示せずに、バックグラウンドでプログラムを実行するモードのことです。これにより、画面上にウィンドウやGUIを表示せずにプログラムを動作させることができます。
サーバー上で実行する場合、ディスプレイやGUIが不要であるため、ヘッドレスモードが適しています。リソースを節約できるため、効率的に動作します。
自動化スクリプトやCI/CDパイプラインで使用する場合、ユーザーインターフェースが不要であるため、ヘッドレスモードが便利です。
自動テストを実行する際に、ユーザーインターフェースを表示せずにテストを行えるため、テストの効率が向上します。
browserセクション
gatherUsageStats
使用統計を収集してStreamlitのサーバーに送信するかどうかを制御します。デフォルトでは、Streamlitは製品改善のために使用統計を収集していますが、false
に設定することでオプトアウトすることが可能です。
themeセクション
base
テーマのベース。"light"
または"dark"
が選べます。primaryColor
プライマリカラー。アプリの主要な色を指定します。backgroundColor
背景色。secondaryBackgroundColor
セカンダリ背景色。ウィジェットなどの背景色に使用されます。textColor
テキストの色。font
フォント。"sans serif"
や"monospace"
などが選べます。
loggerセクション
level
ログレベル。"debug"
,"info"
,"warning"
,"error"
,"critical"
のいずれかを設定できます。デプロイ環境では一般的に"error"
に設定します。format
ログメッセージのフォーマット。dateFormat
日付のフォーマット。
これらの設定は、Streamlitアプリケーションの動作や外観をカスタマイズするのに役立ちます。