Giter Site home page Giter Site logo

cherrypy's Introduction

CherryPy

Welcome to the GitHub-repository of CherryPy!

CherryPy is a pythonic, object-oriented HTTP framework.

  1. It allows building web applications in much the same way one would build any other object-oriented program.
  2. This results in less and more readable code being developed faster. It's all just properties and methods.
  3. It is now more than ten years old and has proven fast and very stable.
  4. It is being used in production by many sites, from the simplest to the most demanding.
  5. And perhaps most importantly, it is fun to work with :-)

Here's how easy it is to write "Hello World" in CherryPy:

import cherrypy

class HelloWorld(object):
    @cherrypy.expose
    def index(self):
        return "Hello World!"
    
cherrypy.quickstart(HelloWorld())

And it continues to work that intuitively when systems grow, allowing for the Python object model to be dynamically presented as a web site and/or API.

Table of contents

Help

What are my options if I feel I need help?

I don't understand the documentation

While CherryPy is one of the easiest and most intuitive frameworks out there, the prerequisite for understanding the CherryPy documentation is that you have a general understanding of Python and web development.

So if you have that, and still cannot understand the documentation, it is probably not your fault.
Please create an issue in those cases.

I have a question

If you have a question and cannot find an answer for it in issues or the the documentation, please create an issue.

Questions and their answers have great value for the community, and a tip is to really put the effort in and write a good explanation, you will get better and quicker answers. Examples are strongly encouraged.

I have found a bug

If no one have already, create an issue.
Be sure to provide ample information, remember that any help won't be better than your explanation.

Unless something is very obviously wrong, you are likely to be asked to provide a working example, displaying the erroneous behaviour.

Note: While this might feel troublesome, a tip is to always make a separate example that have the same dependencies as your project. It is great for troubleshooting those annoying problems where you don't know if the problem is at your end or the components. Also, you can then easily fork and provide as an example.
You will get answers and resolutions way quicker. Also, many other open source projects require it.

I have a feature request

Good stuff! Please create an issue!
Note: Features are more likely to be added the more users they seem to benefit.

I want to discuss CherryPy, reach out to developers or CherryPy users

The gitter page is good for when you want to talk, but doesn't feel that the discussion has to be indexed for posterity.

Documentation

Installation

To install CherryPy for use in your project, follow these instructions:

From the PyPI package

pip install cherrypy

or (for python 3)

pip3 install cherrypy

From source

Change to the directory where setup.py is located and type (Python 2.6 or later needed):

python setup.py install

Development

Contributing

Please follow the contribution guidelines. And by all means, absorb the Zen of CherryPy.

Testing

  • To run the regression tests, just go to the cherrypy/test/ directory and type:
nosetests -s ./
  • To run individual tests type:
nosetests -s test_foo.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.