Streamlitとは
StreamlitはPython向けのWebアプリケーションフレームワークです。
Streamlitを使うとフロントエンドの知識ゼロでもデータを可視化するためのWebアプリケーションを簡単に作れます。以下のような機能が特徴です。
- PythonのみでWebアプリケーションを作れる
- 変数を地の文に書くだけで、GUIに出力される(マジックコマンド)
-
st.radio
やst.text_input
のようなAPIを呼び出すとGUIコンポーネントが生成され、ユーザが操作した結果はそのAPIの返り値として取得できる - PandasなどのDataFrameの表示をサポート
st.context
とは
st.context
は1.37.0でリリースされた機能です。
HTTPヘッダやCookieなど、フロントエンドで捌いている情報を取得できます。
1.45.0において、この機能で取得できる情報が強化されています。
st.user
とは
st.user
は1.45.0でリリースされた機能です。st.login
というStreamlitの認証機能でログインしたとき、ログインしたユーザの情報を取得できます。
Streamlit in Snowflakeの場合
Streamlit in Snowflakeでは2025/6/1時点では1.44.1までしか対応していないのですが、st.context
の一部プロパティとst.user
のβ版であるst.experimental_user
が使えます!
試してみましょう。
st.context
で見れる情報は限定的ですが、タイムゾーンが確認できるのはいいですね。
また、st.experimental_user
でユーザのメールアドレスと、Snowflakeのユーザ名・ログイン名が確認できます!
自分でStreamlitをホストしてst.login
したときと比較すると、かなりシンプルです。
{"email":"[email protected]","user_name":"SAKATOKU","login_name":"SAKATOKU"}
st.experimental_user
の情報を参照してデータを見せる見せないを切り替えるのはSnowflake的にはバッドプラクティスですが(SnowflakeのRBACを使いましょう)、例えば
- ログイン名に紐付ける形で保存していたアプリ設定を引っ張ってくるために使う
- アプリの出力をメール送信するときのデフォルト送信先にする
などの使い方はあるかも!
その他の環境では
この2つの機能、どのような環境で実行するかで取得できるものがちょっとづつ違います。この先は自分の目で確かめてほしい!
いくつかの環境で試して追記しようと思います。お楽しみに。
Views: 0