Frameworks that run on WSGI
This is an alphabetic list of frameworks known to support WSGI. The
level and nature of their support sometimes varies, as do the APIs
they provide. The descriptions here focus on that, and not the flavor
of the frameworks themselves. If you want to know more, follow the
Some frameworks really only support using pluggable WSGI
servers, which means you get a number of options from HTTP, FastCGI,
SCGI, threaded, forking, etc. However, not all such frameworks live
well alongside other frameworks in the same process, or may require
extra configuration. This is what is meant by noting when a
framework supports WSGI servers, vs. a framework that supports a
greater number of WSGI compositions, especially the kind of things
Middleware and libraries for WSGI
Please feel free to expand on
the list, the descriptions, or to make corrections.
Appier is an object-oriented Python web framework built for super fast
app development. It’s as lightweight as possible, but not too lightweight.
It gives you the power of bigger frameworks, without their complexity.
Bobo is a light-weight framework. Its goal is to be easy to use and
Bottle is a fast and simple micro-framework for small
web-applications. It offers request dispatching (Routes) with url
parameter support, Templates, key/value Databases, a build-in HTTP
Server and adapters for many third party WSGI/HTTP-server and
template engines. All in a single file and with no dependencies
other than the Python Standard Library.
CherryPy is a pythonic, object-oriented web development framework.
Includes support for WSGI servers. CherryPy 3 includes better
support for living alongside other WSGI frameworks, applications,
Includes support for WSGI servers
Falcon is a high-performance Python framework for building cloud
APIs. It encourages the REST architectural style, and tries to do
as little as possible while remaining highly effective.
Flask is a microframework for Python based on Werkzeug, Jinja 2
and good intentions.
It inherits its high WSGI usage and compliance from Werkzeug.
The notmm toolkit is a fork of Django that doesn’t get in your
way. Features includes improved WSGI support (Paste), SQLAlchemy,
and very few developers! ;-)
Poor WSGI for Python is light WGI connector with uri routing between WSGI
server and your application. It have mod_python compatible request object,
which is post to all uri or http state handler.
Pycnic is a mimimalist JSON API oriented framework for Python 2.7 and 3.x.
It provides routing, cookies, and JSON error handling, while maintaining
a small codebase.
Merger of the Pylons and repoze.bfg projects, Pyramid is a
minimalist web framework aiming at composability and making
developers paying only for what they use.
Another WSGI framework (not sure what the distinguishing features
A module that implements an analogue of the Zope 2 ZPublisher,
with some major simplifications and cleanups. Its core mission is
to allow publishing existing Zope2 applications in a WSGI
environment that externalizes some of the features of “classic”
Zope2 into middleware.
Database-driven app in minutes; inherits its WSGI support from
Makes web apps. A small RESTful library.
A full stack framework includes its own Database Abstraction Layer
(with support for SQLite, MySQL, PostgreSQL, MSSQL, DB2, Informix,
Oracle, FireBase, Ingres and Google App Engine), its own template
laguage, and a web based IDE. web2py itself is a WSGI app. Not
related to web.py.
A nanoframework (only a few hundred lines of code) offering an
entry_points-based dependency graphing extension system, MVC
separation, reusable namespaces, and universal URL dispatch
protocol with tight WebOb integration and natural Python
weblayer is a lightweight, componentised package for writing WSGI
The venerable Python web framework, recreated anew in Zope 3, and
now a WSGI application. It
to have some WSGI bits deep
inside the publisher, but they aren’t really documented at this
These systems still exist but got replaced by others or are
Clever Harold is an ambitious web framework. It has many features
for rapid, reusable, and reliable web application
construction. Clever Harold is a complete WSGI framework. To build
an application, you pick and choose the servers and components
that fit your needs.
Colubrid is a WSGI publisher which simplifies python web
developement. Colubrid is not a framework :-) Although some
people like the idea of having found a framework in colubrid. All
colubrid does for you is parsing form data / url parameters /
cookies and providing a url dispatcher. Colubrid was replaced by
Nettri is a newcomer of Python World. It is under heavy
development. Features includes CMS, Own template Engine, modules
and more coming.
An implementation of the
servlet API using Paste infrastructure and WSGI.
Pythonic web development framework based on XML pipelines and WSGI
Full-stack Python web development framework combining the very
best from the worlds of Ruby, Python and Perl.
Pylons has been superseded by
A Python WSGI-compliant web framework inspired by Zope, Pylons,
and Django with built-in security and templating.
repoze.bfg was renamed
and moved under the Pylons
A pure-WSGI dispatcher and simple framework, inspired by CherryPy.
A simple Python WSGI-compliant web framework inspired by Django,
TurboGears, and web.py.
A totally WSGI-ified version of SkunkWeb.
A rethinking of the Webware/WebKit servlet model, in a pure-WSGI
framework. Not used widely.
WebStack is a package which provides a simple, common API for
Python Web applications, allowing such applications to run within
many different environments with virtually no changes to