Skip to content

hansent/shove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • git
  • HDF5
  • LevelDB
  • Memory
  • Mercurial
  • Microsoft SQL Server
  • MongoDB
  • 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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages