商品情報にスキップ
1 0
  • 発売日:2025/02/27
  • 出版社:技術評論社
  • ISBN/JAN:9784297147648

Python

作ってわかる[入門]Streamlit 〜Pythonによる実践Webサービス開発

作ってわかる[入門]Streamlit 〜Pythonによる実践Webサービス開発

豊沢 聡
通常価格 3,520 円(税込)
通常価格 セール価格 3,200 円
セール 売り切れ
  • 発売日:2025/02/27
  • 出版社:技術評論社
  • ISBN/JAN:9784297147648
ネットストア在庫
    在庫△
    提携倉庫在庫あり
店舗受け取り(My店舗)
最大5店舗までご登録いただけます。
  • My店舗を登録いただくと、店舗お受け取りの在庫状況を確認することができます。 (受け取り可能店舗のみ)

各店在庫状況
商品説明
Streamlitは、PythonスクリプトをWebサービスに簡単に生まれ変わらせるフレームワークで、フリーなコミュニティクラウドを介してサービスを公開することも可能です。機械学習やデータサイエンスとの相性がよいことで知られていますが、Streamlitを使うと、一般的なPythonスクリプトをWebベースで手軽にデータ可視化したり、GUIアプリケーションにすることができます。
本書では、マニュアル作成向けの表形式ページ、ワードクラウドなどができるテキスト分析、AI連携チャットボット、画像処理、顔検出、音声データからのテキスト起こし、そしてデータ可視化など、Streamlitの機能を使いこなすための方法を、それぞれサンプルを題材にしながらわかりやすく解説します。
目次
はじめに
第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タグリスト
索引
目次
はじめに
第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タグリスト
索引
詳細を表示する