😎

streamlitの調査

に公開

streamlit でできること

ログイン認証

データベースと接続

ルーティング

secrets 管理

ステート管理

3rd party 製のコンポーネント使う

HTTPS として hosting

Cloud service もある

paging

調査してみて感想

  • 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

  1. Github の repository を作成
    • package 管理は poetry を使う
  2. 以下の記事の poetry の Dockerfile を repository のルートに置く
  3. 以下の記事を参考に Cloud Run のコンソールでポチポチしながら deploy 設定
  4. 最後にドメイン設定

Discussion