|Deletions are marked like this.||Additions are marked like this.|
|Line 73:||Line 73:|
|* ODBTPAPI: http://benjiyork.com/odbtp.html|
[http://dmoz.org/Computers/Programming/Languages/Python/Modules/Databases_and_Persistence/ Category in the Open Directory Project]
Databases based on relational model, with support for SQL.
- Asynchronous and pure Python. Speed comparable to C bindings. Special support for Twisted.
- Barebones pure-Python PostgreSQL client
- Have versions for both SQLite 2 and 3.
- SQLite 3 only.
- Not DBAPI compliant. Focus on wrapping all SQLite APIs.
- This is for old Oracle versions (7 and 8).
- For Oracle 8i and up.
by Dave Cole: http://www.object-craft.com.au/projects/mssql/
by Dave Cole: http://www.object-craft.com.au/projects/sybase/
Pure Python DB-API 2.0 module: http://www.thinksql.com/
Native Python Databases
Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language.
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.
Zope Object Database.
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.
Pypersyst provides fast, reliable, and flexible object persistence with a small footprint, suitable for embedding in other Python applications.
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.
Things you open.
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
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.
XML Databases or Interfaces
Forest is a (native) XML database written in Python. It is intended to support fast queries of XML data.
[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