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

anydbm Included 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.

dbhash Included with the standard Python distribution. Each of these modules is an interface to a specific library.

BSDDB Included 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.

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

mxBeeBase mxBeeBase 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).

Data Writing and Parsing

PyTables reads and writes large amounts of numeric data.

Python-DSV parses comma-separated value (CSV) files or similar delimiter-separated files (see also 0305).

The xBase .dbf file format used by several old systems such as dBase(II,III,IV), Fox(Base,Pro)

Persistent Objects

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

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

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

PyVersant A wrapper for the Versant commercial OODBMS.

http://wiki.zope.org/ZODB The Zope Object Database is a persistent-object system that provides transparent transactional object persistence to Python applications.


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.

PersistenceTools (last edited 2009-11-05 20:35:33 by emedia)

Unable to edit the page? See the FrontPage for instructions.