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, 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¶
beaker.cache– Cache module
beaker.container– Container and Namespace classes
beaker.middleware– Middleware classes
beaker.session– Session classes
beaker.synchronization– Synchronization classes
beaker.util– Beaker Utilities
beaker.ext.database– Database Container and NameSpace Manager classes
beaker.ext.memcached– Memcached Container and NameSpace Manager classes
beaker.ext.mongodb– MongoDB NameSpace Manager and Synchronizer
beaker.ext.redisnm– Redis NameSpace Manager and Synchronizer
beaker.ext.google– Google Container and NameSpace Manager classes
beaker.ext.sqla– SqlAlchemy Container and NameSpace Manager classes
beaker.crypto.pbkdf2– PKCS#5 v2.0 Password-Based Key Derivation classes