See the end of this document for complete license and permissions
information.
CherryPy is a Python-based tool for developing dynamic websites. It uses many powerful concepts together, which makes it unique in its approach to website development.
CherryPy sits between an application server and a compiler. You write source files, compile them with CherryPy and CherryPy generates an executable containing everything to run the website (including an HTTP server)
Key properties/features are:
- Based exclusively on Python (runs everywhere Python runs)
- Sits between a compiler and an application server
- Developers can use OOP as well as AOP (Aspect Oriented Programming) concepts to develop websites
- True separation of content and presentation
- Simple but powerful templating language
- "HTML safe templating language", which means that templates can go back and forth between designers and developers
- Powerful standard libraries to make your life easy
- Standard module library is easily extensible
Other properties/features are:
- Can be linked to many databases (Oracle, Sybase, MySql, PostgreSql, ...)
- Can run behind another webserver (Apache, ...)
- Easy clustering and load-balancing set up for high-traffic websites
- Built-in sessions
- Built-in caching functionality
- SSL support (based on PyOpenSSL)
- XML/XSL support (based on 4Suite)
- Built-in XML-RPC support (based on xmlrpclib)