CherryPy is a mature, open source, minimalist, Python object-oriented web framework. It’s designed for rapid development of web applications.
The software 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 has four API layers; the application layer, the environment layer, the extension layer, and the core layer.
Key Features
- Easy to understand.
- Reliable, HTTP/1.1-compliant, WSGI thread-pooled webserver. CherryPy supports the WSGI interface defined in PEP 333 as well as its updates in PEP 3333. Supports: 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. CherryPy comes with a fine-grained configuration mechanism and settings can be set at various levels.
- A flexible 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. CherryPy’s backbone consists of a bus system implementing a simple publish/subscribe messaging pattern.
- Built-in tools for caching, encoding, sessions, authentication, static content, and many more. CherryPy implements a simple caching system as a pluggable Tool.
- Swappable and customizable.
- A complete test suite for core functionality and associated framework which can be used to test CherryPy applications.
- Built-in profiling, coverage, and testing support.
- A native mod_python adapter.
- External library, ws4py, supports WebSocket.
- Architecture makes it easy to integrate common database interfaces such as the DB-API specified in PEP 249, and HTML templates such as Mako and Jinja2.
- Helper class to ease writing functional tests.
- Runs on Python 2.7+, 3.4+, PyPy, Jython and Android.
Website: cherrypy.readthedocs.io/en/latest/
Support: GitHub Code Repository
Developer: CherryPy Team
License: BSD 3-Clause “New” or “Revised” License
CherryPy is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Application Servers | |
|---|---|
| Tornado | Web framework, web server, and asynchronous networking library |
| Gunicorn | Python WSGI HTTP Server |
| Phusion Passenger | Web server and application server for Ruby, Python and Node.js |
| uWSGI | Aims at developing a full stack for building hosting services |
| Twisted | Networking engine supporting numerous protocols such as a web server |
| Zope | Zope stands for "Z Object Publishing Environment" |
| CherryPy | Pythonic, object-oriented web framework |
Read our verdict in the software roundup.
| Best Python Micro Frameworks | |
|---|---|
| Flask | Hugely popular microframework based on Werkzeug and Jinja2 |
| FastAPI | Web framework for building APIs |
| Starlette | Lightweight ASGI framework/toolkit |
| aiohttp | Asynchronous HTTP client/server for asyncio and Python |
| Sanic | Web server and web framework |
| Falcon | Build cloud APIs, smart proxies, and app backends |
| Quart | Web microframework based on Asyncio |
| Pyramid | Start small, finish big, stay finished framework |
| Bottle | Fast, simple and lightweight WSGI micro web framework |
| Chalice | Python Serverless Microframework for AWS |
| CherryPy | Mature, minimalist, Python object-oriented web framework |
| TurboGears | Hybrid framework acting as a Full Stack framework or Microframework |
| Quixote | Aimed at sites where complex programming is required |
| Klein | Micro-framework for developing production-ready web services with Python |
| circuits | Lightweight event driven application framework |
| Clastic | Functional web framework |
| Hug | Make developing Python driven APIs as simple as possible |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

