CherryPy

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

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

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

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

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

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

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 の主要コンポーネントである

外部リンク 
CherryPy website
Documentation
Feeds about CherryPy

オープンソースソフトウェア
Python
ウェブアプリケーションフレームワーク