CherryPy VS Flask

Compare CherryPy vs Flask and see what are their differences.

Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
CherryPy Flask
1 43
1,491 57,677
1.5% 0.7%
4.1 9.2
11 days ago 4 days ago
Python Python
Freely Distributable BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of CherryPy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-04.


Posts with mentions or reviews of Flask. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-16.
  • How to Build a Machine Learning Demo in 2022
    7 projects | | 16 Jan 2022
    The goal of the back end is to act as a wrapper for a model so that it can be queried via HTTP requests from the front end, something referred to as model serving. In order to do so, one would typically use a web framework. For a long time, Flask was the standard for Python-based web frameworks, and is indeed still very popular. However, FastaAPI is quickly becoming the new favorite, thanks to impressive performance and native support for asynchronous operations. This article is a good starting point to understand how a simple model can be deployed using FastAPI, while this tutorial provides a complete overview of all the steps required to serve a PyTorch model with GPU support.
  • Folder structure
    1 project | | 7 Jan 2022
    Not sure if it's what you're looking for but I typically use the tutorial or the tutorial github. This is really just a templates and static folder with the blueprints in the main dir though.
  • Perfect and standard full website download
    1 project | | 31 Dec 2021
    You can then make inside the docs directory to build them locally:
  • how to keep order of sorted dictionary passed to jsonify() function?
    1 project | | 16 Dec 2021
    from collections import OrderedDict>>>>>> json_data = {... "11": {... "j_id": "out",... },... "aa": {... "j_id": "in",... },... "bb": {... "j_id": "out",... },... }>>>>>> jkeys=json_data.keys()>>> sorted_json = sorted(jkeys, key=lambda x: json_data[x]['j_id'], reverse=False)>>>>>> new_sorted=OrderedDict()>>> for rec in sorted_json:... new_sorted[rec]=json_data[rec]...>>> print('sort dict: {}'.format(new_sorted))sort dict: OrderedDict([('aa', {'j_id': 'in'}), ('11', {'j_id': 'out'}), ('bb', {'j_id': 'out'})]) ``` Unfortunately, when I pass this to jsonify() function and then for example console.log() output of flask data, the orderd becomes like that: 11, aa, bb. Additionally to that, I've done some research and found this stackoverflow answer, leading to some good documentation notes which clearly states that setting JSON_SORT_KEYS to False is not recommended way. Then I checked this github issue and it seems that problem is not fully resolved in flask.
  • Generic question: how does flask work exactly?
    1 project | | 29 Nov 2021
  • Ask HN: Simplest stack to build web apps in 2021?
    17 projects | | 22 Nov 2021
  • How to deploy your Python Flask projects
    2 projects | | 16 Nov 2021
    Flask is a straightforward framework for Python web development that makes it easy to get started on your web applications.
  • Getting started with Flask and Cerberus - Building a Chess Analysis App (Part 2)
    1 project | | 16 Nov 2021
    We're using Flask as our web server because it is very lightweight, so we'll want to install that next.
  • Can I use google cloud for free for non commercial purpose?
    3 projects | | 14 Nov 2021
    If your app is really small/short, you're only fetching crime data and rendering a static image, you can probably do it all with a Cloud Function. This way you don't even need to have nor learn about nor use full web frameworks like Flask, Django, Pyramid, etc. Just raw code plus an HTML template and perhaps a tiny bit of Flask/Jinja2 to render the template.
  • Most Popular Backend Frameworks of 2021
    10 projects | | 10 Oct 2021
    GitHub stars: 54708 (

What are some alternatives?

When comparing CherryPy and Flask you can also consider the following projects:

fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production

Django - The Web framework for perfectionists with deadlines.

quart - Official mirror of

Tornado - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

Bottle - is a fast and simple micro-framework for python web-applications. - is a web framework for python that is as simple as it is powerful.

dash - Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Masonite - The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Discord channel for questions:

AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python

web2py - Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.