[Web-SIG] Ann: CherryPy-2.0-beta released
remi at cherrypy.org
Mon Jan 3 18:53:43 CET 2005
I am happy to announce the release of CherryPy-2.0-beta.
CherryPy-2 is a pythonic, object-oriented web development framework.
CherryPy-2 is a redesign of CherryPy-1 (the unpythonic features have
been removed): no more compilation step, pure python source code (no
Here is a sample Hello, World in CherryPy-2:
# from cherrypy import cpg
# class HelloWorld:
# def index(self):
# return "Hello world!"
# cpg.root = HelloWorld()
- this code starts a multi-threaded HTTP server that dispatches
requests to methods
- requests like "http://domain/dir/page?arg1=val1&arg2=val2" are
mapped to "dir.page(arg1='val1', arg2='val2')"
- requests are mapped to an object tree that is "mounted" on cpg.root
(for instance: "cpg.root.user", "cpg.root.user.remi", ...)
- method must be explicitely exposed with a decorator "@cpg.expose"
(or "index.exposed = True" for Python-2.3)
- methods can return a generator instead of a string (useful when
generating big pages)
Here is a non-exhaustive list of CherryPy-2 features:
multi-threaded HTTP server, XML-RPC server, sessions, form handling,
authentication, unicode support, gzip-compression, virtual hosting,
WSGI adapter (experimental)
The design of CherryPy-2 allows to easily write/use pluggable "filters"
- filters perform operations on the request/response such as
gzip-compression or string encoding
- modules are web applications (like a blog or a web forum) than can
be easily "mounted" anywhere you want in your website
CherryPy-2 is already used in production by several sites and is
supported by an active community.
PS: Is the "Python Web Framework Shootout"
(http://www.colorstudy.com/docs/shootout.html) still being maintained ?
The part about CherryPy is quite out-of-date so it would be nice if
it could be updated for CherryPy-2 (I can provide some content if
More information about the Web-SIG