Hacker News new | ask | show | jobs
by rogerbinns 3971 days ago
(I am the APSW author). The reason why the sqlite3 module (aka pysqlite) behaves the way it does is because of DBAPI (Python standard database API). That tries to make all databases look and behave the same. pysqlite could do more - eg the SQLite error code could be an attribute on the exception, but the code base is very rarely updated.

Wanting a Python wrapper for SQLite that celebrated SQLite's features, functionality and semantics rather than paper them over is why I started APSW a decade ago. It also has considerably better testing and diagnostics, and is thread safe.

http://rogerbinns.github.io/apsw/pysqlite.html

1 comments

Thank you for your work on APSW, it's a fantastic library. I'm the author of the peewee ORM[1] and I've included an APSW backend[2] for folks who want to use peewee with APSW. Being able to write extension modules in Python is such a cool feature! I also made a demo that exposes Redis as a SQLite table[3].

[1] http://docs.peewee-orm.com/

[2] http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#a...

[3] https://github.com/coleifer/peewee/blob/master/examples/redi...