WSGI関連メモ

使うと思われるもの

  • Paste
  • Flup
  • Twill
  • py.test
  • wsgiauth
  • Colubrid
  • Genshi
  • FormEncode
  • ToscaWidgets
  • SQLAlchemy

Pasteはwsgiアプリケーションを構築する時に便利なユーティリティ、ミドルウェア。config関係をどうしようかと思っていたが、これが一番親和性が高いのだろう。config上で、ミドルウェアの設定などもできる。scaffold?と言われるらしい、スタートアップのファイル生成もできるらしいので、上手く利用したいところだ。
Flupは、scgiやfcgiサーバーを立てるのに使う。Pasteの設定から呼び出せるのが便利。
Twillはアプリケーションテスト。スクリプティングとPythonAPIで呼ぶのとどっちがいいかはまだ分からない。
py.testはユニットテスト用。Pasteとの連携をもう少し調べたいところ。
Colubridはリクエストディスパッチャー。RESTしたいときは、HTTPメソッドで振り分けてくれるWebpyApplicationがうれしい。
GenshiはXML, XPATHをベースにしたテンプレートエンジン。XMLだけでなくテキスト形式のテンプレートも取り扱える。View層だけでなく、コード生成にも使えそうだがPasteのアプリケーションテンプレートはCheetahなのだ。
FormEncodeは、形式チェックと変換をするもの。HTMLフォーム以外も取り扱えるけど、とりあえず入力チェック用。
ToscaWidgetはTurboGearsウィジェットを汎用的に取り扱えるように分離しているモジュール。まだ完成度は高くないようだけど、FormEncodeとの連携ができる入力ウィジェットが作れる。
SQLAlchemyは実のところWSGIとはあまり関係ないか。恐ろしく柔軟なO/Rマッパー。
TurboGearsの構成要素とかぶってるな。コントローラー系は、自分で書くか。
SQLAlchemyのマッピング内容を動的に取得する方法が分かれば、REST的なCRUDは自動生成できるかもしれない。

その他、Web2.0w なアプリケーションとしては、Atom Feed を読むためにUniversal Feed Parserや、XMLの解析、生成にlxmlなどが必要になるかもしれない。
Atom Feed 生成には atomixlib が使えるのだろう。