SHA256
1
0
forked from pool/python-apsw

6 Commits

Author SHA256 Message Date
b31313f477 Accepting request 1323655 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1323655
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=29
2025-12-19 15:45:57 +00:00
9b633c6a33 - update to 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.
- update to 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apsw?expand=0&rev=63
2025-12-12 10:56:31 +00:00
211c31518d Accepting request 1297684 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1297684
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=28
2025-08-06 12:33:07 +00:00
f84e2e7679 - Update to 3.50.4.0
* PyPI binary builds are available for:
    * Python 3.14
    * Windows ARM
    * Python 3.14 `free threaded`__ (no GIL).  The GIL will be
      enabled when APSW is loaded.  APSW will be free threaded
      in the future (#568)
- from version 3.50.3.0
  * preupdate_hook` is available. The `commit` and `rollback`
    hooks let you provide multiple callbacks, multiplex by APSW.
    `apsw.ext.Trace` can now show updates, and transaction begin,
    commit, and rollback.
- from version 3.50.2.0
  * PyPi builds now use `cibuildwheel version 3` which advances
    the minimum supported Linux distribution.  It is configured
    to continue building both 32 and 64 bit binaries.
- from version 3.50.1.0
  * No user visible changes.
- from version 3.50.0.0
  * Full support for the `session`
  * Added `Connection.setlk_timeout`, `apsw.mapping_setlk_timeout_flags`,
    and enabled the timeout for amalgamation builds such as PyPI.
  * Shell `open command <shell-cmd-open>` allows specifying flags to
    open a connection, and `connection command <shell-cmd-connection>`
    shows flags used for each open. (#557)
  * Type stubs updated to `collections.abc.Buffer` (Python 3.12+)
    wherever some bytes are taken.  `Buffers `__ have always been used,
    but Python 3.12 added typing.
- from version 3.49.2.0
  * Shell dump command handles generated columns correctly. (#556)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apsw?expand=0&rev=61
2025-08-05 10:44:08 +00:00
bbd7f0346c Accepting request 1204392 from devel:languages:python
- update to 3.46.1.0:
  * The shell dump command outputs the application_id in addition
    to the user_version.

OBS-URL: https://build.opensuse.org/request/show/1204392
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apsw?expand=0&rev=27
2024-09-30 13:38:11 +00:00
176412f1ba - update to 3.46.1.0:
* The shell dump command outputs the application_id in addition
    to the user_version.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apsw?expand=0&rev=59
2024-09-28 19:16:51 +00:00
4 changed files with 208 additions and 7 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8640f6d4b0ab2b604bce1f6d0e380d150613e0d77b55a1dc9995fe5593f32a2
size 912632

3
apsw-3.51.1.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3322d4f44b19693dc5e3d9b24339ecb2b5225e0ac8b00090b3c466d3c2e4dc6
size 1156262

View File

@@ -1,3 +1,178 @@
-------------------------------------------------------------------
Fri Dec 12 10:55:57 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 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.
- update to 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 SQLites 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
SQLites 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.
-------------------------------------------------------------------
Tue Aug 5 08:38:22 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 3.50.4.0
* PyPI binary builds are available for:
* Python 3.14
* Windows ARM
* Python 3.14 `free threaded`__ (no GIL). The GIL will be
enabled when APSW is loaded. APSW will be free threaded
in the future (#568)
- from version 3.50.3.0
* preupdate_hook` is available. The `commit` and `rollback`
hooks let you provide multiple callbacks, multiplex by APSW.
`apsw.ext.Trace` can now show updates, and transaction begin,
commit, and rollback.
- from version 3.50.2.0
* PyPi builds now use `cibuildwheel version 3` which advances
the minimum supported Linux distribution. It is configured
to continue building both 32 and 64 bit binaries.
- from version 3.50.1.0
* No user visible changes.
- from version 3.50.0.0
* Full support for the `session`
* Added `Connection.setlk_timeout`, `apsw.mapping_setlk_timeout_flags`,
and enabled the timeout for amalgamation builds such as PyPI.
* Shell `open command <shell-cmd-open>` allows specifying flags to
open a connection, and `connection command <shell-cmd-connection>`
shows flags used for each open. (#557)
* Type stubs updated to `collections.abc.Buffer` (Python 3.12+)
wherever some bytes are taken. `Buffers `__ have always been used,
but Python 3.12 added typing.
- from version 3.49.2.0
* Shell dump command handles generated columns correctly. (#556)
- from version 3.49.1.0
* No APSW changes.
- from version 3.49.0.0
* `Connection.set_progress_handler` allows multiple callbacks
(multiplexed by APSW).
* Added `apsw.ext.query_limit` to limit total row count and execution
time within a block. (#520)
* `Connection.config` updated with new DBCONFIG options
* Adjustments for SQLite's new build process.
- from version 3.48.0.0
* You can `pass any Python objects <pyobject>` into SQLite, and
return them when used as runtime values such as functions. SQLite's
`pointer passing interface` is used behind the scenes. (#521)
* `Source releases <sources>` are also available in tar format (#548),
and have updated source release signing `instructions <verifydownload>`.
(#549)
* `Shared cache` (2006) is omitted when APSW includes the amalgamation
like PyPI builds. This is `recommended by SQLite `, has been `discouraged
for a long time`. `apsw.enable_shared_cache` will raise an exception
if called and the shared cache has been omitted. You can see what options
are in effect in `apsw.compile_options`. If you were using it for
shared memory databases then `use the memdb VFS <memdb>`.
- from version 3.47.2.0
* Added `apsw.ext.page_usage_to_svg` which shows database usage as
SVG. Available as shell `.pages-svg command <shell-cmd-pages-svg>`.
- from version 3.47.1.0
* Documentation on how to `build for packagers <packagers>` such as
those maintaining Linux and BSD distributions.
* Documentation on how to `build for pyodide>`, the Python WASM
implementation that runs in the browser and NPM. PyPI does not
accept pyodide packages yet.
* A command line tool ``apsw`` is defined which invokes the `shell
<shell>`. This also allows using `uvx apsw` without having to
explicitly install APSW.
* Added `apsw.ext.analyze_pages` which uses `dbstat` to provide useful
information about the pages making up the database, and fragmentation.
The shell `.pages command <shell-cmd-pages>` shows it in a pretty form.
- from version 3.47.0.0
* Support for Python 3.8 removed (#539).
* The readonly database statistics virtual table (`dbstat`) is enabled
by default for PyPI builds, and when ``--enable-all-extensions`` is
passed to manual `builds <build>`.
* Added `recursive triggers <apsw.bestpractice.connection_recursive_triggers>`
and `optimize <apsw.bestpractice.connection_optimize>` to `apsw.bestpractice`.
* Multiple callbacks can be present for `Connection.trace_v2` with APSW ensuring
they are all called (#502)
* `Connection.trace_v2` callback information now has ``trigger``, ``id``,
and ``total_changes`` fields.
* Added `Connection.data_version` for getting a change counter. `pragma
data_version` doesn't update when changes are made on the same connection,
only others.
* Added `apsw.ext.ShowResourceUsage` for getting resource and SQLite usage
in a context block, and also use it for the shell `timer <shell-cmd-timer>`
command.
* Added `apsw.ext.Trace` for tracing SQL execution, row and change
counting, and timing per statement for use in a context block.
* Added `FTS5 support <textsearch>` including registering and
calling tokenizers, and auxiliary functions. The `apsw.fts5`
module provides many additional classes and methods for working with
FTS5, including tokenizers for HTML, JSON, regular expressions,
support tokenizers for synonyms, stop words, transformers, and a
`~apsw.fts5.Table` class that wraps access to a FTS5 table
(including `creating one <apsw.fts5.Table.create>`) with
`~apsw.fts5.Table.search`, `~apsw.fts5.Table.more_like`,
and `~apsw.fts5.Table.query_suggest`. `apsw.fts5query` can
parse, modify, and reconstruct queries. The shell gets a `ftsq
<shell-cmd-ftsq>` command for issuing queries.
* Added `apsw.unicode` which implements Unicode algorithms for
determining codepoint groups making up a user perceived character,
word and sentence splitting, and where line breaks can be made. These
are used to make provided FTS5 tokenizers and auxiliary functions
fully Unicode aware. There are many additional methods such as
getting categories, stripping diacritics, case folding, width when
output to a terminal, text wrapping, and more.
* `apsw.ext.format_query_table` uses `apsw.unicode` to get widths and
line breaks more accurate. As a side effect it loses the `word_wrap`
parameter (breaking change).
- Add support for both update-alternatives and libalternatives
- Include apsw binary in %files section
- Remove shebang from all Python sources
- Switch upstream source back to PyPi
- Update BuildRequires from pyproject.toml
-------------------------------------------------------------------
Sat Sep 28 19:15:48 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.46.1.0:
* The shell dump command outputs the application_id in addition
to the user_version.
-------------------------------------------------------------------
Sun Jun 30 21:32:30 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-apsw
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,16 +16,22 @@
#
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%{?sle15_python_module_pythons}
Name: python-apsw
Version: 3.46.0.1
Version: 3.51.1.0
Release: 0
Summary: Another Python SQLite Wrapper
License: Zlib
Group: Development/Libraries/Python
URL: https://github.com/rogerbinns/apsw/
Source: https://github.com/rogerbinns/apsw/archive/refs/tags/%{version}.tar.gz#/apsw-%{version}.tar.gz
BuildRequires: %{python_module devel >= 3.8}
Source: https://files.pythonhosted.org/packages/source/a/apsw/apsw-%{version}.tar.gz
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
@@ -33,6 +39,13 @@ BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(sqlite3) >= 3.44
%if %{with libalternatives}
Requires: alts
BuildRequires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
%python_subpackages
%description
@@ -43,6 +56,8 @@ complete SQLite API into Python.
%prep
%autosetup -p1 -n apsw-%{version}
# Remove shebang from all Python sources
find . -name "*.py" -exec sed -i "/#\!\/usr\/bin\/env python3/d" {} \;
# See the discussion on gh#rogerbinns/apsw#462
cat << EOF >setup.apsw
@@ -58,6 +73,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%python_clone -a %{buildroot}%{_bindir}/apsw
%check
# gh#rogerbinns/apsw#462
@@ -66,9 +82,19 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
$python -m apsw.tests -v
}
%pre
%python_libalternatives_reset_alternative apsw
%post
%python_install_alternative apsw
%postun
%python_uninstall_alternative apsw
%files %{python_files}
%license LICENSE
%doc README.rst
%python_alternative %{_bindir}/apsw
%{python_sitearch}/apsw
%{python_sitearch}/apsw-%{version}*-info