Python streamlit Webアプリ開発

Python

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アプリを作成してデプロイの方法を解説したいと思います

コメント