the SQLite database library possible. Everything you can do from the
SQLite C API, you can do from Python. Although APSW looks vaguely
2026-05-06 10:24:12 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.53.1.0
3.53.1.0
Async cursor iteration: Cursor attributes like bindings_names, sql, and \
is_readonly will always correctly reflect the current iterated row. Backwards \
incompatible change: description, get_description(), and description_full are \
now values - ie you can just use them directly and should not await them.
|
2026-04-17 14:50:01 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
py-apsw: updated to 3.53.0.0
3.53.0.0
ChangesetBuilder adds ChangesetBuilder.add_insert(), \
ChangesetBuilder.add_delete(), ChangesetBuilder.add_update(), and \
ChangesetBuilder.config().
Added .limit command to the Shell
|
2026-03-15 10:36:53 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.51.3.0
3.51.3.0
The SQLite 3.52.0 release was withdrawn, so the corresponding APSW one was too.
Includes all the changes from the 3.52.0.0 release, except SQLITE_UTF8_ZT and \
sqlite3_carray_bind_v2.
SQLite extra adds extensions and programs that require the zlib compression \
library, notably zipfile and sqlar
|
2026-03-11 11:57:18 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
py-apsw: updated ot 3.52.0.0
3.52.0.0
Comprehensive async support - connections run in a dedicated worker thread with \
the event loop able to await the results.
asyncio, trio (note), and anyio (note) are supported and tested
Async callbacks can be used anywhere including:
scalar, window, and aggregate functions
virtual tables (only the methods you want)
apsw.ext.make_virtual_module()
VFS (again, only the methods you want)
the various other SQLite hooks
Cancellations and deadlines (timeouts) from the event loop apply to executing \
SQL as well as async callbacks
Type stubs as used by type checkers and IDEs reflect async usage
|
2026-01-10 18:05:16 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.51.2.0
3.51.2.0
apsw.ext.DataClassRowFactory now defaults slots to True for \
dataclasses.dataclass() which saves a small amount of memory.
|
| 2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525) |
Log message:
*: recursive bump for icu 78.1
|
2025-11-30 09:16:59 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-apsw: updated to 3.51.1.0
3.51.1.0
All objects that can be closed implement __bool__() which returns True while \
open and False when closed - Connection, Cursor, Backup, Blob, Session, \
ChangesetBuilder, Rebaser.
|
2025-11-06 17:15:46 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
py-apsw: updated to 3.51.0.0
3.51.0.0
JSON can be used as though it is a native type of SQLite, with automatic \
conversion of Python objects on writing and reading. (example)
Connection.convert_binding (and Cursor.convert_binding) callback to allow \
conversion of bindings when executing SQL.
Connection.convert_jsonb (and Cursor.convert_jsonb) callback to allow conversion \
of JSONB when reading query results. (JSONB is SQLite’s binary internal parsed \
format for quick operations on JSON.)
3 functions for working directly with JSONB allowing direct conversion between \
Python objects and JSONB, without having to go through the intermediate JSON \
text format.
Added apsw.ext.Function() for calling SQL functions directly from Python.
When using with (Connection context manager) you can set the outer transaction \
mode to DEFERRED (default) / IMMEDIATE / EXCLUSIVE. (APSW issue 578)
Changeset.apply() now takes filter_change parameter for allowing filtering on \
individual change level, taking advantage of sqlite3changeset_apply_v3
Updated Connection.status() to use 64 bit API, and apsw.ext.ShowResourceUsage() \
to show TEMPBUF_SPILL. (pragma cache_size controls the amount of temp/cache \
memory available.)
The percentile extension is enabled when enabling all extensions, which is \
standard for pypi downloads. It enables several percentile, median, and related \
SQL functions.
The carray extension is enabled when enabling all extensions, which is standard \
for pypi downloads. apsw.carray() allows binding bulk numbers, strings, and \
blobs to a query. See the example.
SQLITE_SCM_ constants (BRANCH, TAGS, DATETIME) are available on the module if \
built with the amalgamation.
apsw.ext.generate_series_sqlite() updated to exactly match SQLite’s behaviour. \
apsw.ext.generate_series() is recommended as it matches other databases.
Updated apsw.unicode to support Unicode 17.0 which adds 4,803 new codepoints, \
and updated line breaking, along with other small tweaks.
The Geopoly extension (GeoJSON access to RTree) is enabled when \
--enable-all-extensions is used with setup.py. This includes pypi builds.
This is the final release supporting Python 3.9.
|