Jump to: navigation, search

Web-frameworks-comparison

This table compare web frameworks available into the Python community. We think that some frameworks can be ignored like Django, Sanic, Tornado which are a bit out of context for our use case (serving routes), but we listed them to have a good overview of our ecosystem.

You can put your pro and cons into the related etherpad https://etherpad.opendev.org/p/eventlet-removal-web-frameworks-comparison.

For SGI servers comparison, it's happening here https://wiki.openstack.org/wiki/SGI-servers-comparison

The HTTP libs (client lib) comparison is happening here https://wiki.openstack.org/wiki/Http-libraries-comparison

Framework Performance Simplicity of Use Features Asynchronicity Extensibility Community and Ecosystem Security Scalability SQLAlchemy Support Maintenance Activity Comment
FastAPI High Moderate Moderate Yes High Growing Moderate High Yes Very Active FastAPI is a great choice for modern async APIs. Highly performant and great for scalability.
Flask Moderate High Low No High Large Moderate Moderate Yes Very Active Flask's simplicity and large ecosystem make it ideal for small to medium apps.
Pyramid Moderate Moderate Moderate Optional High Medium High High Yes Active Pyramid provides flexibility to start small and scale as needed, great for modular applications.
Bottle Low High Very Low No Low Small Low Low Yes Moderately Active Best for very small applications or microservices, limited out-of-the-box features.
CherryPy Moderate Moderate Low No Low Small Moderate Moderate Yes Low CherryPy is minimalistic and lightweight, but lacks modern features like async support.
Routes Moderate High Low No Low Small Low Low Yes Low Routes is focused on routing for web applications, providing URL dispatching, but lacks many other features found in more comprehensive frameworks.
Django Moderate Moderate Very High No Moderate Very Large Very High High No Very Active Full-featured framework, but lacks native async support. SQLAlchemy can be used, but Django ORM is the default.
Sanic Very High Moderate Low Yes High Growing Low High Yes Active Great for high-performance apps with async needs, but smaller ecosystem compared to others.
Tornado High Moderate Moderate Yes Moderate Small Moderate High Yes Moderate Tornado is designed for real-time web apps and supports long-lived network connections.