werkzeug + twisted.web
Python Shell
Latest commit c124a74 Sep 20, 2016 @glyph glyph committed on GitHub Merge pull request #137 from glyph/element-async-render
Correct the behavior of Element objects returned from Klein routes.


Klein, a Web Micro-Framework

Build Status Code Coverage

Klein is a micro-framework for developing production-ready web services with Python. It is 'micro' in that it has an incredibly small API similar to Bottle and Flask. It is not 'micro' in that it depends on things outside the standard library. This is primarily because it is built on widely used and well tested components like Werkzeug and Twisted.

A Klein bottle is an example of a non-orientable surface, and a glass Klein bottle looks like a twisted bottle or twisted flask. This, of course, made it too good of a pun to pass up.

Klein's documentation can be found at Read The Docs.


This is a sample Klein application that returns 'Hello, world!', running on port 8080.

from klein import run, route

def home(request):
    return 'Hello, world!'

run("localhost", 8080)


klein is hosted on GitHub and is an open source project that welcomes contributions of all kinds from the community, including:

For more information about contributing, see the contributor guidelines.