Size: 1383
Comment:
|
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. |
Masthead
- URL
- licence
- Sources are uncopyrighted. Use for any purpose.
- platforms
- Built and tested under Linux and Win2K.
DB API 2.0 Drivers
pysqlite
- URL
- SourceForge
- 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
- 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.