CherryPy

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), ISBN 978-1-904811-84-8

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

 参照 

 外部リンク 

Category:オープンソースソフトウェア
Category:Pythonでプログラムされた自由ソフトウェア
Category:ウェブアプリケーションフレームワーク