APSW 3.39.4.0 is now available. The project is at
https://github.com/rogerbinns/apsw which includes full documentation, downloads, and more.
APSW is a wrapper around SQLite that provides all SQLite API functionality in Python. It is not DBAPI compliant as it provides SQLite semantics. sqlite3 provides DBAPI semantics. You can see the two approaches contrasted at
https://rogerbinns.github.io/apsw/pysqlite.html
Changelist is below and at
https://rogerbinns.github.io/apsw/changes.html
Added Connection.cache_stats() to provide more information about the statement cache.
Cursor.execute() now uses sqlite_prepare_v3 which allows supplying flags.
Cursor.execute() has a new can_cache parameter to control whether the query can use the statement cache. One example use is with authorizers because they only run during prepare, which doesn’t happen with already cached statements.
(The Cursor.execute() additional parameters are keyword only and also present in Cursor.executemany(), and the corresponding Connection.execute() and Connection.executemany() methods.)
Added Cursor.is_readonly, Cursor.is_explain, and Cursor.expanded_sql.
Updated processing named bindings so that types registered with collections.abc.Mapping (such as collections.UserDict) will also be treated as dictionaries. (APSW issue 373)
Roger