Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2002-08-30 15:19:41
Size: 1383
Editor: c-44b871d5
Comment:
Revision 8 as of 2007-06-16 00:52:29
Size: 2251
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
  URL:: http://www.hwaci.com/sw/sqlite/   URL:: http://sqlite.org/
Line 12: Line 12:
=== PySQLite === === pysqlite ===
Line 14: Line 14:
  URL:: http://pysqlite.sourceforge.net/   URL:: http://pysqlite.org/
Line 16: Line 16:
  licence:: Python Licence
  platforms:: Windows 95/98/2000, POSIX
  Python versions:: 2.1 - 2.2
  licence:: zlib/libpng License
  platforms:: Windows 95/98/2000/XP, POSIX, MacOS X
  Python versions:: 2.1 or later (1.x branch)/2.3 or later (2.0 branch). Included in Python 2.5.
Line 22: Line 22:
  * Support for Unicode conversion
  * Due to SQLite being an embedded database, it's possible to write SQL functions and aggregates in Python
  * Extensible type conversion
  * Factories for connection and cursor objects
  * row converter factory to easily and efficiently switch to a nonstandard type for rows (e. g. dicts)
  * User-defined functions and aggregates
Line 29: Line 31:
=== driver name === === APSW ===
Line 31: Line 33:
  URL::
  licence::
  platforms::
  Python versions::
  URL:: http://www.rogerbinns.com/apsw.html
  licence:: zlib/libpng license
  platforms:: Windows, POSIX
  Python versions:: ?
Line 37: Line 39:

APSW is a SQLite 3 wrapper that provides a thin layer over SQLite 3. Although APSW looks vaguely similar to the DBAPI, it is not compliant with that API and instead mirrors the way SQLite 3 works.
Line 41: Line 45:

 * Thuban (GIS application)
 * Roundup (issue tracker)
 * PyPI (Python Package Index)
 * Trac (issue tracker, wiki, Subversion web frontend)
 * Cloud Wiki (wiki)
 * Supybot (IRC bot framework)
 * PyAddbook (Address Book)
Line 48: Line 60:
 * it dosn't put all data in memory like gadflay does  * it doesn't put all data in memory like gadfly does (yet you can do that if you want, just use ':memory:' as filename
Line 50: Line 62:

(Comment by Dirk Holtwick, holtwick at spirito.de)
 * Implements almost all of SQL92
Line 55: Line 66:
 * Only a small subset of SQL.
 * Untyped!
 * SQLite only supports the basic types NULL, INTEGER, FLOAT, TEXT and BLOB
 * If you want to use other types like DATE and TIME in pysqlite, you need to use its "pysqlite types mode", where things can get a little nastier.

TableOfContents

Masthead

URL

http://sqlite.org/

licence
Sources are uncopyrighted. Use for any purpose.
platforms
Built and tested under Linux and Win2K.

DB API 2.0 Drivers

pysqlite

URL

http://pysqlite.org/

SourceForge

http://sourceforge.net/projects/pysqlite

licence
zlib/libpng License
platforms
Windows 95/98/2000/XP, POSIX, MacOS X
Python versions
2.1 or later (1.x branch)/2.3 or later (2.0 branch). Included in Python 2.5.

Extensions to DB API

  • Extensible type conversion
  • Factories for connection and cursor objects
  • row converter factory to easily and efficiently switch to a nonstandard type for rows (e. g. dicts)
  • User-defined functions and aggregates

Comments

Other Drivers

APSW

URL

http://www.rogerbinns.com/apsw.html

licence
zlib/libpng license
platforms
Windows, POSIX
Python versions
?

Programming Model

APSW is a SQLite 3 wrapper that provides a thin layer over SQLite 3. Although APSW looks vaguely similar to the DBAPI, it is not compliant with that API and instead mirrors the way SQLite 3 works.

Comments

Supported Python Applications

  • Thuban (GIS application)
  • Roundup (issue tracker)
  • PyPI (Python Package Index)
  • Trac (issue tracker, wiki, Subversion web frontend)
  • Cloud Wiki (wiki)
  • Supybot (IRC bot framework)
  • PyAddbook (Address Book)

Pros

I think SQLite may be a good replacement for gadfly, because:

  • the main engine is written in C, so it should be faster than the gadfly implementation in Python
  • it's extensible in a very easy way via Python
  • it doesn't put all data in memory like gadfly does (yet you can do that if you want, just use ':memory:' as filename
  • It's very cool for small databased application, because you do not have to start an external DBMS
  • Implements almost all of SQL92

Cons

  • SQLite only supports the basic types NULL, INTEGER, FLOAT, TEXT and BLOB
  • If you want to use other types like DATE and TIME in pysqlite, you need to use its "pysqlite types mode", where things can get a little nastier.

SQLite (last edited 2012-01-30 07:26:58 by 50-0-67-239)

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