#author("2023-01-12T23:48:16+09:00;2023-01-12T23:44:39+09:00","default:inoue.ko","inoue.ko") #author("2023-01-12T23:50:12+09:00;2023-01-12T23:44:39+09:00","default:inoue.ko","inoue.ko") *Streamlit https://docs.streamlit.io/ ~ Streamlit は、Webアプリ開発でも特にデータサイエンス領域で開発する際に利用されるフレームワークです。Pythonのフレームワークには、Django、Flask、Bottle などもありますが、Streamlit は、コードが直観的で分かりやすく開発が簡単、またデプロイ(ファイルをサーバーに配置してシステムとして稼働できるようにする)のためのサービスが整っているなど、効率のよい体験が可能です。 ~ ~ **概要 ***基本情報 -公式サイト --Documentation:https://docs.streamlit.io/ --Streamlit Cloud:https://streamlit.io/cloud -API Reference:https://docs.streamlit.io/library/api-reference --Text elements:https://docs.streamlit.io/library/api-reference/text --Data display elements:https://docs.streamlit.io/library/api-reference/data --Input widgets:https://docs.streamlit.io/library/api-reference/widgets --Media elements:https://docs.streamlit.io/library/api-reference/media --Chart elements:Layouts and Containers ~ ***要件 //-[[GoogleColaboratory]]で開発する場合 //--ノートのはじめで、Streamlit をインストールすれば使えます。 // !pip install streamlit -ローカルPCで開発 --Python のコードが書けるエディタ([[VisualStudioCode]]推奨) --Python がインストール済み --PIP がインストール済み --Streamlit のインストール $ pip install streamlit -デプロイ(Web公開)のために --GitHub のアカウント(Pythonのコードとデータ等を置くリポジトリ) --Streamlit Cloud のアカウント(Githubのアカウントと連携可能) ~ ~ **Webアプリの開発 Streamlit を使った開発は、Python コードの記載順にページに要素が埋め込まれる・・というシンプルでわかりやすい作業になります。 テキスト、画像、入力フォームなどの一般的なページ要素だけでなく、 [[Pandas]] のデータフレームや、可視化ライブラリを用いたグラフなども、表示したい順に上から書く・・という作業になります。見出し、箇条書きなどの記事の記載については、Wikiでお馴染みの__[[Markdown]]__記法も使えます。 ~ ***開発ディレクトリの準備 -任意の場所に任意の名称のフォルダを作成します -sample.py などの名前で空のファイルを作ります(ここにコードを書く) -画像やCSVファイルなどを使う場合は、その置き場として data などのディレクトリを別途作っておくとよいでしょう。 ~ ***サンプルコード sample.py に以下のコードを書いてみて下さい。コードの冒頭で、streamlit をインポートするだけで、フレームワークが利用可能になります。 import streamlit as st st.title("Sample Application") st.write("Streamlit Sample") st.markdown("# 大見出し") st.markdown("## 中見出し") ~ ***ローカルで実行 -ターミナルを開いて、開発ディレクトリに移動します。 > え? という方は、__[[Terminal]]__ をご覧ください。 -以下のコマンドをターミナルから入力します $ streamlit run sample.py #image(StreamlitSample.jpg,right,20%) -以下のような表示が出て、ローカルホスト(あなたのPC)上のサーバーにアプリが公開されます。同時に自動的にブラウザが立ち上がるようです。 You can now view your Streamlit app in your browser. Local URL: http://localhost:8501 Network URL: http://XXX.XXX.XXX.XXX:8501 ~ ~ **公開 Webアプリとして公開するは、一般にサーバーが必要となりますが Streamlit にはStreamlit Cloud というサービスがあって、とりあえず無料で公開を試すことができます。ここでは、GitHub にリポジトリを作ってファイルを置くとともに、Streamlit Cloud から公開する手順を紹介します。 ~ ***Webアプリの構成ファイルを GitHub に置く -__[[GitHub]]__に新しいリポジトリを作って、そこに sample.py 他の関連ファイルをまとめてアップします。 -以下、リポジトリ StreamlitSample に上記の sample.py を置いた例です。 https://github.com/koichi-inoue/StreamlitSample ~ ***Streamlit Cloud を利用してアプリを公開 -以下から、Streamlit Cloudにサインインします。 --https://streamlit.io/cloud --GitHub 連携がよいかと・・・ #image(StreamlitCloud01.jpg,right,30%) -登録が完了すると、右のような画面になります。 -管理画面の右上にあるNew appを選択します。 #clear #image(StreamlitCloud02.jpg,right,30%) -リポジトリ名、ブランチ名、アプリのファイル名を入力して [ Deploy! ] をクリック。 #clear -しばらくすると、アプリが公開されます。 --参考:https://koichi-inoue-streamlitsample-sample-a31ty5.streamlit.app/ ~ ***関連リンク Web上に様々な事例が紹介されています。 __[[Google: Streamlit サンプル]]__ ~ ~ ~