= 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 == [[http://docs.python.org/lib/module-anydbm.html|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. [[http://docs.python.org/lib/module-dbm.html|DBM]],<
> [[http://docs.python.org/lib/module-gdbm.html|GDBM]],<
> [[http://docs.python.org/lib/module-dbhash.html|dbhash]] Included with the standard Python distribution. Each of these modules is an interface to a specific library. [[http://docs.python.org/lib/module-bsddb.html|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. [[http://www.equi4.com/metakit/|Metakit]] MetaKit is a C++ library for storage, transport, and manipulation of structured objects and collections. A Python interface is available. [[http://www.lemburg.com/files/python/mxBeeBase.html|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. [[http://python-dsv.sourceforge.net/|Python-DSV]] parses comma-separated value (CSV) files or similar delimiter-separated files (see also PEP:0305). The xBase .dbf file format used by several old systems such as dBase(II,III,IV), Fox(Base,Pro) * xBase (http://linux.techass.com/projects/xdb/) - Python interface in plans * http://www.fiby.at/dbfpy/index.html * http://cbbrowne.com/info/xbase.html * http://www.clicketyclick.dk/databases/xbase/format/ == Persistent Objects == [[http://docs.python.org/lib/module-pickle.html|pickle.py]] Included with the standard Python distribution. The {{{pickle}}} module can convert Python objects to and from a string representation. [[http://docs.python.org/lib/module-shelve.html|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. [[http://sourceforge.net/projects/pypersyst/|PyPerSyst]] A portable object database management system (ODBMS) as well as a database application framework. PyPerSyst works well with Pyro and Twisted. [[http://starship.python.net/crew/jmenzel/|PyVersant]] A wrapper for the [[http://www.versant.com|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. * DirectoryStorage: http://dirstorage.sourceforge.net/ * RelStorage: http://pypi.python.org/pypi/RelStorage [[http://www.mems-exchange.org/software/durus/|Durus]] 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.