この記事はKDDI Engineer & Designer Advent Calendar 2023の7日目として投稿されたものです。
このアドベントカレンダーは「KDDIのみんなでTechな記事を書こう!お仕事に関係しても関係なくてもOK!」という企画となっています。
ちなみに、本記事は私自身のお仕事とは関係ないものです。
Streamlitとは
StreamlitはPython向けのWebアプリケーションフレームワークです。
Streamlitを使うとフロントエンドの知識ゼロでもデータを可視化するためのWebアプリケーションを簡単に作れます。以下のような機能が特徴。
- 変数を地の文に書くだけで、GUIに出力される(マジックコマンド)
-
st.radio
やst.text_input
のようなWidget APIを呼び出すだけで、GUIコンポーネントが生成される
本記事のサマリ
ハンバーガーメニューに「Record a screencast」が出てこないときは以下を確認しよう
-
config.toml
でclient.toolbarMode
を設定しているか - ブラウザでサイトに適切な権限が許可されているか
問題
Streamlitでは画面を録画する機能がビルトインされているのですが、ひさしぶりに使おうとしたらそもそもハンバーガーメニューにそのメニューアイテムが出てこないので困りました。
参考:Streamlitで画面を録画する
設定ファイルの確認
1.20.0あたりから1.22.0にかけてハンバーガーメニューのメニューアイテムが整理されました。
Changelogによると、
Customize the visibility of items in the toolbar, options menu, and the settings dialog using the client.toolbarMode config option (#6174).
だそうです。
.streamlit/config.toml
にdeveloperオプションを設定しましょう。
.streamlit/config.toml
がそもそも存在しない場合は新規作成しましょう。
[client]
toolbarMode = "developer"
サイトの権限の確認
以下の画像のような状態だとブラウザが画面の録画を許可してくれていないので、Streamlitがハンバーガーメニューからメニューアイテムを消してしまうようです。
ブラウザによっては、HTTPで通信しているサイトはlocalhostを除いて権限を設定できないようなので注意しましょう。
おわりに
Streamlitはアップデートの頻度がそこそこ高いので、たまにこういうことがあります。
Changelogsをチェックするようにしましょう!
本記事について
本記事はアウトプットガチ勢が作った高速記事作成フレームワークを参考にしています。
高速アウトプットを身に着けたい!