CherryPy

CherryPy
Developer(s) CherryPy team
Stable release
5.4.0[1] / May 11, 2016 (2016-05-11)
Written in Python
Operating system Cross-platform
Type Web application framework
License BSD License[2]
Website www.cherrypy.org

CherryPy is an object-oriented web application framework using the Python programming language. It is designed for rapid development of web applications by wrapping the HTTP protocol but stays at a low level and does not offer much more than what is defined in RFC 7231.

CherryPy can be a web server itself or one can launch it via any WSGI compatible environment. It does not deal with tasks such as templating for output rendering or backend access. The framework is extensible with filters, which are called at defined points in the request/response processing.

Pythonic interface

One of the goals of the project founder, Remi Delon, was to make CherryPy as pythonic as possible. This allows the developer to use the framework as any regular Python module and to forget (from a technical point of view) that the application is for the web.

For instance, the common Hello World program with CherryPy 3 would look like:

import cherrypy

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

cherrypy.quickstart(HelloWorld())

Features

CherryPy implements:

CherryPy doesn’t force you to use a specific object-relational mapper (ORM), template language or JavaScript library.

Can be used with CherryPy

Object-relational mappers

Templating languages

CherryPy wiki helps[24] choosing a templating language.

Products using CherryPy

References

  1. https://pypi.python.org/pypi/CherryPy/5.4.0
  2. "cherrypy / CherryPy / source / cherrypy / LICENSE.txt". BitBucket. Retrieved 21 February 2015.
  3. http://www.cherrypy.org/#Features
  4. CherryPy v3 WSGI server benchmark results
  5. How fast is CherryPy? Archived February 10, 2010, at the Wayback Machine.
  6. How to set up multiple HTTP servers with CherryPy
  7. Custom engine plugins with CherryPy Archived May 3, 2009, at the Wayback Machine.
  8. Configuration system of CherryPy Archived June 26, 2009, at the Wayback Machine.
  9. Configuration API of CherryPy Archived July 1, 2009, at the Wayback Machine.
  10. Short summary of configuration options
  11. How to test CherryPy itself Archived September 27, 2009, at the Wayback Machine.
  12. Profiler module of CherryPy Archived February 9, 2010, at the Wayback Machine.
  13. How to collect and the analyse coverage data of application code with CherryPy
  14. A simple dispatcher tool for CherryPy that uses Routes
  15. TurboGears 2.x uses CherryPy as server and SQLAlchemy as its default ORM
  16. TurboGears 1.x uses CherryPy as server and SQLObject as ORM Archived September 22, 2009, at the Wayback Machine.
  17. Dejavu Archived May 17, 2009, at the Wayback Machine.
  18. Mako
  19. A simple CherryPy tool for Mako templating
  20. "CherryPy – Genshi". Retrieved 2009-09-26.
  21. "Genshi - CherryPy Tools - Trac". Retrieved 2009-09-26.
  22. A basic CherryPy Tool for using Jinja templates
  23. TurboGears 1.x uses CherryPy as server and Kid as frontend Archived September 22, 2009, at the Wayback Machine.
  24. CherryPy wiki about choosing a templating language Archived February 10, 2010, at the Wayback Machine.
  25. http://docs.splunk.com/Documentation/Splunk/latest/ReleaseNotes/CherryPy

External links

This article is issued from Wikipedia - version of the 11/21/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.