Skip to main content

A caching integration for Yosai

Project description

# Yosai DPCache: “DogPile” Cache Integration

![](/img/cache_bw.png)

This is a Yosai integration using a fork of the dogpile project, authored by Mike Bayer.

The dogpile project consists of two sub-projects: dogpile.core and dogpile.cache. Yosai_DPCache is a fork of these projects, replacing pickle-based serialization with serialization supported by Yosai and making a few other customizations.

## Serialization

![](/img/serialization_process.png)

Yosai reduces objects to their serializable form using the marshmallow library, encodes the “reductions” with msgpack, json, or other encoding scheme, and then caches the objects.

Objects obtained from cache are de-serialized back into their reduced forms and then re-materialized into Yosai objects.

## Installation

Install YosaiDPCache from PyPI using pip: pip install yosai_dpcache

## Setup

A YosaiDPCache.DPCacheHandler can be configured through one of two ways:

  • Option 1: YAML Config File
    1. Define a system environment variable, YOSAI_CACHE_SETTINGS, that points to the location of cache_settings.yaml file and make sure that the file permissions make it readable.

    2. Instantiate a DPCacheHandler without arguments.

  • Option 2: instantiate a DPCacheHandler, passing all of the required

    arguments (see cachehandler.py and settings.py for detail)

## Dev Status (as of YosaiDPCache v0.0.5)

### Redis is Ready for Use

Only Redis support has been implemented and ad-hoc tested.

### Unit testing is Pending

Integrated testing of yosai includes YosaiDPCache, and so YosaiDPCache is included with automated testing. However, YosaiDPCache needs its own unit tests covering its customizations.

Project details


Download files

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

Source Distribution

yosai_dpcache-0.3.0.tar.gz (100.9 kB view details)

Uploaded Source

Built Distribution

yosai_dpcache-0.3.0-py2.py3-none-any.whl (29.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file yosai_dpcache-0.3.0.tar.gz.

File metadata

File hashes

Hashes for yosai_dpcache-0.3.0.tar.gz
Algorithm Hash digest
SHA256 20e8845d888e707c9acdebe2f72421e5ac7d1778a600bd82a2082e6dc5c3726d
MD5 4a974e11ce61d0888848dad8430bd6e1
BLAKE2b-256 cc45788313c57fff7ad37a2a53cbb235e034b733b768e946140c99e1d51ec59c

See more details on using hashes here.

File details

Details for the file yosai_dpcache-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for yosai_dpcache-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3aced98391951d32aef0fb905b87ffd75c1e67553a2d5cb76b8116a7bf8d0e32
MD5 5abe023965c1746373eb448eec1e332e
BLAKE2b-256 819417a0fef23e7782dcb05214f4efef5d968d11c8b302da76e4ba1e3972a29f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page