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.