😎
streamlitの調査
streamlitでできること
ログイン認証
- 通常のログイン機能
- auth0(SSO)
- firebase (SSOできるはず)
データベースと接続
ルーティング
secrets管理
ステート管理
3rd party製のコンポーネント使う
- Components - Streamlit Docs
- menubar
- アノテーションツールも作れそう
HTTPSとしてhosting
Cloud serviceもある
paging
- streamlit-aggridでdataframeを可視化 | kajiblo ITブログ
- Streamlit: Search filtering and pagination widget | by Emily Nguyen | Streamlit | Jul, 2023 | Medium
- Paginating dataframes with Streamlit | by Carlos D Serrano | Streamlit | Medium
- Answer: A simple paginator in Streamlit
調査してみて感想
- streamlit、できることが予想以上に多かった。
- 単にグラフを可視化する程度のものだと思ってた
- ほとんどの管理画面、streamlitで実装できてしまうのでは?
- 入力UIもあるし
- DBとの接続もできる
- webアプリ作る環境が整っている
- プロトタイプはpython一強になるのでは?
- AI化が進むと、データを扱いやすい言語が重要になる(データが差別化要因になるから)
- ウェブアプリもpythonだけで実装したい
- プロトタイプの後に、他の言語に移行すればいい
実際に触ってみて感想
管理画面作るのはやっぱりしんどいかも
- かゆいところに手が届かない(自作しないといけない雰囲気)
- dataframeをpaging + 1列追加して編集ボタンを置く、とか
- よくあるけど、このAPIはない。componentもなさそう
- viewとロジックが混在するのでうまく書かないとどういうviewになるのかがパッと見ではわからなくなる
- チーム開発しにくそう
- 普通にfront書いたほうが早いとか思いそう
Cloud serviceはあまり使えないかも
- 独自ドメイン設定できない
- codeがpublicでかつドメインが重要じゃないものがそんなにない気がする
- Cloud Runで簡単にhostingするほうが良さそう
Cloud Runで独自ドメインにstreamlitをdeploy
- Githubのrepositoryを作成
- package管理はpoetryを使う
- 以下の記事のpoetryのDockerfileをrepositoryのルートに置く
- 以下の記事を参考にCloud Runのコンソールでポチポチしながらdeploy設定
- クイックスタート: Git リポジトリから Cloud Run にデプロイする | Cloud Run のドキュメント | Google Cloud
- ドメイン設定の制約上、リージョンは
asia-northeast1
にする
- 最後にドメイン設定
Discussion