下記の和訳です。
https://docs.streamlit.io/en/latest/main_concepts.html
アプリを作成する
実行方法
streamlit run your_script.py [-- script args]
上記のようにスクリプトを実行するとすぐにローカルの Streamlit サーバーが起動し、アプリがデフォルトのウェブブラウザの新しいタブで開きます。アプリはあなたのキャンバスであり、チャート、テキスト、ウィジェット、表などを描く場所です。
アプリに何を描くかはあなた次第です。例えば、st.text は生のテキストをアプリに書き込み、st.line_chart は折れ線グラフを描画します。利用可能なすべてのコマンドについては、API ドキュメントを参照してください。
開発の流れ
アプリをアップデートするたびに、ソースファイルを保存してください。保存すると、Streamlit は変更があるかどうかを検出し、アプリを再実行するかどうかを尋ねてきます。画面右上の「常に再実行」を選択すると、ソースコードを変更するたびにアプリが自動的に更新されます。
データの流れ
Streamlitのアーキテクチャでは、プレーンなPythonスクリプトを書くのと同じ方法でアプリを書くことができます。画面上で何かを更新しなければならないときはいつでも、StreamlitはPythonスクリプト全体を上から下へと再実行します。
これは2つの状況で起こる可能性があります。
- アプリのソースコードを変更したとき。
- ユーザーがアプリ内のウィジェットを操作するとき。
データの表示とスタイル
Streamlitアプリでデータ(テーブル、配列、データフレーム)を表示する方法はいくつかあります。はじめに、magic と st.write() を紹介しましたが、これはテキストからテーブルまで何でも書き込めるものです。では、データを可視化するために設計されたメソッドを見てみましょう。
なぜいつもst.write()を使わないのか?理由はいくつかあります。
Magic と st.write() は、渡されたデータのタイプを検査して、アプリでそれを最適にレンダリングする方法を決定します。別の方法で描画したい場合もあります。例えば、データフレームをインタラクティブなテーブルとして描画する代わりに、st.table(df)を使用して静的なテーブルとして描画したい場合があります。
2つ目の理由は、他のメソッドは、データを追加したり置き換えたりして、使用したり変更したりできるオブジェクトを返すからです。
最後に、より特殊な Streamlit メソッドを使う場合は、追加の引数を渡して動作をカスタマイズすることができます。
例えば、データフレームを作成し、Pandas Styler オブジェクトを使って書式を変更してみましょう。この例では、Numpy を使ってランダムサンプルを生成し、st.dataframe() メソッドを使ってインタラクティブなテーブルを描画します。