./databases/py-apsw, Python wrapper for SQLite

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version:, Package name: py310-apsw-, Maintainer: rhialto

APSW provides an SQLite 3 wrapper that provides the thinnest layer over
the SQLite database library possible. Everything you can do from the
SQLite C API, you can do from Python. Although APSW looks vaguely
similar to the PEP 249 (DBAPI), it is not compliant with that API
because instead it works the way SQLite 3 does.

Required to run:
[databases/sqlite3] [lang/python310]

Master sites:

Filesize: 3967.004 KB

Version history: (Expand)

CVS history: (Expand)

   2023-05-25 11:58:29 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-apsw: updated to

SQLITE_ENABLE_COLUMN_METADATA is enabled when installing APSW from PyPI (binary \ 
or source). (APSW issue 435)

Type stubs and typing information in the documentation use newer Python \ 
conventions such as | instead of Union and list instead of typing.List, being \ 
more concise and readable. (A recent Python is required to use them, but they \ 
have no effect at runtime.) (APSW issue 438)

Shell: Errors when SQLite are preparing a statement now show the relevant \ 
extract of the query, and where the error was detected.

Shell: Output modes table (ASCII line drawing, lots of sanitization), box \ 
(Unicode line drawing) and qbox (box with quoted values) available. Python 3.7+ \ 
(APSW issue 420)

Shell: if started interactively then box is the default mode (list remains the \ 
default in non-interactive)

Added Connection.pragma() to execute pragmas and get results. (APSW issue 432)

Added Cursor.get returning query results with the least amount of structure. \ 
(APSW issue 389)

Fixed execution tracers should return comment text for comment only queries, and \ 
add Cursor.has_vdbe. (APSW issue 433)

Ensure that all applicable options are implemented for apsw.config(), \ 
Connection.config() and similar. (APSW issue 431)

Added apsw.sleep() (APSW issue 419)

Strings for apsw.VFS.xNextSystemCall() are interned avoiding memory leaks. (APSW \ 
issue 430)

Detect unbound recursion not handled by CPython, and handle better. (APSW issue 425)
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2023-03-29 15:04:34 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-apsw: updated to

Fixed APSW issue 412 in apsw.ext.make_virtual_module().

Added apsw.connections() to get all connections. (APSW issue 416)

sys.unraisablehook() is called correctly (APSW issue 410)

Be stricter where bool values are expected (eg VTTable.BestIndex()), only \ 
accepting int and bool. Previously you could for example supply strings and \ 
lists, which were almost certainly unintended errors.
   2023-03-06 13:27:07 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-apsw: updated to
Backwards incompatible change: Bindings using a dictionary with a missing key \ 
now result in a KeyError exception. You can use allow_missing_dict_bindings() to \ 
restore the old behaviour. (APSW issue 392)

Virtual table updates:

VTTable.BestIndexObject() is now available which provides IndexInfo exposing \ 
full control (APSW issue 332, APSW issue 329, APSW issue 278, APSW issue 188)
IndexInfo.set_aConstraintUsage_in() can have in values passed all at once to \ 
Exceptions in VTTable.FindFunction() are now reported as an unraisable exception \ 
because it isn't possible to tell SQLite about the error.
VTTable.FindFunction() can now return (int, callable) to allow for virtual table \ 
specific function overloads. (APSW issue 269)
Added Connection.vtab_config() and Connection.vtab_on_conflict() (APSW issue \ 
189, APSW issue 190)
Connection.createmodule() lets you have eponymous, eponymous_only, and read_only \ 
modules. (APSW issue 196)
Virtual table updates can avoid having to provide all column values when only a \ 
subset are changing. See apsw.no_change, Connection.createmodule() use_no_change \ 
parameter, VTCursor.ColumnNoChange() and VTTable.UpdateChangeRow() (APSW issue \ 
All virtual table methods are supported - added iVersion 2 and 3. You can \ 
specify the iVersion in Connection.createmodule() (APSW issue 128)
apsw.ext.make_virtual_module() makes it very easy to turn a Python function into \ 
a virtual table module.
apsw.ext.generate_series() and apsw.ext.generate_series_sqlite() added. (APSW \ 
issue 380)
   2023-01-17 11:25:51 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-apsw: updated to
Implemented window functions (APSW issue 292)

Function flags can be specified to Connection.createscalarfunction() and \ 
Connection.createaggregatefunction(). Added apsw.mapping_function_flags. (APSW \ 
issue 384)

Added Connection.trace_v2() with apsw.mapping_trace_codes and \ 
apsw.mapping_statement_status (APSW issue 383)

Ensure all SQLite APIs are wrapped. Connection.system_errno, apsw.strlike(), \ 
apsw.strglob(), apsw.stricmp(), apsw.strnicmp(), Connection.filename_wal, \ 
Connection.filename_journal, Connection.table_exists(), \ 
Connection.column_metadata(), Error.error_offset, Connection.cacheflush(), \ 
Connection.release_memory(), apsw.hard_heap_limit(). Connection.drop_modules() \ 
(APSW issue 382)

When an unraisable exception happens, sqlite3_log is now called so you will have \ 
context within SQLite’s actions. sys.unraisablehook is now called first, and \ 
if it doesn’t exist then sys.excepthook as before. (APSW issue 385)

When the wrong type is given for a function argument, the error message now \ 
includes the parameter name and function signature. (APSW issue 358)

Let SQLite do size checking instead of APSW for strings and blobs. (APSW issue 387)

Added apsw.ext.log_sqlite() which installs a handler that forwards SQLite \ 
messages to the logging module.

Added set_default_vfs() and unregister_vfs() taking vfs names. The test suite \ 
also unregisters ZipVFS (APSW issue 394)
   2022-11-28 10:18:54 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-apsw: updated to
Fixed regression in statement cache update (version 3.38.1-r1) where trailing \ 
whitespace in queries would be incorrectly treated as incomplete execution (APSW \ 
issue 376)

Added Various interesting and useful bits of functionality (APSW issue 369)

Added more Pythonic attributes as an alternative to getters and setters, \ 
including Connection.in_transaction, Connection.exectrace, Connection.rowtrace, \ 
Cursor.exectrace, Cursor.rowtrace, Cursor.connection (APSW issue 371)

Completed: To the extent permitted by CPython APIs every item has the same \ 
docstring as this documentation. Every API can use named parameters. The type \ 
stubs cover everything including constants. The type stubs also include \ 
documentation for everything, which for example Visual Studio Code displays as \ 
you type or hover. There is a single source of documentation in the source code, \ 
which is then automatically extracted to make this documentation, docstrings, \ 
and docstrings in the type stubs.

Example/Tour updated and appearance improved (APSW issue 367).
   2022-11-23 17:21:30 by Adam Ciarcinski | Files touched by this commit (1878) | Package updated
Log message:
massive revision bump after textproc/icu update
   2022-10-10 10:06:33 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-apsw: updated to

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)