6229
Comment: ZODB storages
|
6418
ODBC
|
Deletions are marked like this. | Additions are marked like this. |
Line 55: | Line 55: |
== MaxDB/SAP DB == * http://dev.mysql.com/doc/maxdb/interfaces.html |
|
Line 63: | Line 66: |
== ODBC == * pyodbc: http://pyodbc.sourceforge.net/ * mxODBC: http://www.egenix.com/files/python/mxODBC.html |
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
PostgreSQL
- psycopg
psycopg1: http://initd.org/projects/psycopg1
psycopg2: http://initd.org/projects/psycopg2
pyPgSQL: http://pypgsql.sourceforge.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]
pgasync: http://jamwt.com/pgasync/
- Asynchronous and pure Python. Speed comparable to C bindings. Special support for Twisted.
bpgsql: http://barryp.org/software/bpgsql/
- Barebones pure-Python PostgreSQL client
Oracle
See ["Oracle"] for details, there are two choices:
- dcOracle
- cx_Oracle
Firebird/Interbase
KInterbasDB: http://kinterbasdb.sourceforge.net/
Sybase
by Dave Cole: http://www.object-craft.com.au/projects/sybase/
MSSQL
by Dave Cole: http://www.object-craft.com.au/projects/mssql/
pymssql: http://pymssql.sourceforge.net/
DB2
MaxDB/SAP DB
ThinkSQL
Pure Python DB-API 2.0 module: http://www.thinksql.com/
Informix
InformixDB: http://informixdb.sourceforge.net/
Ingres
ODBC
Native Python Databases
Gadfly
Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language.
http://gadfly.sourceforge.net/
SnakeSQL
SnakeSQL is a pure Python SQL database written to remove the dependence of the Python Web Modules on 3rd party drivers for non-Python databases like MySQL but designed to be a useful database in its own right.
http://www.pythonweb.org/projects/snakesql/
ZODB
Zope Object Database.
PGStorage: http://hathawaymix.org/Software/PGStorage
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.
KirbyBase
http://www.netpromi.com/kirbybase.html
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/index.html - working now. or (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
pysqlite: http://pysqlite.org/
- Have versions for both SQLite 2 and 3.
APSW: http://www.rogerbinns.com/apsw.html
- SQLite 3 only.
- Not DBAPI compliant. Focus on wrapping all SQLite APIs.
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
[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.
[http://www.tux4web.de/orm ORM] The Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB or other persistence storage systems. It is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible. It works with PostgreSQL and MySQL.
[http://www.qlime.org/ QLime] Easy to use, transparent data access to relational databases or other data sources. See examples here: http://www.qlime.org/example.rst
See also HigherLevelDatabaseProgramming.
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