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

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 3.53.1.0, Package name: py313-apsw-3.53.1.0, 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: 2797.256 KB

Version history: (Expand)


CVS history: (Expand)


   2026-05-06 10:24:12 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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.