python3でwebプログラミングに使えるライブラリ

From Evernote:

python3でwebプログラミングに使えるライブラリ

各フレームワークが対応中といううわさをそこそこ聞きますが、
今すぐpython3でwebプログラミングをしてみたい人もいると思うので、
python3で使えるライブラリを調べてみた。

Webアプリケーションライブラリ

  • Beaker セッションとキャッシュ
  • Jinja2 HTMLテンプレート
  • Mako HTMLテンプレート
  • MarkupSafe HTMLのエスケープなど
  • PasteDeploy WSGIアプリケーションの設定ファイル
  • SQLAlchemy O/Rマッパー
  • WebDispatch URLやメソッドに対応したディスパッチャ
  • WebOb リクエストレスポンスオブジェクト

1とおりのライブラリが出揃っているけど、
認証、認可と、フォームライブラリが不足しているかな?
あとPasteDeployは対応しているけどPasteScriptがないので、
コマンドラインツールが足りてない。
weberrorのようなデバッグツール、エラーレポートも欲しいところ。

WSGIサーバー

  • tornado
  • cherrypy
paste.httpあたりのポーティングが望まれるところ。
あと、tornadoはpastedeployのエントリポイント持ってない。
(10行以内で書けるけど)

テストツール

  • nose ディスカバリやプラグインに対応したテストランナー
  • Mock モックライブラリ
  • WebTest 擬似リクエストを使ったWebアプリケーションテストツール

このあたり鉄板の組み合わせが使えるので、あまり不満はない。

ドキュメンテーション

  • docutils
  • Sphinx

docutilsはCategoriesに入ってないけど実際はpy3k対応されている。

まとめ
Webアプリケーションを書くにはまだちょっと足りない印象。
が、Webアプリケーションフレームワークを作るのには十分な下地ができてると思う。
各フレームワークがpython3対応したバージョンをリリースするのも近い。
とはいえ、実用で使おうと思うとサーバーに悩みます。
早くgunicornが対応してくれれば....

さて、アドベントカレンダーの次は @t2y さんにまわします。
よろしく。

その他、python3に対応を表明しているものは以下のリンクから一覧を確認できる。