Apsw

Latest version: v3.49.1.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 24

3.38.1r1

=========

All items now have full docstrings including type information.
(Previously just one line summaries). Note the C implemented
functions and data (ie almost all of APSW) can't provide the same
level of type information as regular Python code.

A pyi file is included which does provide all the typing
information in `type stub
<https://typing.readthedocs.io/en/latest/source/stubs.html>`__ format,
and shown by most IDEs.

Removal of code, tests, and documentation only relevant to CPython
before 3.7. (Python 3.6 does still work, but is end of life.)

Keyword arguments can be used everywhere.

The statement cache implementation changed from a dictionary to a
list. This allows the cache to be used for the same query text
multiple times. (The code is also a quarter of the size and simpler).

The default for setup.py's fetch command is to get the SQLite version
corresponding to APSW's release. (Previously it got the latest release.)

Added constants:

* SQLITE_INDEX_CONSTRAINT_OFFSET, SQLITE_INDEX_CONSTRAINT_LIMIT

3.37.0r1

=========

Allow breaking of reference cycles between objects that contain a
:obj:`Connection` or :obj:`Cursor`, and also use callbacks from that
object (eg busy handler). (:issue:`314`)

This is the last release supporting Python 2 and Python 3 before 3.7.
If you still use those Python versions then you should pin to this
APSW version. (`More information
<https://www.rogerbinns.com/blog/apsw-ending-python2early3.html>`__).

Windows Python 3.10 binaries are available to download. The .exe format
is no longer available with this Python version.

Fixed custom VFS extension loading failure could leave the error
message unterminated.

Updated size of mutex array used by the :func:`fork checker <fork_checker>`

Connections are opened with SQLITE_OPEN_EXRESCODE so open errors will
also include extended result codes.

:meth:`Connection.changes` and :meth:`Connection.total_changes` use the
new SQLite APIs that return 64 bit values (ie can now return values
greater than 2 billion).

Added :meth:`Connection.autovacuum_pages`.

Added constants:

* SQLITE_CONSTRAINT_DATATYPE, SQLITE_OPEN_EXRESCODE

3.36.0r1

=========

Implemented :meth:`Connection.serialize` and
:meth:`Connection.deserialize`. They turn a database into bytes, and
bytes into a database respectively.

Allow any subclass of VFS to implement WAL, not just direct
subclasses. (:issue:`311`)

Added constants:

* SQLITE_FCNTL_EXTERNAL_READER, SQLITE_FCNTL_CKSM_FILE

3.35.4r1

=========

Updates for SQLite download url (the year is part of the urls).

Added enable flag for built-in SQL math functions, and enable it
by default with --enable-all-extensions.

Use the newer buffer API for Python 3 (old API removed in Python
3.10).

3.34.0r1

=========

Windows MSI installer files are now provided in addition to the exe
files (:issue:`294`), as well as wheels for Python 3.6+. Python 3.9
binaries are also now available. The wheels can be installed via pip.

Added :meth:`Connection.txn_state`

Added constants:

* SQLITE_IOERR_CORRUPTFS

3.33.0r1

=========

Small performance improvement in string handling

apsw module exposes Cursor, Blob, and Backup types (:issue:`273`)

pkg-config is used to detect `International Components for Unicode
(ICU) sdk
<https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html>`__
when the `SQLite ICU extension
<https://www.sqlite.org/src/artifact?ci=trunk&filename=ext/icu/README.txt>`__
is enabled. It falls back to icu-config as before. (:issue:`268`).

Added constants:

* SQLITE_OPEN_SUPER_JOURNAL

Page 6 of 24

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.