Overview

Session (flup-compatible), caching, memoizing, and HTTP cache control middleware for WSGI. Supports memory, filesystem, database, and memcached based backends.

Simple memoization example:

from wsgistate.memory import memoize

@memoize()
def app(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return ['Hello World!']

if __name__ == '__main__':
     from wsgiref.simple_server import make_server
     http = make_server('', 8080, app)
     http.serve_forever()

Simple session example:

from wsgistate.memory import session

@session()
def app(environ, start_response):
     session = environ['com.saddi.service.session'].session
     count = session.get('count', 0) + 1
     session['count'] = count
     start_response('200 OK', [('Content-Type', 'text/plain')])
     return ['You have been here %d times!' % count]

if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    http = make_server('', 8080, app)
    http.serve_forever()