目次
- はじめに
第1章 Hello World
1.1 目的
- アプリケーションの仕様
- 紹介するStreamlitの機能
- コード
1.2 外部データについて
1.3 外部ライブラリについて
1.4 Streamlitの導入
- インストール
- ライセンス
- サーバ起動
- 初回の挨拶
- 利用状況の収集
- サーバへのアクセス
- gio エラー
- ファイアウォールの設定
1.5 サーバの設定
- 設定の変更方法
- 設定の確認
- 利用状況収集をオフ
- ブラウザ起動をオフ
- バインドアドレスとポート番号
- HTTPS アクセス
- マジックの抑制
1.6 Hello Worldアプリケーション
- コード
- インポート
- タイトル表示
- スクリプトの実行
- ビジー
- 降雪アニメーションの追加
- 章節見出しコマンド
- テキストフォーマットコマンド
1.7 Streamlit コミュニティクラウド
- Streamlit コミュニティクラウドとは
- アプリケーションの種類と制限
- 2 つのアカウント
- Streamlit クラウドアカウントの作成
- GitHub アカウントとの連携
- Streamlit へのログイン
1.8 クラウドへのアプリケーションの配置
- 作成する前に
- 依存するサードパーティパッケージ
- 作成
- アクセス許可
- 古いアプリケーション
- アプリケーションの削除
- モニタリング
1.9 付録:風船アニメーションアプリケーション
- 風船アニメーション
- コード
- コードの表示と実行
第2章 チートシート
2.1 目的
- アプリケーションの仕様
- 紹介するStreamlitの機能
- コード
2.2 外部データについて
2.3 外部ライブラリについて
2.4 チートシートアプリケーション
- コード
- マークダウン
- HTML
- マジック
- 一般出力コマンド
- ページ設定
- ロゴマークの表示
- 段組みコンテナ
- 段組みコンテナのバリエーション
- with文
- 詳細折り畳みコンテナ
2.5 付録:マルチリンガルアプリケーション
- 言語の切り替え
- コード
- 実行例
- クエリ文字列の解析
- リクエストヘッダの解析
- Accept-Language
- acceptlang
第3章 テキスト分析
3.1 目的
- アプリケーションの仕様
- 青空文庫テキストのダウンロードと整形
- ワードクラウド
- 感情分析
- キャッシング
- 紹介するStreamlit の機能
- コード
3.2 外部データについて
- 青空文庫
- IPA 品詞リスト
- IPA フォント
- 感情分析モデル
3.3 外部ライブラリについて
- Requests
- Janome
- WordCloud
- Pillow
- Transformers
3.4 青空文庫ダウンローダー
- 手順
- コード
- 実行例
- データダウンロード
- Zipからのテキスト抽出
- 余分な情報の除去
- 文単位の分割
3.5 ワードクラウド生成器
- 手順
- コード
- 時間測定
- 実行例
- 単語分割
- 指定の品詞の単語のみを抽出
- 頻度辞書の作成
- ワードクラウド画像生成
- IPA品詞リスト
3.6 感情分析器
- 手順
- コード
- 実行例
3.7 テキスト分析アプリケーション
- コード
- キャッシング
- st.cache_data とst.cache_resource
- タブコンテナ
- テキスト入力フィールド
- イベントとプログラムの流れ
- パスワード入力フィールド
- フィールド幅の調整
- エラーメッセージ表示
- 例外メッセージ表示
- 処理の停止
- レベルに応じたメッセージの表示
- 項目選択メニュー
- 画像の表示
- チェックボックス
- 要素を1 つしか収容しないコンテナ
- プログレスバー
- 棒グラフ
3.8 付録:スライドショーアプリケーション
- スライドショー
- コード
第4章 チャットボット
4.1 目的
- アプリケーションの仕様
- ルビ振りボット
- セラピーボット
- 通訳ボット
- 紹介するStreamlitの機能
- コード
4.2 外部データについて
4.3 外部ライブラリについて
- KAKASI
- イライザ
- Transformers
4.4 ルビ振りボット
- 手順
- コード
- 実行例
- ルビ振り
4.5 セラピーボット
- コード
- 実行例
4.6 通訳ボット
- コード
- 実行例
4.7 チャットボットアプリケーション
- コード
- サイドバーコンテナ
- プルダウンメニュー
- 状態管理
- ボットの選択
- チャット入力フィールド
- チャット入力フィールドの配置
- 履歴の表示
- チャット専用コンテナ
第5章 画像処理
5.1 目的
- アプリケーションの仕様
- ファイルアップロード
- フォーマット変換とダウンロード
- リサイズ
- ポスタリゼーション
- 紹介するStreamlit の機能
- コード
5.2 外部データについて
5.3 外部ライブラリについて
- Pillow
5.4 メインページ
- ファイルの構成
- アクセスURL
- コード
- ページの構成
5.5 画像のアップロード
- 機能
- コード
- ファイルのアップロード
- 画像のダウンロード
- ウィジェットのkey オプション
- イベントコールバック
5.6 画像の変換とダウンロード
- 機能
- コード
- 水平線
- ポップオーバー
- ポップオーバーと詳細折り畳み
- ラジオボタン
- 画像フォーマットの変換
- ダウンロードボタン
5.7 リサイズ
- 機能
- コード
- スライダー
- 画像へのアクセス
- リサイズ
5.8 ポスタリゼーション
- 機能
- コード
- 数値入力フィールド
- 最頻値フィルタ
- 減色
5.9 付録:マルチページアプリケーション
- マルチページ(データ共有なし)
- ファイル名の構造
- LaTeX
- JSON
- メトリック
第6章 カメラ映像処理
6.1 目的
- アプリケーションの仕様
- 画像キャプチャ
- 紹介するStreamlit の機能
- コード
6.2 外部データについて
- SSD モデル
- Haar 特徴検出器
- カメラについて
6.3 外部ライブラリについて
- OpenCV
- NumPy
6.4 画像変換
- 機能
- コード
- バイト列をnp.ndarray 画像に変換
- UploadedFile からnp.ndarray 画像に変換
- URL からnp.ndarray 画像に変換
- サイズ制限
6.5 顔検出
- コード
- モデルファイルを読み込む
- 入力画像の準備
- 計算開始
- 検出結果の解釈
6.6 顔領域の処理
- コード
- 矩形の描画
- スマイリーの張り付け
6.7 アニメ絵化
- ノンフォトリアリスティックレンダリング
- コード
- スタイライゼーション
6.8 カメラ映像処理アプリケーション
- コード
- 入力切り替え
- カメラスナップショット
- OpenCV 画像の表示
- キャプション
6.9 付録:Haar特徴検出器を用いた顔検出
- コード
- 実行例
- Haar 特徴検出器ファイルの読み込み
- 画像のモノクロ化
- コントラスト調整
- 計算開始
第7章 テキスト起こし
7.1 目的
- アプリケーションの仕様
- 紹介するStreamlit の機能
- コード
7.2 外部データについて
- OpenAI Whisper モデル
- テスト音声データ
7.3 外部ライブラリについて
- OpenAI Whisper
- FFmpeg
7.4 テキスト起こし
- コード
- 実行例
- モデルデータの読み込み
- テキスト起こし
- 言語の指定方法
- FP16 の警告
7.5 テキスト起こしアプリケーション
- コード
- ボタン
- クリックイベント
- キャッシュのクリア
- オーディオプレイヤー
- 一時ファイル
7.6 付録:句読点の挿入
- マスク言語モデル
- コード
- 入力テキストの分解
- 欠落の推定
- 実行例
第8章 データアプリケーション
8.1 目的
- アプリケーションの仕様
- グラフ
- 地図
- 紹介するStreamlitの機能
- コード
8.2 外部データについて
- 総務省統計局
- 人口データの構成
- 都道府県庁所在地データ
8.3 外部ライブラリについて
- pandas
8.4 表データの読み込みと整形
- 手順
- コード
- 実行例
- Excel を読み込む
- 行見出しを整形する
- 列見出しを整形する
- 行見出しのリストを得る
- 特定の行だけを抽出する
- 転置する
- CSV を読み込む
- 表を結合する
8.5 データアプリケーション
- コード
- リンク付きボタン
- データフレームの表示
- グラフの選択
- 折れ線グラフと棒グラフ
- 都道府県の選択と転置
- 地図
- 年の選択
8.6 付録:選択型スライダー
- オブジェクトを選択肢にする
- コード
- 実行例
- 色名と値の対応
第9章 ブラックジャック
9.1 目的
- アプリケーションの仕様
- ルール
- 紹介するStreamlit の機能
- コード
9.2 外部データについて
9.3 外部ライブラリについて
9.4 ブラックジャック
- コード
- 実行例
- トランプの表現
- トランプの裏面
- 山札
- 手札
9.5 ブラックジャックアプリケーション
- コード
- 状態管理
- 状態1:プレイ中
- 強制再実行
- 状態2:プレイヤーのどぼん
- 状態3:勝負
付録A GitHub
A.1 アカウント作成
- GitHub トップページ
- メールアドレス、パスワード、ユーザ名を設定
- アカウント検証
- ログアウト
- ログイン
A.2 リポジトリの作成
- リポジトリ名
- ソースファイルの追加
- さらにファイルの追加
- ファイルの削除
付録B マークダウン記法
B.1 見出し
B.2 テキスト
- 普通のテキスト(段落)
- 絵文字
- テキストの彩色
- Google マテリアルアイコン
- テキストの装飾
- 文字のエスケープ
B.3 引用文
B.4 リスト
B.5 コード
B.6 リンク
B.7 横線
B.8 表
付録C Streamlitコマンドリスト
付録D HTMLタグリスト
- 索引