Beaker is a web session and general caching library that includes WSGI middleware for use in web applications. As a general caching library, Beaker can handle storing for various times any Python object that can be pickled with optional back-ends on a fine-grained basis. Features - Fast, robust performance - Multiple reader/single writer lock system to avoid duplicate simultaneous cache creation - Cache back-ends include dbm, file, memory, memcached, Redis, MongoDB, and database (Using SQLAlchemy for multiple-db vendor support) - Signed cookies to prevent session hijacking/spoofing - Cookie-only sessions to remove the need for a db or file backend (ideal for clustered systems) - Extensible Container object to support new back-ends - Caches can be divided into namespaces (to represent templates, objects, etc.) then keyed for different copies - Create functions for automatic call-backs to create new cache copies after expiration - Fine-grained toggling of back-ends, keys, and expiration per Cache object