Table of contents
1.
Introduction
2.
About CherryPy
3.
Features
4.
The One-Minute Application Example
5.
Frequently Asked Questions
5.1.
Is CherryPy open source?
5.2.
What does CherryPy expose do?
5.3.
How can you use CherryPy in Python?
5.4.
Can CherryPy be seen as a Web Server?
5.5.
When was the first version of CherryPy released?
6.
Conclusion
Last Updated: Mar 27, 2024

The one-minute application example - CherryPy

Author Amit Singh
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Have you ever tried creating a web application using Python frameworks?

You must have heard about Django, which is a high-level Python web framework that enables the rapid development of secure and maintainable websites. But, in this article, we will study another python framework named 'CherryPy.'

title

About CherryPy

title

CherryPy is one of the most established Python web frameworks, but not many people are aware of its existence even then. This is due to CherryPy's lack of a full stack with integrated support for a multi-tier design. 

CherryPy is an object-oriented framework of Python which allows developers to create web applications in a manner similar to how they would make any other object-oriented Python program. This leads to shorter development times and smaller source code.

Features

features

  • It neither offers frontend utilities nor tells you how to communicate with your storage. 
     
  • Instead, CherryPy favors letting the developer make those choices. This is a different approach from other well-known frameworks.
     
  • CherryPy features a simple user interface and tries to stay out of the way while giving you a strong foundation that can be used for the build. 
     
  • Regular web applications with user frontends (think blogging, CMS, portals, and e-commerce) to web services alone are typical use cases for CherryPy.
     
  • Many sites around the globe, from the simplest to the most demanding, are using it in production.

The One-Minute Application Example

After the theoretical part, let's check out a simple example that will help you in grasping a basic idea of its functionality. 

example

The simplest application you can create with CherryPy incorporates nearly all of its fundamental concepts:

import cherrypy

class CodingNinjas(object):
    @cherrypy.expose
    def index(self):
        return "Hello Ninja!"

if __name__ == '__main__':
   cherrypy.quickstart(CodingNinjas(), '/')
You can also try this code with Online Python Compiler
Run Code

 

First and foremost, as seen in line 1, you will rarely require more than one import statement for the majority of operations.

Before we move into the heart of the matter, let's directly jump to line number 9. It shows how to host your application with CherryPy's application server and serve it using the built-in HTTP server at the '/' path. 

Everything in just a single line. Impressive. Isn't it?

Now let's return back to the application itself. The majority of the time, even though CherryPy does not require it, your applications will be written as Python classes. 

CherryPy will use the methods of those classes to reply to client requests. CherryPy, however, must be aware that a method can be used in that way; for this reason, we say the method must be exposed. 

This is exactly what line 4 of the cherrypy.expose() decorator accomplishes.

The last step is to save this Snippet in a file which you can name anything but just as an example; we will name it app.py.

After this step, you are now ready to run your first ever CherryPy application using:

$ python app.py
You can also try this code with Online Python Compiler
Run Code

 

After that, navigate your browser to: 

http://127.0.0.1:8080/
You can also try this code with Online Python Compiler
Run Code

It should be something like this.

output

Frequently Asked Questions

Is CherryPy open source?

CherryPy can be understood as an open-source project, thus, welcoming contributions. If you are interested, you are allowed to Fork CherryPy on GitHub here and submit pull-request with your modifications.

What does CherryPy expose do?

Once CherryPy has been found and is called an exposed method, it is up to you, as a developer, to provide the tools to implement your application's logic. CherryPy takes the opinion that the developer knows best.

How can you use CherryPy in Python?

CherryPy allows you to use the CRUD (Create, Retrieve, Update and Delete) functionalities for web applications. It also helps in managing the project from anywhere just by using the user's browser.

Can CherryPy be seen as a Web Server?

Cherry WSGI Web Server is a modularized component which has a functionality that allows it to serve any Python WSGI web based application.

When was the first version of CherryPy released?

The first version of CherryPy was released in June 2002.

Conclusion

In this article, we have learned about CherryPy, which is a framework of Python in detail. We have also discussed the features in detail. We have also discussed the one minute application example of CherryPy.

We hope that this article has provided you with the help to enhance your knowledge regarding CherryPy and if you would like to learn more, check out our articles on Namespaces in CherryPy, and Plugins in CherryPy.

thank

Refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. Enroll in our courses and refer to the mock test and problems available. Take a look at the interview experiences and interview bundle for placement preparations.

Do upvote our blog to help other ninjas grow.

Merry Learning!

Live masterclass