Page

User

Other Persistent Storage Modules

The modules listed on this page provide mechanisms for storing data on disk. Some modules are simply the disk-based equivalent of dictionaries; others provide for persistent storage of arbitrary Python objects.

Disk-based Dictionaries

anydbmIncluded with the standard Python distribution. The anydbm module is a generic interface to all the DBM-like modules listed in the next two lines, selecting from whichever modules are installed.

DBM,GDBM,dbhashIncluded with the standard Python distribution. Each of these modules is an interface to a specific library.

BSDDBIncluded with the standard Python distribution. In addition to dictionary-like behaviour, this module also supports B-trees, which allows traversing the keys in sorted order.

MetakitMetaKit is a C++ library for storage, transport, and manipulation of structured objects and collections. A Python interface is available.

mxBeeBasemxBeeBase is a high performance construction kit for disk based indexed databases. It offers components which you can plug together to easily build your own custom mid-sized databases, up to around 2Gb on 32-bit platforms).

Persistent Objects

pickle.pyIncluded with the standard Python distribution. The pickle module can convert Python objects to and from a string representation.

shelve.pyIncluded with the standard Python distribution. Built on top of the pickle and anydbmmodules, the shelve module behaves like a persistent dictionary whose values can be arbitrary Python objects.

PyPerSystA portable object database management system (ODBMS) as well as a database application framework. PyPerSyst works well with Pyro and Twisted.

Durus is a persistent object system that offers an easy way to use and maintain a consistent collection of object instances used by one or more processes. Changes to persistent instances are managed through a cached Connection instance that includes commit() and abort() methods so that changes are transactional.