3874
Comment:
|
7153
Expand MySQL info
|
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()]]'' |
|
Line 11: | Line 3: |
= DBMS interfaces = Things you connect to. |
= See also = * ChoosingDatabase * DbApiModuleComparison * HigherLevelDatabaseProgramming * http://www.python.org/topics/database/modules.html * [http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/ Category in the Open Directory Project] |
Line 14: | Line 10: |
Take a look at http://www.python.org/topics/database/modules.html and http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/. |
= Relational database = Databases based on relational model, with support for SQL. |
Line 19: | Line 14: |
* mysqldb module http://www.mysql.com/downloads/api-python.html * SnakeDb (http://www.scriptfoundry.com/modules/snakedb/) |
* MySQLdb * [http://sourceforge.net/projects/mysql-python SourceForge Project]: Download, report bugs, forums * [http://dev.mysql.com/downloads/python.html MySQL AB]: MySQL on-line documentation, additional forums (maintainer does not currently read these) |
Line 23: | Line 19: |
pypgsql (http://pypgsql.sf.net/) | * psycopg * psycopg1: http://initd.org/projects/psycopg1 * psycopg2: http://initd.org/projects/psycopg2 * pyPgSQL: http://pypgsql.sourceforge.net/ * PyGreSQL: http://www.pygresql.org/ * PoPy: http://sourceforge.net/projects/popy * PoPy and PyGreSQL are [http://www.zope.org/Members/tm/Full_Announce merging] * PostgresPy: http://python.projects.postgresql.org/ * 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 * ["sipPQ"] == 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. |
Line 26: | Line 41: |
* cx_Oracle: http://www.python.net/crew/atuining/cx_Oracle/ * DCOracle: http://www.zope.org/Products/DCOracle/ * This is for old Oracle versions (7 and 8). * DCOracle2: http://www.zope.org/Members/matt/dco2 * For Oracle 8i and up. |
|
Line 27: | Line 47: |
See ["Oracle"] for details, there are two choices: * dcOracle * cx_Oracle |
== MSSQL == * mssql: http://www.object-craft.com.au/projects/mssql/ * pymssql: http://pymssql.sourceforge.net/ == DB2 == * PyDB2: http://sourceforge.net/projects/pydb2 == Firebird/InterBase == * KInterbasDB: http://kinterbasdb.sourceforge.net/ |
Line 32: | Line 58: |
module developed by Dave Cole http://www.object-craft.com.au/projects/sybase/ | * sybase: http://www.object-craft.com.au/projects/sybase/ |
Line 34: | Line 60: |
== MSSQL == | == MaxDB/SAP == * sapdb: http://dev.mysql.com/doc/maxdb/interfaces.html |
Line 36: | Line 63: |
== BerkeleyDb == | == Informix == * InformixDB: http://informixdb.sourceforge.net/ |
Line 38: | Line 66: |
== Ingres == * ingresdbi: http://www.ingres.com/products/Prod_Download_Drivers.html == ThinkSQL == * http://www.thinksql.com/ == ODBC == * pyodbc: http://pyodbc.sourceforge.net/ * mxODBC: http://www.egenix.com/files/python/mxODBC.html * ODBTPAPI: http://benjiyork.com/odbtp.html == ADO == * adodbapi: http://adodbapi.sourceforge.net/ |
|
Line 41: | Line 82: |
== 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. |
== Gadfly == Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language. |
Line 46: | Line 87: |
== 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/ |
|
Line 47: | Line 93: |
http://www.zope.org/Wikis/ZODB Zope Object DB | Zope Object Database. * http://www.zope.org/Wikis/ZODB/FrontPage * DirectoryStorage: http://dirstorage.sourceforge.net/ * PGStorage: http://hathawaymix.org/Software/PGStorage == Durus == Durus is a persistent object system for applications written in the Python programming language. Durus offers an easy way to use and maintain a consistent collection of object instances used by one or more processes. Access and change of a persistent instances is managed through a cached Connection instance which includes commit() and abort() methods so that changes are transactional. http://www.mems-exchange.org/software/durus/ == Pypersyst == Pypersyst provides fast, reliable, and flexible object persistence with a small footprint, suitable for embedding in other Python applications. http://pypersyst.org/ |
Line 51: | Line 111: |
== KirbyBase == http://www.netpromi.com/kirbybase.html |
|
Line 60: | Line 123: |
* http://www.fiby.at/dbfpy.html | * http://www.fiby.at/dbfpy/index.html - working now. or (take it [http://starship.python.net/crew/jjkunce/python/dbfpy.tgz here]) |
Line 63: | Line 126: |
* http://www.e-bachmann.dk/docs/xbase.htm | * http://www.e-bachmann.dk/docs/xbase.htm - dead link |
Line 78: | Line 141: |
== 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 85: | Line 144: |
Forest is a (native) XML database written in Python. It is intended to support fast queries of XML data. | |
Line 86: | Line 146: |
http://cvs.infrae.com/forest/ | https://infrae.com/viewvc/old/forest/ |
Line 92: | Line 152: |
== xsdbXML == http://xsdb.sourceforge.net/ |
|
Line 94: | Line 156: |
== SQLObject == |
|
Line 101: | Line 161: |
[http://orm.nongnu.org/ ORM] ([http://freshmeat.net/projects/orm/ Freshmeat entry]) 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. QLime ([http://freshmeat.net/projects/qlime/ Freshmeat entry]) Easy to use, transparent data access to relational databases or other data sources. See examples here: http://www.qlime.org/example.rst '''Note: qlime.org does not currently provide the QLime site''' |
|
Line 110: | Line 173: |
* PyTables |
See also
[http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/ Category in the Open Directory Project]
Relational database
Databases based on relational model, with support for SQL.
MySQL
- MySQLdb
[http://sourceforge.net/projects/mysql-python SourceForge Project]: Download, report bugs, forums
[http://dev.mysql.com/downloads/python.html MySQL AB]: MySQL on-line documentation, additional forums (maintainer does not currently read these)
PostgreSQL
- psycopg
psycopg1: http://initd.org/projects/psycopg1
psycopg2: http://initd.org/projects/psycopg2
pyPgSQL: http://pypgsql.sourceforge.net/
PyGreSQL: http://www.pygresql.org/
PoPy: http://sourceforge.net/projects/popy
PoPy and PyGreSQL are [http://www.zope.org/Members/tm/Full_Announce 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
- ["sipPQ"]
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.
Oracle
DCOracle: http://www.zope.org/Products/DCOracle/
- This is for old Oracle versions (7 and 8).
DCOracle2: http://www.zope.org/Members/matt/dco2
- For Oracle 8i and up.
MSSQL
DB2
Firebird/InterBase
KInterbasDB: http://kinterbasdb.sourceforge.net/
Sybase
MaxDB/SAP
Informix
InformixDB: http://informixdb.sourceforge.net/
Ingres
ThinkSQL
ODBC
pyodbc: http://pyodbc.sourceforge.net/
ODBTPAPI: http://benjiyork.com/odbtp.html
ADO
adodbapi: http://adodbapi.sourceforge.net/
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
Durus
Durus is a persistent object system for applications written in the Python programming language. Durus offers an easy way to use and maintain a consistent collection of object instances used by one or more processes. Access and change of a persistent instances is managed through a cached Connection instance which includes commit() and abort() methods so that changes are transactional.
http://www.mems-exchange.org/software/durus/
Pypersyst
Pypersyst provides fast, reliable, and flexible object persistence with a small footprint, suitable for embedding in other Python applications.
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
XML Databases or Interfaces
Forest
Forest is a (native) XML database written in Python. It is intended to support fast queries of XML data.
https://infrae.com/viewvc/old/forest/
4ODS
xsdbXML
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://orm.nongnu.org/ ORM] ([http://freshmeat.net/projects/orm/ Freshmeat entry]) 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.
QLime ([http://freshmeat.net/projects/qlime/ Freshmeat entry]) Easy to use, transparent data access to relational databases or other data sources. See examples here: http://www.qlime.org/example.rst Note: qlime.org does not currently provide the QLime site
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