Overview

Common object storage frontend that supports dictionary-style access, object serialization and compression, and multiple storage and caching backends.

Supported storage backends out of the box are:

  • DBM
  • Filesystem
  • Memory
  • sqlite (disk or memory)

Current supported caching backends are:

  • Filesystem
  • Memory
  • sqlite (disk or memory)

The simplest shove use case...

>>> from shove import Shove
>>> store = Shove()

...which creates an in-memory store and cache.

Use of other backends for storage and caching involves passing an module URI or existing store or cache instance to shove following the form:

>>> from shove import Shove
>>> <storename> = Shove(<store_uri>, <cache_uri>)

Each module-specific URI form is documented in its module. The URI form follows the URI form used by SQLAlchemy:

http://www.sqlalchemy.org/docs/core/engines.html

shove implements the Python dictionary/mapping API:

http://docs.python.org/lib/typesmapping.html