2355
Comment:
|
4470
missing dbfpy.tgz located
|
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]] See also HigherLevelDatabaseProgramming |
|
Line 2: | Line 14: |
Things you connect to. [[BR]] | Things you connect to. |
Line 8: | Line 21: |
mysqldb module http://www.mysql.com/downloads/api-python.html | * mysqldb module http://www.mysql.com/downloads/api-python.html * SnakeDb (http://www.scriptfoundry.com/modules/snakedb/) |
Line 11: | Line 25: |
pypgsql (http://pypgsql.sf.net/) | * psycopg (http://www.zope.org/Members/fog/psycopg) (!) preferable * pypgsql (http://pypgsql.sf.net/) * ["sipPQ"] * PyGreSQL (http://www.pygresql.org) and PoPy (http://sourceforge.net/projects/popy) are [http://archives.postgresql.org/pgsql-announce/2003-07/msg00002.php merging] |
Line 14: | Line 31: |
See ["Oracle"] for details, there are two choices: |
|
Line 15: | Line 34: |
* cxOracle | * cx_Oracle |
Line 24: | Line 43: |
== ThinkSQL == * Pure Python DB-API 2.0 module http://www.thinksql.co.uk = 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 30: | Line 65: |
.bdf files were produced by several old systems like dBase(II,III,IV), Fox(Base,Pro) | .dbf files were produced by several old systems like dBase(II,III,IV), Fox(Base,Pro) |
Line 32: | Line 67: |
* http://www.fiby.at/dbfpy.html | * http://www.fiby.at/dbfpy.html - file missing (take it [http://starship.python.net/crew/jjkunce/python/dbfpy.tgz here]) |
Line 35: | Line 70: |
* http://www.e-bachmann.dk/docs/xbase.htm | * http://www.e-bachmann.dk/docs/xbase.htm - dead link |
Line 50: | Line 85: |
= Native Python Databases = | == 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 |
Line 52: | Line 89: |
== 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/ |
= XML Databases or Interfaces = |
Line 57: | Line 91: |
== ZODB == Zope Object DB |
== Forest == |
Line 60: | Line 93: |
== 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. |
[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 |
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()
See also HigherLevelDatabaseProgramming
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
mysqldb module http://www.mysql.com/downloads/api-python.html
PostgreSQL
psycopg (http://www.zope.org/Members/fog/psycopg) preferable
pypgsql (http://pypgsql.sf.net/)
- ["sipPQ"]
PyGreSQL (http://www.pygresql.org) and PoPy (http://sourceforge.net/projects/popy) are [http://archives.postgresql.org/pgsql-announce/2003-07/msg00002.php merging]
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
ThinkSQL
Pure Python DB-API 2.0 module http://www.thinksql.co.uk
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)
xBase (http://linux.techass.com/projects/xdb/) - Python interface in plans
http://www.fiby.at/dbfpy.html - file missing (take it [http://starship.python.net/crew/jjkunce/python/dbfpy.tgz here])
http://www.e-bachmann.dk/docs/xbase.htm - dead link
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
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 0305)
ConfigParser.py - Windows .ini format
- gzip.py
- zipfile.py
- tar