Source

shove /

Filename Size Date modified Message
shove
test3
215 B
282 B
1.5 KB
1.6 KB
101 B
1.6 KB
2.5 KB
2.3 KB
672 B

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

Currently supported storage backends are:

  • Amazon S3 Web Service
  • Apache Cassandra
  • Berkeley Source Database
  • DBM
  • Durus
  • FTP
  • Filesystem
  • Firebird
  • HDF5
  • LevelDB
  • Memory
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Redis
  • SQLite
  • Subversion
  • Zope Object Database (ZODB)

Currently supported caching backends are:

  • Filesystem
  • Firebird
  • Memory
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Redis
  • SQLite
  • memcache

The simplest shove use case is:

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

which creates an in-memory store and cache.

The 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 fully implements the Python dictionary/mapping API:

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

Stores objects in multiple storage backends simultaneously with dictionary-style access, caching, and object serialization and compression.

The use of multiple backends for storage involves passing multiple store URIs or instances to multishove following the form:

from multishove import MultiShove

<storename> = MultiShove(<store_uri1>, <store_uri2> ..., cache=<cache_uri>)