Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sqlite-utils for
openSUSE:Factory checked in at 2023-12-08 22:33:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sqlite-utils (Old)
and /work/SRC/openSUSE:Factory/.python-sqlite-utils.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sqlite-utils"
Fri Dec 8 22:33:40 2023 rev:5 rq:1132122 version:3.35.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sqlite-utils/python-sqlite-utils.changes
2022-02-17 00:32:46.101410157 +0100
+++
/work/SRC/openSUSE:Factory/.python-sqlite-utils.new.25432/python-sqlite-utils.changes
2023-12-08 22:34:31.401452681 +0100
@@ -1,0 +2,311 @@
+Fri Dec 8 13:46:46 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 3.35.2:
+ * The ``--load-extension=spatialite`` option and
+ :ref:`find_spatialite() <python_api_gis_find_spatialite>`
+ utility function now both work correctly on ``arm64`` Linux.
+ * Fix for bug where ``sqlite-utils insert`` could cause your
+ terminal cursor to disappear. Thanks, `Luke Plant
+ * ``datetime.timedelta`` values are now stored as ``TEXT``
+ columns. Thanks, `Harald Nezbeda
+ * Test suite is now also run against Python 3.12.
+ * Fixed a bug where :ref:`table.transform()
+ <python_api_transform>` would sometimes re-assign the
+ ``rowid`` values for a table rather than keeping them
+ consistent across the operation. (:issue:`592`)
+ * Adding foreign keys to a table no longer uses ``PRAGMA
+ writable_schema = 1`` to directly manipulate the
+ ``sqlite_master`` table. This was resulting in errors in some
+ Python installations where the SQLite library was compiled in
+ a way that prevented this from working, in particular on
+ macOS. Foreign keys are now added using the :ref:`table
+ transformation <python_api_transform>` mechanism instead.
+ * This new mechanism creates a full copy of the table, so it is
+ likely to be significantly slower for large tables, but will
+ no longer trigger ``table sqlite_master may not be modified``
+ errors on platforms that do not support ``PRAGMA
+ writable_schema = 1``.
+ * A new plugin, `sqlite-utils-fast-fks
+ <https://github.com/simonw/sqlite-utils-fast-fks>`__, is now
+ available for developers who still want to use that faster
+ but riskier implementation.
+ * The :ref:`table.transform() method <python_api_transform>`
+ has two new parameters: ``foreign_keys=`` allows you to
+ replace the foreign key constraints defined on a table, and
+ ``add_foreign_keys=`` lets you specify new foreign keys to
+ add. These complement the existing ``drop_foreign_keys=``
+ parameter. (:issue:`577`)
+ * The :ref:`sqlite-utils transform <cli_transform_table>`
+ command has a new ``--add-foreign-key`` option which can be
+ called multiple times to add foreign keys to a table that is
+ being transformed. (:issue:`585`)
+ * :ref:`sqlite-utils convert <cli_convert>` now has a ``--pdb``
+ option for opening a debugger on the first encountered error
+ in your conversion script. (:issue:`581`)
+ * Fixed a bug where ``sqlite-utils install -e '.[test]'``
+ option did not work correctly.
+ * Plugin hook: :ref:`plugins_hooks_register_commands`, for
+ plugins to add extra commands to ``sqlite-utils``.
+ * Plugin hook: :ref:`plugins_hooks_prepare_connection`. Plugins
+ can use this to help prepare the SQLite connection to do
+ things like registering custom SQL functions.
+ * ``sqlite_utils.Database(..., execute_plugins=False)`` option
+ for disabling plugin execution.
+ * ``sqlite-utils install -e path-to-directory`` option for
+ installing editable code.
+ * ``table.create(...)`` method now accepts ``replace=True`` to
+ drop and replace an existing table with the same name, or
+ ``ignore=True`` to silently do nothing if a table already
+ exists with the same name. (:issue:`568`)
+ * ``sqlite-utils insert ... --stop-after 10`` option for
+ stopping the insert after a specified number of records.
+ Works for the ``upsert`` command as well. (:issue:`561`)
+ * The ``--csv`` and ``--tsv`` modes for ``insert`` now accept a
+ ``--empty-null`` option, which causes empty strings in the
+ CSV file to be stored as ``null`` in the database.
+ * New ``db.rename_table(table_name, new_name)`` method for
+ renaming tables. (:issue:`565`)
+ * ``sqlite-utils rename-table my.db table_name new_name``
+ command for renaming tables. (:issue:`565`)
+ * The ``table.transform(...)`` method now takes an optional
+ ``keep_table=new_table_name`` parameter, which will cause the
+ original table to be renamed to ``new_table_name`` rather
+ than being dropped at the end of the transformation.
+ (:issue:`571`)
+ * Documentation now notes that calling ``table.transform()``
+ without any arguments will reformat the SQL schema stored by
+ SQLite to be more aesthetically pleasing. (:issue:`564`)
+ * ``sqlite-utils`` will now use `sqlean.py
+ <https://github.com/nalgeon/sqlean.py>`__ in place of
+ ``sqlite3`` if it is installed in the same virtual
+ environment. This is useful for Python environments with
+ either an outdated version of SQLite or with restrictions on
+ SQLite such as disabled extension loading or restrictions
+ resulting in the ``sqlite3.OperationalError: table
+ sqlite_master may not be modified`` error. (:issue:`559`)
+ * New ``with db.ensure_autocommit_off()`` context manager,
+ which ensures that the database is in autocommit mode for the
+ duration of a block of code. This is used by
+ ``db.enable_wal()`` and ``db.disable_wal()`` to ensure they
+ work correctly with ``pysqlite3`` and ``sqlean.py``.
+ * New ``db.iterdump()`` method, providing an iterator over SQL
+ strings representing a dump of the database. This uses
+ ``sqlite-dump`` if it is available, otherwise falling back on
+ the ``conn.iterdump()`` method from ``sqlite3``. Both
+ ``pysqlite3`` and ``sqlean.py`` omit support for
+ ``iterdump()`` - this method helps paper over that
+ difference.
+ * Examples in the :ref:`CLI documentation <cli>` can now all be
+ copied and pasted without needing to remove a leading ``$``.
+ (:issue:`551`)
+ * Documentation now covers :ref:`installation_completion` for
+ ``bash`` and ``zsh``. (:issue:`552`)
+ * New experimental ``sqlite-utils tui`` interface for
+ interactively building command-line invocations, powered by
+ `Trogon <https://github.com/Textualize/trogon>`__. This
+ requires an optional dependency, installed using ``sqlite-
+ utils install trogon``. There is a screenshot :ref:`in the
+ documentation <cli_tui>`. (:issue:`545`)
+ * ``sqlite-utils analyze-tables`` command (:ref:`documentation
+ <cli_analyze_tables>`) now has a ``--common-limit 20`` option
+ for changing the number of common/least-common values shown
+ for each column. (:issue:`544`)
+ * ``sqlite-utils analyze-tables --no-most`` and ``--no-least``
+ options for disabling calculation of most-common and least-
+ common values.
+ * If a column contains only ``null`` values, ``analyze-tables``
+ will no longer attempt to calculate the most common and least
+ common values for that column. (:issue:`547`)
+ * Calling ``sqlite-utils analyze-tables`` with non-existent
+ columns in the ``-c/--column`` option now results in an error
+ message. (:issue:`548`)
+ * The ``table.analyze_column()`` method (:ref:`documented here
+ <python_api_analyze_column>`) now accepts
+ ``most_common=False`` and ``least_common=False`` options for
+ disabling calculation of those values.
+ * Dropped support for Python 3.6. Tests now ensure
+ compatibility with Python 3.11. (:issue:`517`)
+ * Automatically locates the SpatiaLite extension on Apple
+ Silicon. Thanks, Chris Amico. (`#536
+ <https://github.com/simonw/sqlite-utils/pull/536>`__)
+ * New ``--raw-lines`` option for the ``sqlite-utils query`` and
+ ``sqlite-utils memory`` commands, which outputs just the raw
+ value of the first column of every row. (:issue:`539`)
+ * Fixed a bug where ``table.upsert_all()`` failed if the
+ ``not_null=`` option was passed. (:issue:`538`)
+ * Fixed a ``ResourceWarning`` when using ``sqlite-utils
+ insert``. (:issue:`534`)
+ * Now shows a more detailed error message when ``sqlite-utils
+ insert`` is called with invalid JSON. (:issue:`532`)
+ * ``table.convert(..., skip_false=False)`` and ``sqlite-utils
+ convert --no-skip-false`` options, for avoiding a misfeature
+ where the :ref:`convert() <python_api_convert>` mechanism
+ skips rows in the database with a falsey value for the
+ specified column. Fixing this by default would be a
+ backwards-incompatible change and is under consideration for
+ a 4.0 release in the future. (:issue:`527`)
+ * Tables can now be created with self-referential foreign keys.
+ Thanks, Scott Perry. (`#537
+ <https://github.com/simonw/sqlite-utils/pull/537>`__)
+ * ``sqlite-utils transform`` no longer breaks if a table
+ defines default values for columns. Thanks, Kenny Song.
+ (:issue:`509`)
+ * Fixed a bug where repeated calls to ``table.transform()`` did
+ not work correctly. Thanks, Martin Carpenter. (:issue:`525`)
+ * Improved error message if ``rows_from_file()`` is passed a
+ non-binary-mode file-like object. (:issue:`520`)
+ * Now tested against Python 3.11. (:issue:`502`)
+ * New ``table.search_sql(include_rank=True)`` option, which
+ adds a ``rank`` column to the generated SQL. Thanks, Jacob
+ Chapman. (`#480 <https://github.com/simonw/sqlite-
+ utils/pull/480>`__)
+ * Progress bars now display for newline-delimited JSON files
+ using the ``--nl`` option. Thanks, Mischa Untaga.
+ (:issue:`485`)
+ * New ``db.close()`` method. (:issue:`504`)
+ * Conversion functions passed to :ref:`table.convert(...)
+ <python_api_convert>` can now return lists or dictionaries,
+ which will be inserted into the database as JSON strings.
+ (:issue:`495`)
+ * ``sqlite-utils install`` and ``sqlite-utils uninstall``
+ commands for installing packages into the same virtual
+ environment as ``sqlite-utils``, :ref:`described here
+ <cli_install>`. (:issue:`483`)
+ * New :ref:`sqlite_utils.utils.flatten()
+ <reference_utils_flatten>` utility function. (:issue:`500`)
+ * Documentation on :ref:`using Just <contributing_just>` to run
+ tests, linters and build documentation.
+ * Documentation now covers the :ref:`release_process` for this
+ package.
+ * The ``sqlite-utils query``, ``memory`` and ``bulk`` commands
+ now all accept a new ``--functions`` option. This can be
+ passed a string of Python code, and any callable objects
+ defined in that code will be made available to SQL queries as
+ custom SQL functions. See :ref:`cli_query_functions` for
+ details. (:issue:`471`)
+ * ``db[table].create(...)`` method now accepts a new
+ ``transform=True`` parameter. If the table already exists it
+ will be :ref:`transformed <python_api_transform>` to match
+ the schema configuration options passed to the function. This
+ may result in columns being added or dropped, column types
+ being changed, column order being updated or not null and
+ default values for columns being set. (:issue:`467`)
+ * Related to the above, the ``sqlite-utils create-table``
+ command now accepts a ``--transform`` option.
+ * New introspection property: ``table.default_values`` returns
+ a dictionary mapping each column name with a default value to
+ the configured default value. (:issue:`475`)
+ * The ``--load-extension`` option can now be provided a path to
+ a compiled SQLite extension module accompanied by the name of
+ an entrypoint, separated by a colon - for example ``--load-
+ extension ./lines0:sqlite3_lines0_noread_init``. This feature
+ is modelled on code first `contributed to Datasette
+ <https://github.com/simonw/datasette/pull/1789>`__ by Alex
+ Garcia. (:issue:`470`)
+ * Functions registered using the :ref:`db.register_function()
+ <python_api_register_function>` method can now have a custom
+ name specified using the new ``db.register_function(fn,
+ name=...)`` parameter. (:issue:`458`)
+ * :ref:`sqlite-utils rows <cli_rows>` has a new ``--order``
+ option for specifying the sort order for the returned rows.
+ (:issue:`469`)
+ * All of the CLI options that accept Python code blocks can now
+ all be used to define functions that can access modules
+ imported in that same block of code without needing to use
+ the ``global`` keyword. (:issue:`472`)
+ * Fixed bug where ``table.extract()`` would not behave
+ correctly for columns containing null values. Thanks, Forest
+ Gregg. (:issue:`423`)
+ * New tutorial: `Cleaning data with sqlite-utils and Datasette
+ <https://datasette.io/tutorials/clean-data>`__ shows how to
+ use ``sqlite-utils`` to import and clean an example CSV file.
+ * Datasette and ``sqlite-utils`` now have a Discord community.
+ `Join the Discord here <https://discord.gg/Ass7bCAMDw>`__.
+ * New :ref:`table.duplicate(new_name) <python_api_duplicate>`
+ method for creating a copy of a table with a matching schema
+ and row contents. Thanks, `David
+ <https://github.com/davidleejy>`__. (:issue:`449`)
+ * New ``sqlite-utils duplicate data.db table_name new_name``
+ CLI command for :ref:`cli_duplicate_table`. (:issue:`454`)
+ * ``sqlite_utils.utils.rows_from_file()`` is now a
+ :ref:`documented API <reference_utils_rows_from_file>`. It
+ can be used to read a sequence of dictionaries from a file-
+ like object containing CSV, TSV, JSON or newline-delimited
+ JSON. It can be passed an explicit format or can attempt to
+ detect the format automatically. (:issue:`443`)
+ * ``sqlite_utils.utils.TypeTracker`` is now a documented API
+ for detecting the likely column types for a sequence of
+ string rows, see :ref:`python_api_typetracker`.
+ (:issue:`445`)
+ * ``sqlite_utils.utils.chunks()`` is now a documented API for
+ :ref:`splitting an iterator into chunks
+ <reference_utils_chunks>`. (:issue:`451`)
+ * ``sqlite-utils enable-fts`` now has a ``--replace`` option
+ for replacing the existing FTS configuration for a table.
+ (:issue:`450`)
+ * The ``create-index``, ``add-column`` and ``duplicate``
+ commands all now take a ``--ignore`` option for ignoring
+ errors should the database not be in the right state for them
+ to operate. (:issue:`450`)
+ * Code examples in documentation now have a "copy to clipboard"
+ button. (:issue:`436`)
+ * ``sqlite_utils.utils.utils.rows_from_file()`` is now a
+ documented API, see :ref:`python_api_rows_from_file`.
+ (:issue:`443`)
+ * ``rows_from_file()`` has two new parameters to help handle
+ CSV files with rows that contain more values than are listed
+ in that CSV file's headings: ``ignore_extras=True`` and
+ ``extras_key="name-of-key"``. (:issue:`440`)
+ * ``sqlite_utils.utils.maximize_csv_field_size_limit()`` helper
+ function for increasing the field size limit for reading CSV
+ files to its maximum, see
+ :ref:`python_api_maximize_csv_field_size_limit`.
+ (:issue:`442`)
+ * ``table.search(where=, where_args=)`` parameters for adding
+ additional ``WHERE`` clauses to a search query. The
+ ``where=`` parameter is available on
+ ``table.search_sql(...)`` as well. See
+ :ref:`python_api_fts_search`. (:issue:`441`)
+ * Fixed bug where ``table.detect_fts()`` and other search-
+ related functions could fail if two FTS-enabled tables had
+ names that were prefixes of each other. (:issue:`434`)
+ * Now depends on `click-default-group-wheel
+ <https://github.com/simonw/click-default-group-wheel>`__, a
+ pure Python wheel package. This means you can install and use
+ this package with `Pyodide <https://pyodide.org/>`__, which
+ can run Python entirely in your browser using WebAssembly.
+ (`#429 <https://github.com/simonw/sqlite-utils/pull/429>`__)
+ * Try that out using the `Pyodide REPL
+ <https://pyodide.org/en/stable/console.html>`__:
+ * .. code-block:: python
+ * >>> import micropip
+ * >>> await micropip.install("sqlite-utils")
+ * >>> import sqlite_utils
+ * >>> db = sqlite_utils.Database(memory=True)
+ * >>> list(db.query("select 3 * 5"))
+ * [{'3 * 5': 15}]
+ * New ``errors=r.IGNORE/r.SET_NULL`` parameter for the
+ ``r.parsedatetime()`` and ``r.parsedate()`` :ref:`convert
+ recipes <cli_convert_recipes>`. (:issue:`416`)
+ * Fixed a bug where ``--multi`` could not be used in
+ combination with ``--dry-run`` for the :ref:`convert
+ <cli_convert>` command. (:issue:`415`)
+ * New documentation: :ref:`cli_convert_complex`. (:issue:`420`)
+ * More robust detection for whether or not
+ ``deterministic=True`` is supported. (:issue:`425`)
+ * Improved display of type information and parameters in the
+ :ref:`API reference documentation <reference>`.
++++ 14 more lines (skipped)
++++ between
/work/SRC/openSUSE:Factory/python-sqlite-utils/python-sqlite-utils.changes
++++ and
/work/SRC/openSUSE:Factory/.python-sqlite-utils.new.25432/python-sqlite-utils.changes
Old:
----
sqlite-utils-3.24.tar.gz
New:
----
sqlite-utils-3.35.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sqlite-utils.spec ++++++
--- /var/tmp/diff_new_pack.oFb7b1/_old 2023-12-08 22:34:31.865469755 +0100
+++ /var/tmp/diff_new_pack.oFb7b1/_new 2023-12-08 22:34:31.865469755 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-sqlite-utils
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define skip_python2 1
%define skip_python36 1
Name: python-sqlite-utils
-Version: 3.24
+Version: 3.35.2
Release: 0
Summary: Python CLI tool and library for manipulating SQLite databases
License: Apache-2.0
++++++ sqlite-utils-3.24.tar.gz -> sqlite-utils-3.35.2.tar.gz ++++++
++++ 13020 lines of diff (skipped)