Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

N e w s

2008-11-08 CherryPy 3.1.1 released

On behalf of the CherryPy team, I'm pleased to announce the release of CherryPy 3.1.1. This is primarily a bugfix release. See the announcement for a summary: http://groups.google.com/group/cherrypy-users/browse_frm/thread/5e5b85c407356818 or the timeline for complete details.

2008-06-30 CherryPy 3.1 released

On behalf of the CherryPy team, I'm extremely pleased to announce the release of CherryPy 3.1.0 final! The kind of improvements that version 3.0 brought to cherrypy.request, this new version brings to cherrypy.engine: better startup, shutdown, reload, daemonization, signal-handling, scripting, scaffolding, and more. See wiki:WhatsNewIn31 for more details, and read wiki:UpgradeTo31 if you're already using CherryPy.

2008-05-19 CP3.1rc1 release

This could be 3.1 final--please test it out!

2007-09-05 CP3 on Jython

H. Eriksson has a "Hello, World!" of CherryPy 3 working on the Jython trunk! Hacks were needed for the _AttributeDocstrings metaclass, a dummy signal module for Jython, and a couple extra attributes to the socket module, but overall it seems doable. If anyone would like to provide patches to CP so it works on Jython out of the box, feel free!

2007-09-02 New Genshi tutorial

Chris Lenz has created a new tutorial on how to use Genshi, and chose CherryPy to help explain it. Nice work!

2007-08-07 CherryPy 3.0.2

CherryPy 3.0.2 has been released. This is a bugfix release. All users are encouraged to upgrade. See changes here. Upgrade via easy_install -U CherryPy or by downloading a compressed archive of the release and manually installing. Thanks to our community and team for the tickets and code contributions.

2007-03-31 CherryPy Essentials now available

Packt Publishing has published the CherryPy Essentials book March 31st, 2007. You can find out more at http://www.cherrypyessentials.com/ where you will discover more about its content, find out where to get the book from as well as retrieve its source code.

2007-02-21 CherryPy book available on pre-order

Packt Publishing now provides the CherryPy book in pre-order from their website and soon from Amazon and other websites.

2007-01-31 CherryPy book cover

Packt Publishing which will release the upcoming CherryPy book soon offers now the possibility for the people among the community to submit photographs for the front cover of the book. If you feel like you could have your say to the contest we invite you to send your work to them.

2006-12-23 CherryPy-3.0.0 released!!

Just in time for Christmas, a present from Jolly Old Saint fumanchu and crew. CherryPy 3.0.0 is the product of much hard work and many contributions from the Python community. Be sure to check out WhatsNewIn30 and learn how to UpgradeTo30.

Welcome to cherrypy.org

CherryPy is a pythonic, object-oriented HTTP framework.

CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program. This results in smaller source code developed in less time.

CherryPy is now more than six years old and it is has proven very fast and stable. It is being used in production by many sites, from the simplest ones to the most demanding ones.

Oh, and most importantly: CherryPy is fun to work with :-) Here's how easy it is to write "Hello World" in CherryPy 3:

import cherrypy

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

cherrypy.quickstart(HelloWorld())

Examples: Hello World & What is your name?

Quick Facts

  • Your CherryPy powered web applications are in fact stand-alone Python applications embedding their own multi-threaded web server. You can deploy them anywhere you can run Python applications. Apache is not required, but it's possible to run a CherryPy application behind it (or lighttpd, or IIS). CherryPy applications run on Windows, Linux, Mac OS X and any other platform supporting Python.
  • You write request handler classes that you tie together in a tree of objects, starting with a root object. CherryPy maps incoming request URIs to this object tree. The URI '/' represents the 'root' object, '/users/' the 'root.users' object, and so on. Requests are handled by methods inside these request handler classes. GET/POST parameters are passed as standard method parameters; '/users/display?id=123' will call root.users.display(id = '123'). The methods' return strings are then passed back to the browser. You have complete control over which methods are exposed through the web and which ones aren't. [And if you don't like any of the above, you can swap any part of it out!]
  • Beyond this functionality, CherryPy pretty much stays out of your way. You are free to use any kind of templating, data access etc. technology you want. CherryPy can also handle sessions, static files, cookies, file uploads and everything you would expect from a decent web framework.

Features

  • A fast, HTTP/1.1-compliant, WSGI thread-pooled webserver. Typically, CherryPy itself takes only 1-2ms per page!
  • Support for any other WSGI-enabled webserver or adapter, including Apache, IIS, lighttpd, mod_python, FastCGI, SCGI, and mod_wsgi
  • Easy to run multiple HTTP servers (e.g. on multiple ports) at once
  • A powerful configuration system for developers and deployers alike
  • A flexible plugin system
  • Built-in tools for caching, encoding, sessions, authorization, static content, and many more
  • A native mod_python adapter
  • A complete test suite
  • Swappable and customizable...everything.
  • Built-in profiling, coverage, and testing support.

How To Use This Site

This site contains the official documentation for CherryPy. You can find more information about CherryPy using the TableOfContents, the TitleIndex, or the Search page.

Versions

BranchStatusWhat's New Upgrading Browse Source
3.1 3.1.1 WhatsNewIn31UpgradeTo31 source:branches/cherrypy-3.1.x
3.0 3.0.2 WhatsNewIn30UpgradeTo30 source:branches/cherrypy-3.0.x
2.2 2.2.1 WhatsNewIn22UpgradeTo22 source:branches/cherrypy-2.x
2.1 2.1.1 WhatsNewIn21 source:branches/cherrypy-2.1
2.0 2.0.0 UpgradeTo20 source:tags/cherrypy-2.0.0

Hosted by WebFaction

Log in as guest/cpguest to create tickets