ANN: CherryPy-2.1.0-beta released
remi at cherrypy.org
Fri Jul 15 00:11:20 CEST 2005
I am happy to announce the first beta release of CherryPy-2.1
This release is a major step forward for CherryPy. It is packed
with new features and bug fixes. Also, the CherryPy community is
now growing quite fast and it is very active. Many people contributed
to this release.
Here are the main improvements in this release:
- New WSGI interface, which allow CherryPy sites to be deployed on
any WSGI server. People are already running it on mod_python, FastCGI,
SCGI, IIS or CherryPy's own built-in HTTP server.
- New implementation for sessions, which supports multiple backends
- Built-in list of convenient "filters" for things like gzip
XHTML validation, caching, unicode decoding/encoding, authentication,
XML-RPC wrapper, etc ... These filters can easily be enabled/disabled
- New "development" mode which provides things like autoreload (no
need to manually restart your server when you make a change), logging
of page stats, etc ...
- Better handling of file uploads
- Internal implementation now uses generators everywhere (no more
- New built-in HTTP server implementation
CherryPy-2 is a pythonic, object-oriented web development framework.
Here is a sample Hello, World in CherryPy-2:
# import cherrypy
# class HelloWorld:
# def index(self):
# yield "<html><body>"
# yield "Hello world!"
# yield "</body></html>"
# cherrypy.root = HelloWorld()
- this code starts a multi-threaded HTTP server that dispatches
requests to methods
- requests like "http://domain/dir/page?arg1=va l1&arg2=val2" are
mapped to "dir.page(arg1='val1', arg2='val2')"
- CherryPy also supports "RESTful" URLs like
- requests are mapped to an object tree that is "mounted" on
(for instance: "cherrypy.root.user", "cherrypy.root.user.remi", ...)
- method must be explicitly exposed with a decorator "@cherrypy.expose"
(or "index.exposed = True" for Python-2.3)
More information about the Python-announce-list