14
0
Files
python-sqlite-utils/python-sqlite-utils.spec

83 lines
2.5 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-sqlite-utils
#
- 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>` OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=7
2023-12-08 14:28:52 +00:00
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Accepting request 873656 from home:andythe_great:branches:devel:languages:python - Update to version 3.5. * ``sqlite-utils insert --sniff`` option for detecting the delimiter and quote character used by a CSV file * The ``table.rows_where()``, ``table.search()`` and ``table.search_sql()`` methods all now take optional ``offset=`` and ``limit=`` arguments. * New ``--no-headers`` option for ``sqlite-utils insert --csv`` to handle CSV files that are missing the header row. * Fixed bug where inserting data with extra columns in subsequent chunks would throw an error. * Fixed bug importing CSV files with columns containing more than 128KB of data. * Test suite now runs in CI against Ubuntu, macOS and Windows. - Updates for 3.4.1 * Fixed a code import bug that slipped in to 3.4. - Updates for 3.4 * ``sqlite-utils insert --csv`` now accepts optional ``--delimiter`` and ``--quotechar`` options. - Updates for 3.3 * The ``table.m2m()`` method now accepts an optional ``alter=True`` argument to specify that any missing columns should be added to the referenced table. - Updates for 3.2.1 * Fixed a bug where ``.add_missing_columns()`` failed to take case insensitive column names into account. - Updates for 3.2 * This release introduces a new mechanism for speeding up ``count(*)`` queries using cached table counts, stored in a ``_counts`` table and updated by triggers. This mechanism is described in :ref:`python_api_cached_table_counts`, and can be enabled using Python API methods or the new ``enable-counts`` CLI command. * ``table.enable_counts()`` method for enabling these triggers on a specific table. * ``db.enable_counts()`` method for enabling triggers on every table in the database. * New ``sqlite-utils enable-counts my.db`` command for enabling counts on all or specific tables, see :ref:`cli_enable_counts`. * New ``sqlite-utils triggers`` command for listing the triggers defined for a database or specific tables. * New ``db.use_counts_table`` property which, if ``True``, causes ``table.count`` to read from the ``_counts`` table. * ``table.has_counts_triggers`` property revealing if a table has been configured with the new ``_counts`` database triggers. * ``db.reset_counts()`` method and ``sqlite-utils reset-counts`` command for resetting the values in the ``_counts`` table. * The previously undocumented ``db.escape()`` method has been renamed to ``db.quote()``. * New ``table.triggers_dict`` and ``db.triggers_dict`` introspection properties. * ``sqlite-utils insert`` now shows a more useful error message for invalid JSON. - Updates for 3.1.1 * Fixed failing test caused by ``optimize`` sometimes creating larger database files. * Documentation now lives on https://sqlite-utils.datasette.io/ * README now includes ``brew install sqlite-utils`` installation method. - Updates for 3.1 * New command: ``sqlite-utils analyze-tables my.db`` outputs useful information about the table columns in the database, such as the number of distinct values and how many rows are null. * New ``table.analyze_column(column)`` Python method used by the ``analyze-tables`` command - see :ref:`python_api_analyze_column`. * The ``table.update()`` method now correctly handles values that should be stored as JSON. - Updates for 3.0 * This release introduces a new ``sqlite-utils search`` command for searching tables, see :ref:`cli_search`. * The ``table.search()`` method has been redesigned. * The release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are: * The ``-c`` shortcut option for outputting CSV is no longer available. The full ``--csv`` option is required instead. * The ``-f`` shortcut for ``--fmt`` has also been removed - use ``--fmt``. * The ``table.search()`` method now defaults to sorting by relevance, not sorting by ``rowid``. * The ``table.search()`` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples. * The ``query``, ``tables``, ``rows`` and ``search`` CLI commands now accept a new ``--tsv`` option which outputs the results in TSV. * A new ``table.virtual_table_using`` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. ``FTS4`` or ``FTS5``) if it is. It returns ``None`` if the table is not a virtual table. * The new ``table.search_sql()`` method returns the SQL for searching a table, see :ref:`python_api_fts_search_sql`. * ``sqlite-utils rows`` now accepts multiple optional ``-c`` parameters specifying the columns to return. * The ``sqlite-utils search`` command now defaults to returning every result, unless you add a ``--limit 20`` option. * The ``sqlite-utils search -c`` and ``table.search(columns=[])`` options are now fully respected. - Skip python2 because python-sqlite-fts4 don't support it. - Skip python36 because python-panda don't support it. OBS-URL: https://build.opensuse.org/request/show/873656 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=3
2021-02-19 08:28:28 +00:00
%define skip_python36 1
Name: python-sqlite-utils
- 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>` OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=7
2023-12-08 14:28:52 +00:00
Version: 3.35.2
Release: 0
Summary: Python CLI tool and library for manipulating SQLite databases
License: Apache-2.0
Group: Development/Languages/Python
URL: https://github.com/simonw/sqlite-utils
Source: https://files.pythonhosted.org/packages/source/s/sqlite-utils/sqlite-utils-%{version}.tar.gz
Accepting request 873656 from home:andythe_great:branches:devel:languages:python - Update to version 3.5. * ``sqlite-utils insert --sniff`` option for detecting the delimiter and quote character used by a CSV file * The ``table.rows_where()``, ``table.search()`` and ``table.search_sql()`` methods all now take optional ``offset=`` and ``limit=`` arguments. * New ``--no-headers`` option for ``sqlite-utils insert --csv`` to handle CSV files that are missing the header row. * Fixed bug where inserting data with extra columns in subsequent chunks would throw an error. * Fixed bug importing CSV files with columns containing more than 128KB of data. * Test suite now runs in CI against Ubuntu, macOS and Windows. - Updates for 3.4.1 * Fixed a code import bug that slipped in to 3.4. - Updates for 3.4 * ``sqlite-utils insert --csv`` now accepts optional ``--delimiter`` and ``--quotechar`` options. - Updates for 3.3 * The ``table.m2m()`` method now accepts an optional ``alter=True`` argument to specify that any missing columns should be added to the referenced table. - Updates for 3.2.1 * Fixed a bug where ``.add_missing_columns()`` failed to take case insensitive column names into account. - Updates for 3.2 * This release introduces a new mechanism for speeding up ``count(*)`` queries using cached table counts, stored in a ``_counts`` table and updated by triggers. This mechanism is described in :ref:`python_api_cached_table_counts`, and can be enabled using Python API methods or the new ``enable-counts`` CLI command. * ``table.enable_counts()`` method for enabling these triggers on a specific table. * ``db.enable_counts()`` method for enabling triggers on every table in the database. * New ``sqlite-utils enable-counts my.db`` command for enabling counts on all or specific tables, see :ref:`cli_enable_counts`. * New ``sqlite-utils triggers`` command for listing the triggers defined for a database or specific tables. * New ``db.use_counts_table`` property which, if ``True``, causes ``table.count`` to read from the ``_counts`` table. * ``table.has_counts_triggers`` property revealing if a table has been configured with the new ``_counts`` database triggers. * ``db.reset_counts()`` method and ``sqlite-utils reset-counts`` command for resetting the values in the ``_counts`` table. * The previously undocumented ``db.escape()`` method has been renamed to ``db.quote()``. * New ``table.triggers_dict`` and ``db.triggers_dict`` introspection properties. * ``sqlite-utils insert`` now shows a more useful error message for invalid JSON. - Updates for 3.1.1 * Fixed failing test caused by ``optimize`` sometimes creating larger database files. * Documentation now lives on https://sqlite-utils.datasette.io/ * README now includes ``brew install sqlite-utils`` installation method. - Updates for 3.1 * New command: ``sqlite-utils analyze-tables my.db`` outputs useful information about the table columns in the database, such as the number of distinct values and how many rows are null. * New ``table.analyze_column(column)`` Python method used by the ``analyze-tables`` command - see :ref:`python_api_analyze_column`. * The ``table.update()`` method now correctly handles values that should be stored as JSON. - Updates for 3.0 * This release introduces a new ``sqlite-utils search`` command for searching tables, see :ref:`cli_search`. * The ``table.search()`` method has been redesigned. * The release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are: * The ``-c`` shortcut option for outputting CSV is no longer available. The full ``--csv`` option is required instead. * The ``-f`` shortcut for ``--fmt`` has also been removed - use ``--fmt``. * The ``table.search()`` method now defaults to sorting by relevance, not sorting by ``rowid``. * The ``table.search()`` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples. * The ``query``, ``tables``, ``rows`` and ``search`` CLI commands now accept a new ``--tsv`` option which outputs the results in TSV. * A new ``table.virtual_table_using`` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. ``FTS4`` or ``FTS5``) if it is. It returns ``None`` if the table is not a virtual table. * The new ``table.search_sql()`` method returns the SQL for searching a table, see :ref:`python_api_fts_search_sql`. * ``sqlite-utils rows`` now accepts multiple optional ``-c`` parameters specifying the columns to return. * The ``sqlite-utils search`` command now defaults to returning every result, unless you add a ``--limit 20`` option. * The ``sqlite-utils search -c`` and ``table.search(columns=[])`` options are now fully respected. - Skip python2 because python-sqlite-fts4 don't support it. - Skip python36 because python-panda don't support it. OBS-URL: https://build.opensuse.org/request/show/873656 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=3
2021-02-19 08:28:28 +00:00
BuildRequires: %{python_module click-default-group}
BuildRequires: %{python_module click}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module pandas}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
Accepting request 873656 from home:andythe_great:branches:devel:languages:python - Update to version 3.5. * ``sqlite-utils insert --sniff`` option for detecting the delimiter and quote character used by a CSV file * The ``table.rows_where()``, ``table.search()`` and ``table.search_sql()`` methods all now take optional ``offset=`` and ``limit=`` arguments. * New ``--no-headers`` option for ``sqlite-utils insert --csv`` to handle CSV files that are missing the header row. * Fixed bug where inserting data with extra columns in subsequent chunks would throw an error. * Fixed bug importing CSV files with columns containing more than 128KB of data. * Test suite now runs in CI against Ubuntu, macOS and Windows. - Updates for 3.4.1 * Fixed a code import bug that slipped in to 3.4. - Updates for 3.4 * ``sqlite-utils insert --csv`` now accepts optional ``--delimiter`` and ``--quotechar`` options. - Updates for 3.3 * The ``table.m2m()`` method now accepts an optional ``alter=True`` argument to specify that any missing columns should be added to the referenced table. - Updates for 3.2.1 * Fixed a bug where ``.add_missing_columns()`` failed to take case insensitive column names into account. - Updates for 3.2 * This release introduces a new mechanism for speeding up ``count(*)`` queries using cached table counts, stored in a ``_counts`` table and updated by triggers. This mechanism is described in :ref:`python_api_cached_table_counts`, and can be enabled using Python API methods or the new ``enable-counts`` CLI command. * ``table.enable_counts()`` method for enabling these triggers on a specific table. * ``db.enable_counts()`` method for enabling triggers on every table in the database. * New ``sqlite-utils enable-counts my.db`` command for enabling counts on all or specific tables, see :ref:`cli_enable_counts`. * New ``sqlite-utils triggers`` command for listing the triggers defined for a database or specific tables. * New ``db.use_counts_table`` property which, if ``True``, causes ``table.count`` to read from the ``_counts`` table. * ``table.has_counts_triggers`` property revealing if a table has been configured with the new ``_counts`` database triggers. * ``db.reset_counts()`` method and ``sqlite-utils reset-counts`` command for resetting the values in the ``_counts`` table. * The previously undocumented ``db.escape()`` method has been renamed to ``db.quote()``. * New ``table.triggers_dict`` and ``db.triggers_dict`` introspection properties. * ``sqlite-utils insert`` now shows a more useful error message for invalid JSON. - Updates for 3.1.1 * Fixed failing test caused by ``optimize`` sometimes creating larger database files. * Documentation now lives on https://sqlite-utils.datasette.io/ * README now includes ``brew install sqlite-utils`` installation method. - Updates for 3.1 * New command: ``sqlite-utils analyze-tables my.db`` outputs useful information about the table columns in the database, such as the number of distinct values and how many rows are null. * New ``table.analyze_column(column)`` Python method used by the ``analyze-tables`` command - see :ref:`python_api_analyze_column`. * The ``table.update()`` method now correctly handles values that should be stored as JSON. - Updates for 3.0 * This release introduces a new ``sqlite-utils search`` command for searching tables, see :ref:`cli_search`. * The ``table.search()`` method has been redesigned. * The release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are: * The ``-c`` shortcut option for outputting CSV is no longer available. The full ``--csv`` option is required instead. * The ``-f`` shortcut for ``--fmt`` has also been removed - use ``--fmt``. * The ``table.search()`` method now defaults to sorting by relevance, not sorting by ``rowid``. * The ``table.search()`` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples. * The ``query``, ``tables``, ``rows`` and ``search`` CLI commands now accept a new ``--tsv`` option which outputs the results in TSV. * A new ``table.virtual_table_using`` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. ``FTS4`` or ``FTS5``) if it is. It returns ``None`` if the table is not a virtual table. * The new ``table.search_sql()`` method returns the SQL for searching a table, see :ref:`python_api_fts_search_sql`. * ``sqlite-utils rows`` now accepts multiple optional ``-c`` parameters specifying the columns to return. * The ``sqlite-utils search`` command now defaults to returning every result, unless you add a ``--limit 20`` option. * The ``sqlite-utils search -c`` and ``table.search(columns=[])`` options are now fully respected. - Skip python2 because python-sqlite-fts4 don't support it. - Skip python36 because python-panda don't support it. OBS-URL: https://build.opensuse.org/request/show/873656 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=3
2021-02-19 08:28:28 +00:00
BuildRequires: %{python_module sqlite-fts4}
BuildRequires: %{python_module tabulate}
BuildRequires: %{pythons}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-click
Requires: python-click-default-group
Accepting request 873656 from home:andythe_great:branches:devel:languages:python - Update to version 3.5. * ``sqlite-utils insert --sniff`` option for detecting the delimiter and quote character used by a CSV file * The ``table.rows_where()``, ``table.search()`` and ``table.search_sql()`` methods all now take optional ``offset=`` and ``limit=`` arguments. * New ``--no-headers`` option for ``sqlite-utils insert --csv`` to handle CSV files that are missing the header row. * Fixed bug where inserting data with extra columns in subsequent chunks would throw an error. * Fixed bug importing CSV files with columns containing more than 128KB of data. * Test suite now runs in CI against Ubuntu, macOS and Windows. - Updates for 3.4.1 * Fixed a code import bug that slipped in to 3.4. - Updates for 3.4 * ``sqlite-utils insert --csv`` now accepts optional ``--delimiter`` and ``--quotechar`` options. - Updates for 3.3 * The ``table.m2m()`` method now accepts an optional ``alter=True`` argument to specify that any missing columns should be added to the referenced table. - Updates for 3.2.1 * Fixed a bug where ``.add_missing_columns()`` failed to take case insensitive column names into account. - Updates for 3.2 * This release introduces a new mechanism for speeding up ``count(*)`` queries using cached table counts, stored in a ``_counts`` table and updated by triggers. This mechanism is described in :ref:`python_api_cached_table_counts`, and can be enabled using Python API methods or the new ``enable-counts`` CLI command. * ``table.enable_counts()`` method for enabling these triggers on a specific table. * ``db.enable_counts()`` method for enabling triggers on every table in the database. * New ``sqlite-utils enable-counts my.db`` command for enabling counts on all or specific tables, see :ref:`cli_enable_counts`. * New ``sqlite-utils triggers`` command for listing the triggers defined for a database or specific tables. * New ``db.use_counts_table`` property which, if ``True``, causes ``table.count`` to read from the ``_counts`` table. * ``table.has_counts_triggers`` property revealing if a table has been configured with the new ``_counts`` database triggers. * ``db.reset_counts()`` method and ``sqlite-utils reset-counts`` command for resetting the values in the ``_counts`` table. * The previously undocumented ``db.escape()`` method has been renamed to ``db.quote()``. * New ``table.triggers_dict`` and ``db.triggers_dict`` introspection properties. * ``sqlite-utils insert`` now shows a more useful error message for invalid JSON. - Updates for 3.1.1 * Fixed failing test caused by ``optimize`` sometimes creating larger database files. * Documentation now lives on https://sqlite-utils.datasette.io/ * README now includes ``brew install sqlite-utils`` installation method. - Updates for 3.1 * New command: ``sqlite-utils analyze-tables my.db`` outputs useful information about the table columns in the database, such as the number of distinct values and how many rows are null. * New ``table.analyze_column(column)`` Python method used by the ``analyze-tables`` command - see :ref:`python_api_analyze_column`. * The ``table.update()`` method now correctly handles values that should be stored as JSON. - Updates for 3.0 * This release introduces a new ``sqlite-utils search`` command for searching tables, see :ref:`cli_search`. * The ``table.search()`` method has been redesigned. * The release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are: * The ``-c`` shortcut option for outputting CSV is no longer available. The full ``--csv`` option is required instead. * The ``-f`` shortcut for ``--fmt`` has also been removed - use ``--fmt``. * The ``table.search()`` method now defaults to sorting by relevance, not sorting by ``rowid``. * The ``table.search()`` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples. * The ``query``, ``tables``, ``rows`` and ``search`` CLI commands now accept a new ``--tsv`` option which outputs the results in TSV. * A new ``table.virtual_table_using`` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. ``FTS4`` or ``FTS5``) if it is. It returns ``None`` if the table is not a virtual table. * The new ``table.search_sql()`` method returns the SQL for searching a table, see :ref:`python_api_fts_search_sql`. * ``sqlite-utils rows`` now accepts multiple optional ``-c`` parameters specifying the columns to return. * The ``sqlite-utils search`` command now defaults to returning every result, unless you add a ``--limit 20`` option. * The ``sqlite-utils search -c`` and ``table.search(columns=[])`` options are now fully respected. - Skip python2 because python-sqlite-fts4 don't support it. - Skip python36 because python-panda don't support it. OBS-URL: https://build.opensuse.org/request/show/873656 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-sqlite-utils?expand=0&rev=3
2021-02-19 08:28:28 +00:00
Requires: python-sqlite-fts4
Requires: python-tabulate
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
%description
CLI tool and Python utility functions for manipulating SQLite databases.
%prep
%setup -q -n sqlite-utils-%{version}
# https://github.com/simonw/sqlite-utils/issues/357
sed -i 's:pytest-runner:pytest:' setup.py
%build
%python_build
%install
%python_install
%python_clone -a %{buildroot}%{_bindir}/sqlite-utils
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%post
%python_install_alternative sqlite-utils
%postun
%python_uninstall_alternative sqlite-utils
%check
export LANG=en_US.UTF-8
%pytest
%files %{python_files}
%doc README.md docs
%license LICENSE
%python_alternative %{_bindir}/sqlite-utils
%{python_sitelib}/*
%changelog