forked from pool/python-apsw
Compare commits
6 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| b31313f477 | |||
| 9b633c6a33 | |||
| 211c31518d | |||
| f84e2e7679 | |||
| bbd7f0346c | |||
| 176412f1ba |
@@ -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
3
apsw-3.51.1.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a3322d4f44b19693dc5e3d9b24339ecb2b5225e0ac8b00090b3c466d3c2e4dc6
|
||||||
|
size 1156262
|
||||||
@@ -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 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
Sun Jun 30 21:32:30 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-apsw
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-apsw
|
Name: python-apsw
|
||||||
Version: 3.46.0.1
|
Version: 3.51.1.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Another Python SQLite Wrapper
|
Summary: Another Python SQLite Wrapper
|
||||||
License: Zlib
|
License: Zlib
|
||||||
Group: Development/Libraries/Python
|
Group: Development/Libraries/Python
|
||||||
URL: https://github.com/rogerbinns/apsw/
|
URL: https://github.com/rogerbinns/apsw/
|
||||||
Source: https://github.com/rogerbinns/apsw/archive/refs/tags/%{version}.tar.gz#/apsw-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/a/apsw/apsw-%{version}.tar.gz
|
||||||
BuildRequires: %{python_module devel >= 3.8}
|
BuildRequires: %{python_module devel >= 3.9}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module wheel}
|
BuildRequires: %{python_module wheel}
|
||||||
@@ -33,6 +39,13 @@ BuildRequires: fdupes
|
|||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: pkgconfig(sqlite3) >= 3.44
|
BuildRequires: pkgconfig(sqlite3) >= 3.44
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
BuildRequires: alts
|
||||||
|
%else
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun): update-alternatives
|
||||||
|
%endif
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@@ -43,6 +56,8 @@ complete SQLite API into Python.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n apsw-%{version}
|
%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
|
# See the discussion on gh#rogerbinns/apsw#462
|
||||||
cat << EOF >setup.apsw
|
cat << EOF >setup.apsw
|
||||||
@@ -58,6 +73,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|||||||
%install
|
%install
|
||||||
%pyproject_install
|
%pyproject_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||||
|
%python_clone -a %{buildroot}%{_bindir}/apsw
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# gh#rogerbinns/apsw#462
|
# gh#rogerbinns/apsw#462
|
||||||
@@ -66,9 +82,19 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|||||||
$python -m apsw.tests -v
|
$python -m apsw.tests -v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%python_libalternatives_reset_alternative apsw
|
||||||
|
|
||||||
|
%post
|
||||||
|
%python_install_alternative apsw
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%python_uninstall_alternative apsw
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
|
%python_alternative %{_bindir}/apsw
|
||||||
%{python_sitearch}/apsw
|
%{python_sitearch}/apsw
|
||||||
%{python_sitearch}/apsw-%{version}*-info
|
%{python_sitearch}/apsw-%{version}*-info
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user