What are the best Python-based Web Frameworks?
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.
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.
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.
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.
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.
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.