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 の主要コンポーネントである
参照
外部リンク