CherryPy is a pythonic, object-oriented HTTP framework. See cherrypy.dev for more information. Ask for interactive help @ https://gitter.im/cherrypy/cherrypy
CherryPy is a pythonic, object-oriented HTTP framework.
Features
- A HTTP/1.1-compliant, WSGI thread-pooled webserver. Typically, CherryPy itself takes only 1-2 ms per page.
- Support for any other WSGI-enabled web server or adapter, including Apache, IIS, lighttpd, mod_python, FastCGI, SCGI, and mod_wsgi.
- A native mod_python adapter.
- Multiple HTTP servers (e.g. on multiple ports) at once.
- A plugin system. CherryPy plugins hook into events within the server process — into server startup, server shutdown, server exiting, etc. — to run code that needs to be run when the server starts up or shuts down.
- Built-in tools for caching, encoding, sessions, authorization, static content, and others. CherryPy tools hook into events within the request process. Whenever the CherryPy server receives a request, there is a specific set of steps it goes through to handle that request. Page handlers are only one step in the process. Tools also provide a syntax and configuration API for turning them on and off for a specific set of handlers.
- A configuration system for developers and deployers. CherryPy deployments are configurable on site, on application and on controller level, through Python dictionaries, configuration files, and open file objects.
- Every component is swappable and customizable.
- A complete test suite:
- tests for both basic and advanced functionality
- command-line options to control which tests are run, and the output they produce
- debugging tools specifically for web page tests
- many of the test suite components are reusable by applications.
- Built-in profiling since v2.1, coverage and testing support.