Beaker Documentation¶
Beaker is a library for caching and sessions for use with web applications and stand-alone Python scripts and applications. It comes with WSGI middleware for easy drop-in use with WSGI based web applications, and caching decorators for ease of use with any Python based application.
- Lazy-Loading Sessions: No performance hit for having sessions active in a request unless they’re actually used
- Performance: Utilizes a multiple-reader / single-writer locking system to prevent the Dog Pile effect when caching.
- Multiple Back-ends: File-based, DBM files, memcached, memory, Redis, MongoDB, and database (via SQLAlchemy) back-ends available for sessions and caching
- Cookie-based Sessions: SHA-1 signatures with optional AES encryption for client-side cookie-based session storage
- Flexible Caching: Data can be cached per function to different back-ends, with different expirations, and different keys
- Extensible Back-ends: Add more back-ends using setuptools entrypoints to support new back-ends.
Indices and tables¶
Module Listing¶
beaker.cache– Cache modulebeaker.container– Container and Namespace classesbeaker.middleware– Middleware classesbeaker.session– Session classesbeaker.synchronization– Synchronization classesbeaker.util– Beaker Utilitiesbeaker.ext.database– Database Container and NameSpace Manager classesbeaker.ext.memcached– Memcached Container and NameSpace Manager classesbeaker.ext.mongodb– MongoDB NameSpace Manager and Synchronizerbeaker.ext.redisnm– Redis NameSpace Manager and Synchronizerbeaker.ext.google– Google Container and NameSpace Manager classesbeaker.ext.sqla– SqlAlchemy Container and NameSpace Manager classesbeaker.crypto.pbkdf2– PKCS#5 v2.0 Password-Based Key Derivation classes