Squadbase
Squadbase Docs

Streamlit

Streamlitを使用してSquadbaseの機能を活用する方法を学びます。

Streamlitは、シンプルなPythonコードを使用して直感的なWebアプリケーションを迅速に開発できるオープンソースライブラリで、LLM APIとの統合により業務効率を高める社内AIアプリケーションに適しています。

SquadbaseはStreamlitアプリケーションのデリバリーにおいて、以下のような機能・運用を実現します。

  • 招待制のクラウド環境へのデプロイ
  • 組み込みのユーザー認証
  • ユーザーアナリティクス
  • ログモニタリング
  • ユーザーからのフィードバック収集

サンプル

Streamlitを使用して構築されたアプリケーションをチェックしてみてください。Squadbaseを使えば、このようなアプリをセキュアなクラウド環境にデプロイし、組織の中で安全に運用することができます。

リソース

Streamlitでのアプリ開発に役立つリソースを紹介します

Streamlit Docs

docs.streamlit.io

Streamlit公式ドキュメント

Streamlitの公式ドキュメントです。

Streamlitでユーザー認証を実現する方法3選 | Squadbase Blog

www.squadbase.dev

Streamlitでユーザー認証を実現する方法3選 | Squadbase Blog

PythonでインタラクティブなWebアプリを開発することができ、社内向けの業務アプリ用途などで人気のStreamlit。本番運用のために必須となるユーザー認証の実現方法について、代表的な方法3つを詳しく比較します。

Streamlit vs Gradio in 2025: AIアプリフレームワークとしての比較 | Squadbase Blog

www.squadbase.dev

Streamlit vs Gradio in 2025: AIアプリフレームワークとしての比較 | Squadbase Blog

Python だけで AI アプリをウェブ公開できる Streamlit と Gradio は、2025 年のいま最も注目される軽量フレームワークです。 本記事では、UI カスタマイズと運用耐性を武器にする Streamlitと、長時間推論・迅速共有に強い Gradio の設計思想を整理し、ユースケース別に最適な選択を示します。

Streamlit vs Dash in 2025: データアプリフレームワークとしての比較 | Squadbase Blog

www.squadbase.dev

Streamlit vs Dash in 2025: データアプリフレームワークとしての比較 | Squadbase Blog

2025 年現在、Streamlit と Dash は成熟した二大フレームワークとして、それぞれ異なる開発スタイルと運用規模に応えてきました。本稿では、その設計思想と機能面の違いを整理し、選定のヒントを提供します。

Streamlitアプリを新規に作成する

本項では、Squadbaseチームのおすすめとして、uvを用いてStreamlitアプリを新規に作成する方法を紹介します。

まず、プロジェクトを初期化して、依存パッケージをインストールします。

Terminal
uv init my-streamlit-app
cd my-streamlit-app
Terminal
uv add streamlit

続いて、Streamlitプロジェクトを作成します。

Terminal
streamlit init

すると、以下のようなファイルが作成されます。

streamlit_app.py
import streamlit as st
 
st.title("🎈 My new app")
st.write(
    "Let's start building! For help and inspiration, head over to [docs.streamlit.io](https://docs.streamlit.io/)."
)

このStreamlitアプリを実行するには、以下のコマンドを実行します。

Terminal
streamlit run streamlit_app.py

これで、Streamlitアプリを開発する準備が整いました!🎉

Streamlitアプリに関する詳しい情報は、Streamlit公式ドキュメント をご覧ください。

Github連携を用いてデプロイする

squadbase.ymlを作成する

プロジェクトのコードベースのルートに squadbase.yml を作成します。たとえば、app.pyとpy_project.tomlがある場合は、以下のようになります。

app.py
pyproject.toml
squadbase.yml

例として、最もシンプルな squadbase.yml の内容は以下の通りです。

squadbase.yml
# squadbase.yml
version: '1'
 
build:
  framework: streamlit
  runtime: python3.11
  package_manager: poetry
  entrypoint: app.py

squadbase.ymlのカスタマイズについては、こちらをご覧ください。

GithubリポジトリをSquadbaseにインポートする

Squadbaseのダッシュボードのホーム画面から、Githubリポジトリをインポートします。インポートが完了すると、自動的にデプロイが開始されます。

プッシュしてデプロイ

アプリに変更を加えて、Githubリポジトリにプッシュしてデプロイします。プッシュが完了すると、自動的に新しいバージョンのデプロイが開始されます。

Squadbaseの機能を活用する

Squadbaseはデプロイメントだけでなく、組織向けアプリの開発・運用に便利な機能を提供しています。

ユーザー認証とメンバー管理

Squadbaseにデプロイされたアプリに、Squadbase上のチームメンバーがアクセスすると自動的にユーザー認証が行われます。アプリの公開設定がパブリックでない場合、この認証を通過したユーザーのみがアプリにアクセスできます。また、アプリへのアクセスを持つユーザーには、「プロジェクトロール」という設定値を与えることができます。

StreamlitのPythonコードからも、プロジェクトロールを含むユーザー情報にアクセスすることができ、アプリの挙動をユーザーのロールに応じてカスタマイズすることができます。

Streamlit上からSquadbaseのユーザー情報を取得するには、以下のように実装してください。

# app.py
import streamlit as st
import squadbase.streamlit as sq
 
user_info = sq.auth.get_user(mock_data={})
st.write(f"Hello, {user_info['firstName']} {user_info['lastName']}")

ユーザーアナリティクス

Squadbaseは、ユーザーのアクセスログを収集し、ユーザーアナリティクスを提供します。SquadbaseにデプロイしたStreamlitアプリを、チームメンバーがどのくらい利用しているのかを把握することができます。

Squadbaseの組み込みのユーザーアナリティクスを利用するために、コードを追加する必要はありません。Streamlitアプリをデプロイし、ダッシュボードからすぐにアナリティクスを確認することができます。

User Analytics

ログモニタリング

Squadbaseは、デプロイされたアプリのログを収集し、ログモニタリングを提供します。ログモニタリングを利用することで、アプリのデプロイやデプロイのバージョンごとのログを確認することができます。

Log Monitoring

フィードバック

Squadbase上にデプロイされたアプリには、自動でフィードバック用のコメントボックスが追加されます。チームメンバーはこのコメントボックスから、アプリのフィードバックを送信することができます。

Feedback