bottleはsinatraな軽量WEBフレームワークです。
getメソッドの取扱いレベルまで小分けされているので、限界域まで軽く作ることができます。
導入
例の如く、pipで。依存パッケージは無いように設計されているみたいです。
$ pip install bottle
依存がなく、軽量……ということは直接導入という荒業も。
200kbyte程度なので、ワザワザpipを入れるほどでは……という場合にも重宝。
$ curl -O https://raw.githubusercontent.com/bottlepy/bottle/master/bottle.py
スクリプト本体
以下の構成の、簡単なアプリを考えてみます。
- "~/hello/
"でユーザに挨拶 - "~/time"で現在時刻
bottleから"get"、"run"、"template"を拝借し、標準ライブラリのtimeを使って以下のように書きます。
from bottle import get, run, template from time import strftime @get('/hello/<name>') def hello(name): return template('<b>Hello {{name}}</b>!', name=name) @get('/time') def show_time(): return strftime('<p>%m-%d_%H:%M:%S_%Z</p>') run(host='localhost', port=8080)
実行
$ python app.py
http://localhost:8080/timeにアクセスすると、"09-03_23:24:14_JST"みたいな文字列が
http://localhost:8080/hello/shuzoだと"Hello shuzo!"てな文字が太字で出てきます。