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