はじめに
僕は最近PythonでWebアプリ的な物をいつも作っています。
しかし、そういう時は大体Flaskでサーバーを立て、
HTMLを返すような構造にしています。HTMLを間に挟まないとアプリが作れないのです!
Streamlitとは?
Streamlitとは、フロントエンドを別で書かなくても
PythonでコーディングするだけでWebアプリが作れるというものです!
特徴
- PythonだけでWebアプリが作れる
- 簡単なコードでボタン、テキストボックスなどが配置できる
- MarkdownやHTMLにも対応している
- 最初から見た目が調整されている
使ってみよう
さっそく使ってみましょう。
インストールからサンプルコードまで解説します!
インストール
Streamlitは標準ライブラリではないので、
pipでインストールする必要があります。
pip install streamlit
Python3.14を使ったら、インストールできませんでした。
ベータ版なので、使っている人いないと思いますが
サンプルを動かそう
import streamlit as st
st.title("Hello, world!")
st.write("This is a sample streamlit application!")
button = st.button("Say hello")
if button:
st.info("Hello world!")
このファイルを任意の名前で保存し、以下のコマンドを実行してください。
streamlit run <ファイル名>
すると...
ブラウザが開き、サンプルページが表示されました!
解説
st.title
タイトルを配置します。
ページのタイトルとは違うので注意です。
st.write
ページに文字列を書き込みます。
Markdown,HTMLにも対応しています。
HTMLを使うときは、unsafe_allow_html=True
を指定すること。
st.button
ページにボタンを配置します。
ボタン押下時の動作は、
if button:
# 動作
と書くことで可能です。
ほかの機能
Streamlitには他にも機能があります!
ほかの要素
st.radio
第一引数にラベル、第二引数に選択項目を指定すると、
ラジオボタンが配置できます。
st.text_input
文字入力欄が作れます。placeholderも指定できます。
その他
- ファイルを変更したら自動でリロードされる
-
config.toml
でテーマが指定できる
感じたこと
- HTMLやCSSを習得しなくてもWebアプリが作れるのはうれしいと思った
- ルーティングができないのは不便
- 最初からレイアウトが整っているのがいい
終わりに
皆さんもStreamlitでWebアプリを作ってみてはいかがでしょうか?
最後まで読んでいただきありがとうございます。
コメント、いいねもお願いします