木曜日, 6月 5, 2025
- Advertisment -
ホームニューステックニュースStreamlitの新機能 st.context と st.user は何を取得できるのか #Snowflake

Streamlitの新機能 st.context と st.user は何を取得できるのか #Snowflake



Streamlitの新機能 st.context と st.user は何を取得できるのか #Snowflake

Streamlitとは

StreamlitはPython向けのWebアプリケーションフレームワークです。

Streamlitを使うとフロントエンドの知識ゼロでもデータを可視化するためのWebアプリケーションを簡単に作れます。以下のような機能が特徴です。

  • PythonのみでWebアプリケーションを作れる
  • 変数を地の文に書くだけで、GUIに出力される(マジックコマンド)
  • st.radiost.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が使えます!
試してみましょう。

Screenshot

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つの機能、どのような環境で実行するかで取得できるものがちょっとづつ違います。
この先は自分の目で確かめてほしい!
いくつかの環境で試して追記しようと思います。お楽しみに。





Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -