What are the best Python-based Web Frameworks?
Flask is a micro framework framework written in Python that can be used to build APIs, web services and web applications. Flask is designed from the bottom up to be extremely minimal and easy to use, where your whole application can fit into one single Python file. The framework includes no database abstraction layer, form validation, or any other components, by design. However pre-existing third-party libraries provide common functionality needed to build production ready applications and services.
Django is a high-level Python web development framework used for building web application at scale with speed. The framework adhere to a clean and pragmatic design that lets developers develop rapidly. Django ships as a "batteries included" framework and contains many of the features needed for most web applications such as an admin panel, an ORM and templating language. It takes much of the hassle out of web development and lets developers focus on writing their application instead of focusing on authentication, authorization and security.
Django takes security seriously and includes prevention mechanisms for common attack vectors like Cross-site request forgery (CSRF), SQL Injections and XSS attacks.Freddie
Django has one of the biggest and friendliest communities in web development. If you have a question you can always find the answer on stackoverflow, tutorials, blog posts or in various community channels.fossa
Django Admin Panel
Django comes with an admin panel that is automatically created around your database and models. Allowing you to quickly add, delete and edit data in your database. This is handy from early on in development to management of production applications.fossa
One of the most exiting feature of FastAPI is its support for async/await. With FastAPI you can write asynchronous code out of the box. A welcoming feature to the Python framework ecosystem which is usually synchronous in nature.Bullet
OAuth 2.0 support
FastAPI integrates well with OAuth 2.0 and external providers.Cassie
GraphQL support with graphene-python
With FastAPI it's easy to build a GraphQL API with the help of the python library graphene-python.Cassie
Limited educational resources
Since FastAPI is relatively new framework, the community is quiet small. Even though FastAPI provides great documentation and a wide variety of example projects, it can be hard to find external educational information like books, course and tutorials.Freddie
Web2py is a free and open-source web application framework written Python. With Web2py, developers can build dynamic applications with ease. The framework ships with "batteries included" for fast multi-threaded web server, SQL database and web-based interface. Web2py also ships with a web-based IDE that can be used to manage your application using your browser. A single instance can also run multiple web applications using different databases. Web2py free of charge under the LGPLv3 License.
Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. The framework can be used to create lean web applications with Python 2.7 and 3.x. Bottle is distributed as a single file module with no additional dependencies which makes it really easy to get started and later in the development-stage to manage.
A free and open-source web framework and asynchronous networking library written in Python. Tornado was originally developed at FriendFeed, and is using a non-blocking network I/O that can be used to scale applications to tens of thousands of concurrent connection. Tornado is a great framework for applications that require long-lived connections between users, and for WebSockets or long polling.
CherryPy is a free and open-source object-oriented HTTP and web framework written in Python. CherryPy allows developer to build web application the same way they would build any other object-oriented program. The design of CherryPy result in a simpler and faster development experience with more readable code. CherryPy is distributed under a BSD license and loved by many Python web developers.
Pyramid is a web framework written in Python that makes it easy to write applications for the web. With Pyramid, you can start small and finish big. Pyramid offers many features suited for writing both simple and complex software, while providing clear structure as your application grows. Since 1995, the Pyramid team has stayed devoted to professional craftmenship with a deep commitment to quality, which is seen throughout the Pyramid framework and the developer experience and workflow it provide for developers. Pyramid is released free and open-source under the Zope Public License (ZPL) Version 2.1.