Skip to content

Streamlit

Description:
Pythonスクリプトを数分でインタラクティブなWebアプリケーションに変換できる、データサイエンス・機械学習向けのオープンソースライブラリ。
Updated:
2026/02/05

Streamlit は、データサイエンスや機械学習のプロジェクト、ダッシュボードを迅速に作成するためのオープンソース Python ライブラリです。HTML、CSS、JavaScript の知識がなくても、純粋な Python だけで直感的で強力な Web アプリケーションを構築できることが最大の特徴です。

  • 純粋な Python で構築: フロントエンドのコードを書くことなく、Python スクリプトだけで UI コンポーネント(ボタン、スライダー、サイドバーなど)を配置可能。
  • インタラクティブなウィジェット: ユーザーの操作に応じてアプリケーションが自動的に再実行され、結果がリアルタイムで反映。
  • 豊富な可視化ライブラリとの連携: Matplotlib, Seaborn, Plotly, Altair, Bokeh, Vega-Lite, deck.gl などの主要な可視化ツールを公式にサポート。
  • データキャッシュ機能: @st.cache_data@st.cache_resource デコレータにより、重い計算やデータ読み込みを効率化。
  • マルチページ対応: 複数の .py ファイルを組み合わせて、大規模なマルチページ・アプリケーションを構成可能。
  • 簡単なデプロイ: Streamlit Community Cloud を利用すれば、GitHub リポジトリから 1 クリックで世界中に公開可能。
  • データダッシュボード: リアルタイムデータの可視化や KPI のモニタリング。
  • 機械学習モデルのデモ: 学習済みモデルの推論結果をブラウザ上で簡単に試せるインターフェースの構築。
  • データ探索ツール: Pandas データフレームを読み込み、フィルタリングやソートを直感的に行えるツールの作成。
  • 社内用プロトタイプ: 新しいアルゴリズムやデータの知見をチーム内で素早く共有するためのツール作成。

Python 環境が必要です(Python 3.8 以上を推奨)。

pip install streamlit

インストール後、公式のデモアプリを起動して動作を確認できます。

streamlit hello

app.py という名前で以下のコードを作成します。

import streamlit as st
import pandas as pd
import numpy as np

st.title('マイ・データアプリ')

# テキストの表示
st.write("Streamlit へようこそ!")

# スライダーウィジェット
x = st.slider('値を選択してください', 0, 100, 50)
st.write(f"選択された値の 2 乗は {x * x} です。")

# チャット・プロット
chart_data = pd.DataFrame(
     np.random.randn(20, 3),
     columns=['a', 'b', 'c'])

st.line_chart(chart_data)

ターミナルで以下のコマンドを実行すると、ブラウザが自動的に開きアプリが表示されます。

streamlit run app.py