Skip to main content

About

Beaker 0.7 is a new and refactored update to Beaker built on code from the package MyghtyUtils, originally used in the Myghty project. It implements a full set of cache functionality along with sessions that can utilize the caches.

Beaker includes Cache and Session WSGI middleware to ease integration with WSGI capable frameworks, and is automatically used by Pylons.

Features

  • Fast, robust performance

  • Multiple reader/single writer lock system to avoid duplicate simultaneous cache creation

  • Cache back-ends include dbm, file, memory, memcached, and database (Using SQLAlchemy for multiple-db vendor support)

  • Signed cookie’s to prevent session hijacking/spoofing

  • Extensible Container object to support new back-ends

  • Cache’s 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

Usage

Caching

Basic Example:

from beaker.cache import CacheManager
cm = CacheManager(type='dbm', data_dir='./cache')

cache = cm.get_cache('mytemplate')

def somethingslow():
    # slow stuff
    db_lookups()

# Get the value, this will create the cache copy the first time
# and any time it expires (in seconds, so 3600 = one hour)
result = mycache.get_value(day, createfunc=somethingslow, expiretime=3600)

Using WSGI:

from beaker.middleware import CacheMiddleware

def simple_app(environ, start_response):
    cache = environ['beaker.cache'].get_cache('testcache')
    try:
        value = cache.get_value('value')
    except KeyError:
        value = 0
    cache.set_value('value', value+1)
    start_response('200 OK', [('Content-type', 'text/plain')])
    return ['The current value is: %s' % cache.get_value('value')]

app = CacheMiddleware(simple_app, type='dbm', data_dir='./cache')

Sessions

Using WSGI:

from beaker.middleware import SessionMiddleware

def simple_app(environ, start_response):
    session = environ['beaker.session']
    if not session.has_key('value'):
        session['value'] = 0
    session['value'] += 1
    session.save()
    start_response('200 OK', [('Content-type', 'text/plain')])
    return ['The current value is: %d' % session['value']]

wsgi_app = SessionMiddleware(simple_app, type='dbm', data_dir='./cache')

Source

The latest developer version is available in a Subversion repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Beaker-0.7.3.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Beaker-0.7.3-py2.4.egg (57.4 kB view details)

Uploaded Egg

File details

Details for the file Beaker-0.7.3.tar.gz.

File metadata

  • Download URL: Beaker-0.7.3.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Beaker-0.7.3.tar.gz
Algorithm Hash digest
SHA256 c4db5a611ec8391f8c1f01bcda0eb57f26a68b2008b51228b5ff2f6a9e489675
MD5 c47714b4704a8d17b930a87543888ab9
BLAKE2b-256 6395c73face85b2510781f24960331ba0ba68a54eced47bea41a3988ffe69ecb

See more details on using hashes here.

File details

Details for the file Beaker-0.7.3-py2.4.egg.

File metadata

  • Download URL: Beaker-0.7.3-py2.4.egg
  • Upload date:
  • Size: 57.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Beaker-0.7.3-py2.4.egg
Algorithm Hash digest
SHA256 5ebc4f4e4af3d82963d21147a54f16e69fc224d6a8ef1a97f4810044c9d975f9
MD5 b61333b9edaff36fc66e7a9c8a20c54e
BLAKE2b-256 1de577c79431ffaf4daf9b133b56d4ee56e84f734f3eae2b218cff854f87d92e

See more details on using hashes here.

Release history Release notifications | RSS feed

1.14.1

2 files

1.14.0

2 files

1.13.0

1 file

1.12.1

1 file

1.12.0

1 file

1.11.0

1 file

1.10.1

1 file

1.10.0

1 file

1.9.1

1 file

1.9.0

1 file

1.8.1

1 file

1.8.0

1 file

1.7.0

1 file

1.6.5.post1

1 file

1.6.5

1.6.4

1 file

1.6.3

1 file

1.6.2

1 file

1.6.1

1 file

1.6

1 file

1.5.4

1 file

1.5.3

1 file

1.5.2

1 file

1.5.1

2 files

1.5

2 files

1.4.3

1 file

1.4.2

2 files

1.4.1

2 files

1.4

2 files

1.3.1

2 files

1.3

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1

1 file

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0

2 files

0.9.5

2 files

0.9.4

1 file

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9

2 files

0.8.1

2 files

0.8

2 files

0.7.5

2 files

0.7.4

2 files

This release

0.7.3 This release

2 files

0.7.2

2 files

0.7.1

2 files

0.7

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6

2 files

0.5

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page