Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2003-02-06 19:12:23
Size: 1097
Editor: MikeRovner
Comment:
Revision 15 as of 2003-03-20 20:20:32
Size: 3996
Editor: pD9E39DD2
Comment: added PyTables
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
  ''This page seems to duplicate ChoosingDatabase, wouldn't it be better to merge shelve and the rest there? -- DanielDittmar [[DateTime(2003-02-11T23:15:22)]]''

  ''I don't think so. Now they surely have to be refactored both, but ChoosingDatabase seems to be a good page for one place for categorized comparision to narrow novice's choice while that is merely a catalog. -- MikeRovner [[DateTime(2003-02-11T16:50:45)]]''

  ''I seems missed DbApiModuleComparison page. Probably I better combine them with links from both places. -- MikeRovner [[DateTime()]]''



[[TableOfContents]]
Line 3: Line 13:

Take a look at
http://www.python.org/topics/database/modules.html and
http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/.
Line 4: Line 19:
 * mysqldb module http://www.mysql.com/downloads/api-python.html
 * SnakeDb (http://www.scriptfoundry.com/modules/snakedb/)
Line 5: Line 23:
pypgsql (http://pypgsql.sf.net/)
Line 6: Line 26:

See ["Oracle"] for details, there are two choices:
 * dcOracle
 * cx_Oracle
Line 7: Line 32:
module developed by Dave Cole http://www.object-craft.com.au/projects/sybase/
Line 8: Line 35:
Line 9: Line 37:


= Native Python Databases =

== gadfly ==
Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language.
Currently use C-extension module for speed. Pure Python version included.
http://gadfly.sourceforge.net/

== ZODB ==
http://www.zope.org/Wikis/ZODB Zope Object DB

== shelve ==
A [http://www.python.org/doc/current/lib/module-shelve.html ''shelf''] is a persistent, dictionary-like object. The difference with ''dbm'' databases is that the values (not the keys!) in a shelf can be essentially arbitrary Python objects -- anything that the [http://www.python.org/doc/current/lib/module-pickle.html pickle] module can handle. This includes most class instances, recursive data types, and objects containing lots of shared sub-objects. The keys are ordinary strings.
Line 16: Line 58:
.bdf files were produced by several old systems like dBase(II,III,IV), Fox(Base,Pro)
 * xBase (http://linux.techass.com/projects/xdb/)
.dbf files were produced by several old systems like dBase(II,III,IV), Fox(Base,Pro)
 * xBase (http://linux.techass.com/projects/xdb/) - Python interface in plans
Line 33: Line 75:
== gadfly == == MetaKit ==
http://www.equi4.com/metakit/python.html

== SQLite ==
Actualy it's a full-fleged SQL server, but embeddable. No external SQL server required. Think of Gadfly, only faster.
http://PySQLite.sf.net

= XML Databases or Interfaces =

== Forest ==

[http://cvs.infrae.com/forest/ Forest] is a (native) XML database written in Python. It is intended to
support fast queries of XML data.


== 4ODS ==

http://www.4suite.org/


= Object-Relational Mappers =

== SQLObject ==

[http://sqlobject.org SQLObject] is an object-relational mapper. It allows you to translate
RDBMS table rows into Python objects, and manipulate those objects to
transparently manipulate the database.


= Special file interface =

 * http://python-dsv.sourceforge.net/ CSV or any separated file (see also PEP:0305)
 * ConfigParser.py - Windows .ini format
 * gzip.py
 * zipfile.py
 * tar
 * pdf http://www.pythonware.com/
 * PyTables

TableOfContents

DBMS interfaces

Things you connect to.

Take a look at http://www.python.org/topics/database/modules.html and http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/.

MySQL

PostgreSQL

pypgsql (http://pypgsql.sf.net/)

Oracle

See ["Oracle"] for details, there are two choices:

  • dcOracle
  • cx_Oracle

Sybase

module developed by Dave Cole http://www.object-craft.com.au/projects/sybase/

MSSQL

BerkeleyDb

Native Python Databases

gadfly

Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language. Currently use C-extension module for speed. Pure Python version included. http://gadfly.sourceforge.net/

ZODB

http://www.zope.org/Wikis/ZODB Zope Object DB

shelve

A [http://www.python.org/doc/current/lib/module-shelve.html shelf] is a persistent, dictionary-like object. The difference with dbm databases is that the values (not the keys!) in a shelf can be essentially arbitrary Python objects -- anything that the [http://www.python.org/doc/current/lib/module-pickle.html pickle] module can handle. This includes most class instances, recursive data types, and objects containing lots of shared sub-objects. The keys are ordinary strings.

Datafiles interfaces

Things you open.

xBase

Which stands for .dbf files interface.BR .dbf files were produced by several old systems like dBase(II,III,IV), Fox(Base,Pro)

dbm

A family of old unix plain hash tables. Has varieties like dbm, ndbm, gdbm, dbmdb185.BR See [http://www.python.org/doc/current/lib/module-anydbm.html anydbm], [http://www.python.org/doc/current/lib/module-dumbdbm.html dumbdbm], [http://www.python.org/doc/current/lib/module-dbhash.html dbhash], [http://www.python.org/doc/current/lib/module-bsddb.html bsddb], [http://www.python.org/doc/current/lib/module-dbm.html dbm], [http://www.python.org/doc/current/lib/module-gdbm.html gdbm] in Python Standard Library.

MetaKit

http://www.equi4.com/metakit/python.html

SQLite

Actualy it's a full-fleged SQL server, but embeddable. No external SQL server required. Think of Gadfly, only faster. http://PySQLite.sf.net

XML Databases or Interfaces

Forest

[http://cvs.infrae.com/forest/ Forest] is a (native) XML database written in Python. It is intended to support fast queries of XML data.

4ODS

http://www.4suite.org/

Object-Relational Mappers

SQLObject

[http://sqlobject.org SQLObject] is an object-relational mapper. It allows you to translate RDBMS table rows into Python objects, and manipulate those objects to transparently manipulate the database.

Special file interface

DatabaseInterfaces (last edited 2020-12-09 09:29:13 by MarcAndreLemburg)

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