When comparing Falcon vs CherryPy, the Slant community recommends Falcon for most people. In the question“What are the best general-purpose Python web frameworks usable in production sites?” Falcon is ranked 8th while CherryPy is ranked 9th. The most important reason people chose Falcon is:
Falcon is designed entirely around building REST APIs. It achieves this helps a lot with it being lightweight and simple. It also helps developers take some design choices which would otherwise not be possible with a more general-purpose framework,
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Built to build REST APIs
Falcon is designed entirely around building REST APIs. It achieves this helps a lot with it being lightweight and simple. It also helps developers take some design choices which would otherwise not be possible with a more general-purpose framework,
Pro Lightweight with minimal dependencies
Falcon is a very lightweight framework. This can be noticed simply by looking at the dependency list: other than the python standard library, six and mimeparse are the only dependencies.
Pro Performance is really awesome
Pro Robust configuration mechanism
It's very easy to choose what processes you want by turning them on or off. You can also configure per-URL as well.
Pro Has production-ready server
Comes with a production level wsgi server that can be used instead of / in addition to gunicorn etc.
Pro Helps you organize the structure of your code
CherryPy provides some dispatcher patterns that support a wide range of functionality and provide some helpful ways of organizing the code.
Cons
Con Limited in scope
Being designed around building REST APIs and the fact that it's minimalistic with very few dependencies makes Falcon opinionated (you should build a REST API) and limited in scope (you shouldn't be using Falcon to build a news site, blog or ecommerce platform).
Con Lacking good documentation
CherryPy's documentation could use some work. It generally feels very slim and is seriously lacking in some parts. For a beginner who is just starting with Python Frameworks, working with CherryPy's documentation would be very hard.