Pythonの Streamlit(ストリームリット) は、データアプリケーションやインタラクティブなWebアプリを簡単に作成できるライブラリです
とてもシンプルな文法で、機械学習やデータ分析の可視化をすぐにWebブラウザ上で表示できます
Streamlit Cloud(旧称:Streamlit Sharing) という、Streamlitで作成したアプリをGithubと連携して無料でデプロイできるのホスティングサービスもありますのでぜひ活用してください
1.Streamlitの特徴
特徴 | |
---|---|
超簡単に使える | Pythonだけで書ける。HTMLやJavaScriptの知識は不要 |
可視化に強い | matplotlib、Plotly、Altairなどと簡単に連携可能 |
インタラクティブ | スライダー、ボタン、テキスト入力などのウィジェットが使える |
開発スピードが速い | コードを書いて保存するだけで、すぐにWebアプリが更新される |
2.インストール方法
pip install streamlit
3.簡単なサンプルコード
以下のようなサンプルアプリを作成します
import streamlit as st
st.title("こんにちは、Streamlit!")
st.write("これは初めてのStreamlitアプリです。")
name = st.text_input("あなたの名前は?")
if name:
st.write(f"こんにちは、{name}さん!")
number = st.slider("数字を選んでください", 0, 100)
st.write(f"選んだ数字は: {number}")
ファイル名をhello.py として保存して 、以下のコマンドで実行
streamlit run hello.py
すると、Webブラウザが開いてインタラクティブなアプリが表示されます
4.よく使うウィジェット
これらのウィジェットを並べていくだけで、HTMLを書かずにWebアプリを作成することができます
ウィジェットのコード | 機能 |
---|---|
st.text_input() | テキスト入力 |
st.number_input() | 数字入力 |
st.slider() | スライダーで選択 |
st.button() | ボタン |
st.checkbox() | チェックボックス |
st.selectbox() | プルダウンメニュー |
📈 グラフ表示(例:matplotlib)
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
st.pyplot(fig)
5.Streamlitの主な用途
- データ可視化ダッシュボード
- 機械学習モデルのデモ
- 社内向け業務ツール
- 簡単な入力フォーム・計算ツール
6.公開・共有も簡単!
StreamlitはStreamlit Cloudを使えば無料でアプリをデプロイできます(GitHub連携で自動デプロイも可能)
次回の記事で、簡単なWebアプリを作成してデプロイの方法を解説したいと思います
コメント