CherryPy は、Pythonプログラミング言語を用いたオブジェクト指向のWebアプリケーションフレームワークである。

HTTPプロトコルを(Adapterで)ラップすることによるWebアプリケーションの素早い開発を目的として設計されている。しかし、低レベルの位置にとどまり、で定義されている以上の機能は提供しない。

CherryPy は Web サーバそのものとして動作することもでき、また(Apache 2 などを含む)WSGI環境であれば、外部から起動させることもできる。CherryPy は、出力を表示させるためのテンプレートや、バックエンドへのアクセス、認証プロトコルなどの処理は行わない。フレームワークは、7つの関数をもつ簡潔なインタフェースからなるフィルターによって拡張可能である。これらは、リクエスト/レスポンス処理中の定義された場所で呼び出される。

Python インターフェイス プロジェクトの創設者Remi Delonの目的の一つが、CherryPy を可能な限りPythonらしくすることであった。これにより開発者がこのフレームワークを標準の Python モジュールとして使用することができ、(技術的な観点からは)アプリケーションが web 用であることを忘れることができる。

たとえば、よくある Hello World は CherryPy では以下のようになる:

import cherrypy

class HelloWorld(object): @cherrypy.expose def index(self): return "Hello World!"

cherrypy.quickstart(HelloWorld())

関連書籍 CherryPy Essentials: Rapid Python Web Application Development, First Edition (March 2007),

関連項目 CherryTemplate - CherryPy 向けのテンプレート言語 TurboGears - CherryPy は TurboGears の主要コンポーネントである

参照

外部リンク