子育てしながらお仕事する全人類を尊敬します。ko_ya346です。
最近streamlitで遊んでいたので、やったことをまとめていきます。
streamlitとは?
とても簡単にwebアプリを作ることが出来るフレームワーク(という認識)。
pythonのwebアプリケーションのフレームワークだとDjangoやflaskが有名ですが、それらに比べて簡単にデプロイまで行うことが出来るので、主にデータ分析者向けのフレームワークらしいです。
以前flaskを触ってみたけどweb関連の知識がなかったので苦戦した記憶があります。。。
んで、何を作ったの?
bitcoinのOHLCデータからローソク足グラフを表示するやつを作りました。
グラフに表示する期間とローソク足期間を任意に変更できるようにしました。
https://ko-ya346-prac-streamlit-view-bitcoin-kb7gf5.streamlitapp.com/
やったこと
公式docとチュートリアルを読む
公式は正義。英語に屈してはいけない。
bitcoinデータをgoogle driveに保存して共有化する
データはこれ。
google drive上のファイルを読み込むにはURLを少し変える必要があります。
また、ファイルサイズが大きいとウイルススキャン警告が出てうまく読み込めません。その場合はGCPでgoogle driveのAPI Keyを作成し、URLに付け加える必要があります。
ウイルススキャン警告を回避する方法はこちらを参照しました。ほかにも方法があるみたいです(試してはいない) 。
コード書いてgithubに上げる
こんな感じ。
streamlit cloudを使ってデプロイ
ここが感動ポイントだったんですが、streamlit cloudを利用することでgithubのリポジトリをそのままデプロイすることが出来るんです!!!
streamlit cloudにgithubアカウントでログインしてリポジトリを指定するだけで終わり!
参考URL↓
sakizo-blog.com
その他つまづきポイント
外部パッケージを使用する場合はrequirements.txt
にパッケージ名を記載すれば使用できます。
streamlit cloud上でシークレット情報を使いたいときは、Streamlitのシークレット機能を使うことで安全に使用できます。クラウド、ローカルともにソースコードを変える必要がないので便利ですね。
参考↓
感想
想像以上に簡単にwebアプリを作成できたことに感動しています。何かコーディングで制作物を作る、という経験はこれまで得てきてないので、喜びもひとしおです。ありがとうstreamlit。。。
まだまだ機能はたくさんあるみたいなので、使い倒していきたいなと思いました。