Metadata-Version: 2.4
Name: Beaker
Version: 1.13.0
Summary: A Session and Caching library with WSGI Middleware
Home-page: https://beaker.readthedocs.io/
Author: Ben Bangert, Mike Bayer, Philip Jenvey, Alessandro Molina
Author-email: ben@groovie.org, pjenvey@groovie.org, amol@turbogears.org
License: BSD
Keywords: wsgi myghty session web cache middleware
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
License-File: LICENSE
Provides-Extra: crypto
Requires-Dist: pycryptopp>=0.5.12; extra == "crypto"
Provides-Extra: pycrypto
Requires-Dist: pycrypto; extra == "pycrypto"
Provides-Extra: pycryptodome
Requires-Dist: pycryptodome; extra == "pycryptodome"
Provides-Extra: cryptography
Requires-Dist: cryptography; extra == "cryptography"
Provides-Extra: testsuite
Requires-Dist: pytest; extra == "testsuite"
Requires-Dist: pycryptodome; extra == "testsuite"
Requires-Dist: webtest; extra == "testsuite"
Requires-Dist: coverage; extra == "testsuite"
Requires-Dist: cryptography; extra == "testsuite"
Requires-Dist: sqlalchemy; extra == "testsuite"
Requires-Dist: pymongo; extra == "testsuite"
Requires-Dist: redis; extra == "testsuite"
Requires-Dist: pylibmc; extra == "testsuite"
Requires-Dist: python-memcached; extra == "testsuite"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: summary

=========================
Cache and Session Library
=========================

About
=====

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.

Beaker was built largely on the code from MyghtyUtils, then refactored and
extended with database support.

Beaker includes Cache and Session WSGI middleware to ease integration with
WSGI capable frameworks, and is automatically used by `Pylons
<https://pylonsproject.org/about-pylons-framework.html>`_ and 
`TurboGears <https://www.turbogears.org/>`_.


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


Documentation
=============

Documentation can be found on the `Official Beaker Docs site
<https://beaker.readthedocs.io/en/latest/>`_.


Source
======

The latest developer version is available in a `GitHub repository
<https://github.com/bbangert/beaker>`_.

Contributing
============

Bugs can be filed on GitHub, **should be accompanied by a test case** to
retain current code coverage, and should be in a pull request when ready to be
accepted into the beaker code-base.
