--- id: cherrypy version: "18.10.0" license: unclear license_treatment: permissive maintenance: active --- # CherryPy — Object-Oriented HTTP framework License: permissive · Maintenance: active · Downloads: 897.1K/mo ## What it is and what it does CherryPy is a web framework that treats HTTP endpoints as Python object methods. Instead of routing URLs to functions, you define classes with methods decorated with @cherrypy.expose, and CherryPy automatically maps the object hierarchy to web paths. This approach aligns web development with standard object-oriented Python patterns, making code more readable and maintainable as applications grow. The framework has been in production use for many years and is designed to be both intuitive for simple applications and capable of handling complex systems. It includes a built-in WSGI-compliant server, supports multiple Python implementations (CPython, PyPy, Jython), and provides configuration flexibility. The seven runtime dependencies are lightweight utilities for server functionality, file locking, and metadata handling. Use it for: - Build a REST API by exposing Python class methods as HTTP endpoints without explicit routing configuration. - Create a web application where URL structure naturally mirrors your Python object model. - Develop a microservice or internal tool that needs a lightweight HTTP server without framework overhead. - Prototype or build production web services that prioritize code clarity and Pythonic design patterns. - Integrate HTTP capabilities into an existing Python application with minimal additional dependencies. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. CherryPy is an object-oriented HTTP framework that lets you build web applications and APIs by writing Python classes and methods, then expose them as web endpoints. Yes. CherryPy is a mature, actively maintained framework with low installation friction, no security vulnerabilities, and a permissive license. It's well-suited if you prefer object-oriented design patterns in web development and want a lightweight alternative to larger frameworks. The 791-day gap since the last release suggests stability rather than abandonment, but verify that current Python versions align with your needs. ## Install pip install cherrypy uv add cherrypy poetry add cherrypy ## Installing CherryPy Before you install: Installation is straightforward with low friction. The package is actively maintained (last commit 2026-08-10) and marked as Production/Stable. Seven runtime dependencies are all standard utilities, and the wheel distribution ensures fast setup. License in practice: Licensed under BSD (permissive), which allows commercial and private use with minimal restrictions. No licensing concerns for adoption. Quickstart: pip install cherrypy import cherrypy class HelloWorld(object): @cherrypy.expose def index(self): return "Hello World!" cherrypy.quickstart(HelloWorld()) Requires Python 3.6 or later; on Windows, pywin32 is a runtime dependency. Verify before relying: - Whether the 791 days since last release (2024-06-14) indicates a stable mature project or one that may need updates for newer Python versions. - Performance characteristics and scalability limits compared to other frameworks in production deployments. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 897.1K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags python web framework, object-oriented http server, lightweight web application framework, python rest api framework, wsgi application server, python web development, http server library, web-framework, object-oriented, wsgi-server [View on SkillFed](https://skillfed.io/packages/cherrypy) · [View on PyPI](https://pypi.org/project/cherrypy/)