Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-gwdatafind for openSUSE:Factory checked in at 2026-05-05 17:57:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gwdatafind (Old) and /work/SRC/openSUSE:Factory/.python-gwdatafind.new.30200 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gwdatafind" Tue May 5 17:57:39 2026 rev:10 rq:1350954 version:2.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gwdatafind/python-gwdatafind.changes 2025-09-29 16:37:39.984114093 +0200 +++ /work/SRC/openSUSE:Factory/.python-gwdatafind.new.30200/python-gwdatafind.changes 2026-05-05 17:57:39.561452167 +0200 @@ -1,0 +2,10 @@ +Tue May 5 11:02:56 UTC 2026 - Ana Guerrero <[email protected]> + +- Update to 2.1.1: + * Disable pytest cache for Debian builds (!118) + * Use session argument in find_latest (!119) + * Fix searching for multi-ifo files (!120) +- Add patch to fix build with python314: + * fix_python314.patch + +------------------------------------------------------------------- Old: ---- gwdatafind-2.1.0.tar.gz New: ---- fix_python314.patch gwdatafind-2.1.1.tar.gz ----------(New B)---------- New:- Add patch to fix build with python314: * fix_python314.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gwdatafind.spec ++++++ --- /var/tmp/diff_new_pack.9ujlx0/_old 2026-05-05 17:57:41.565535047 +0200 +++ /var/tmp/diff_new_pack.9ujlx0/_new 2026-05-05 17:57:41.585535874 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-gwdatafind # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 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 @@ -17,12 +17,13 @@ Name: python-gwdatafind -Version: 2.1.0 +Version: 2.1.1 Release: 0 License: GPL-3.0-only Summary: Client library for the LIGO Data Replicator (LDR) service URL: https://gwdatafind.readthedocs.io/ Source: https://files.pythonhosted.org/packages/source/g/gwdatafind/gwdatafind-%{version}.tar.gz +Patch0: fix_python314.patch BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} @@ -51,7 +52,7 @@ gravitational-wave detectors %prep -%setup -q -n gwdatafind-%{version} +%autosetup -p1 -n gwdatafind-%{version} sed -i 's/--color=yes//' pyproject.toml %build ++++++ fix_python314.patch ++++++ >From db879ef079634239f3e6699be9c3ec0238f32c07 Mon Sep 17 00:00:00 2001 From: Duncan Macleod <[email protected]> Date: Thu, 23 Apr 2026 22:28:12 +0100 Subject: [PATCH] fix(ui): ensure segments are created using tuples Python 3.14 is stricter in not wanting to unpack iterables that are not tuples when creating segments Closes https://git.ligo.org/computing/gwdatafind/client/-/work_items/51 --- gwdatafind/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gwdatafind/ui.py b/gwdatafind/ui.py index 6da509e..49a040b 100644 --- a/gwdatafind/ui.py +++ b/gwdatafind/ui.py @@ -491,7 +491,7 @@ def find_times( ext=ext, ) times = get_json(qurl, session=session, **request_kw) - segs = segments.segmentlist(map(segments.segment, times)) + segs = segments.segmentlist(segments.segment(*t) for t in times) log.debug("%d segments found", len(segs)) return segs -- GitLab ++++++ gwdatafind-2.1.0.tar.gz -> gwdatafind-2.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/CHANGELOG.md new/gwdatafind-2.1.1/CHANGELOG.md --- old/gwdatafind-2.1.0/CHANGELOG.md 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/CHANGELOG.md 2025-10-31 10:24:24.000000000 +0100 @@ -2,6 +2,18 @@ # Changelog +(v2.1.1)= +## 2.1.1 - 2025-10-29 + +- Disable pytest cache for Debian builds + ([!118](https://git.ligo.org/computing/gwdatafind/client/-/merge_requests/118)) +- Use session argument in find_latest + ([!119](https://git.ligo.org/computing/gwdatafind/client/-/merge_requests/119)) +- Fix searching for multi-ifo files + ([!120](https://git.ligo.org/computing/gwdatafind/client/-/merge_requests/120)) + +[Full details](https://git.ligo.org/computing/gwdatafind/client/-/releases/2.1.1) + (v2.1.0)= ## 2.1.0 - 2025-07-24 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/PKG-INFO new/gwdatafind-2.1.1/PKG-INFO --- old/gwdatafind-2.1.0/PKG-INFO 2025-07-24 20:29:02.354648600 +0200 +++ new/gwdatafind-2.1.1/PKG-INFO 2025-10-31 10:45:01.983026500 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: gwdatafind -Version: 2.1.0 +Version: 2.1.1 Summary: The GWDataFind data discovery client Author-email: Duncan Macleod <[email protected]> License: GPL-3.0-or-later diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/debian/changelog new/gwdatafind-2.1.1/debian/changelog --- old/gwdatafind-2.1.0/debian/changelog 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/debian/changelog 2025-10-31 10:24:24.000000000 +0100 @@ -1,3 +1,10 @@ +gwdatafind (2.1.1-1) unstable; urgency=low + + * Update for 2.1.1 + * Disable pytest cache during build + + -- Duncan Macleod <[email protected]> Wed, 29 Oct 2025 15:00:00 +0000 + gwdatafind (2.1.0-1) unstable; urgency=low * Update for 2.1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/debian/rules new/gwdatafind-2.1.1/debian/rules --- old/gwdatafind-2.1.0/debian/rules 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/debian/rules 2025-10-31 10:24:24.000000000 +0100 @@ -1,5 +1,8 @@ #!/usr/bin/make -f +export PYBUILD_OPTION = --test-pytest +export PYTEST_ADDOPTS = -p no:cacheprovider + %: dh $@ --with python3 --buildsystem=pybuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind/__init__.py new/gwdatafind-2.1.1/gwdatafind/__init__.py --- old/gwdatafind-2.1.0/gwdatafind/__init__.py 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/gwdatafind/__init__.py 2025-10-31 10:24:24.000000000 +0100 @@ -87,4 +87,4 @@ __author__ = "Duncan Macleod <[email protected]>" __credits__ = "Scott Koranda <[email protected]>" -__version__ = "2.1.0" +__version__ = "2.1.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind/api/v1.py new/gwdatafind-2.1.1/gwdatafind/api/v1.py --- old/gwdatafind-2.1.0/gwdatafind/api/v1.py 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/gwdatafind/api/v1.py 2025-10-31 10:24:24.000000000 +0100 @@ -57,7 +57,7 @@ def find_types_path(site=None, ext=DEFAULT_EXT): """Return the API path to query for datasets for one or all sites.""" if site: - return f"{ext}/{site[0]}.json" + return f"{ext}/{site}.json" return f"{ext}/all.json" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind/tests/test_api_v1.py new/gwdatafind-2.1.1/gwdatafind/tests/test_api_v1.py --- old/gwdatafind-2.1.0/gwdatafind/tests/test_api_v1.py 1970-01-01 01:00:00.000000000 +0100 +++ new/gwdatafind-2.1.1/gwdatafind/tests/test_api_v1.py 2025-10-31 10:24:24.000000000 +0100 @@ -0,0 +1,178 @@ +# Copyright (c) 2025 Cardiff University +# +# This file is part of GWDataFind. +# +# GWDataFind is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GWDataFind is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GWDataFind. If not, see <https://www.gnu.org/licenses/>. + +"""Test suite for `gwdatafind.api.v1`. + +This just asserts that the API implementation here matches the expectation +from the v1 API for gwdatfind_server. +""" + +import pytest + +from gwdatafind.api import v1 as api_v1 + +__author__ = "Duncan Macleod <[email protected]>" + + +def test_ping_path(): + """Test `ping_path()`.""" + assert api_v1.ping_path() == "api/version" + + [email protected](("kwargs", "result"), [ + pytest.param( + {}, + "gwf.json", + id="default", + ), + pytest.param( + {"ext": "gwf"}, + "gwf.json", + id="gwf", + ), + pytest.param( + {"ext": "hdf5"}, + "hdf5.json", + id="hdf5", + ), +]) +def test_find_observatories_path(kwargs, result): + """Test `find_observatories_path()`.""" + assert api_v1.find_observatories_path(**kwargs) == f"api/v1/{result}" + + [email protected](("args", "kwargs", "result"), [ + pytest.param( + (None,), + {}, + "gwf/all.json", + id="all", + ), + pytest.param( + ("X",), + {}, + "gwf/X.json", + id="X", + ), + pytest.param( + (), + {"site": "XY", "ext": "hdf5"}, + "hdf5/XY.json", + id="XY", + ), +]) +def test_find_types_path(args, kwargs, result): + """Test `find_types_path()`.""" + assert api_v1.find_types_path(*args, **kwargs) == f"api/v1/{result}" + + [email protected](("args", "kwargs", "result"), [ + pytest.param( + ("X", "TEST", 0, 1), + {}, + "gwf/X/TEST/segments/0,1.json", + id="X-TEST-default", + ), + pytest.param( + ("X", "TEST", 1000, 2000), + {"ext": "gwf"}, + "gwf/X/TEST/segments/1000,2000.json", + id="X-TEST-gwf", + ), + pytest.param( + ("XY", "TEST", 0, 1), + {"ext": "hdf5"}, + "hdf5/XY/TEST/segments/0,1.json", + id="XY-TEST-hdf5", + ), +]) +def test_find_times_path(args, kwargs, result): + """Test `find_times_path()`.""" + assert api_v1.find_times_path(*args, **kwargs) == f"api/v1/{result}" + + [email protected](("args", "result"), [ + pytest.param( + ("/data/X-TEST-0-1.gwf",), + "gwf/X/TEST/X-TEST-0-1.gwf.json", + id="gwf", + ), + pytest.param( + ("/data/XY-TEST-1000-2000.hdf5",), + "hdf5/XY/TEST/XY-TEST-1000-2000.hdf5.json", + id="hdf5", + ), +]) +def test_find_url_path(args, result): + """Test `find_url_path()`.""" + assert api_v1.find_url_path(*args) == f"api/v1/{result}" + + [email protected](("args", "kwargs", "result"), [ + pytest.param( + ("X", "TEST", None), + {}, + "gwf/X/TEST/latest.json", + id="default", + ), + pytest.param( + ("X", "TEST", "file"), + {}, + "gwf/X/TEST/latest/file.json", + id="file", + ), + pytest.param( + ("X", "TEST", "file"), + {"ext": "hdf5"}, + "hdf5/X/TEST/latest/file.json", + id="hdf5-file", + ), +]) +def test_find_latest_path(args, kwargs, result): + """Test `find_latest_path()`.""" + assert api_v1.find_latest_path(*args, **kwargs) == f"api/v1/{result}" + + [email protected](("args", "kwargs", "result"), [ + pytest.param( + ("X", "TEST", 0, 1), + {}, + "gwf/X/TEST/0,1.json", + id="default", + ), + pytest.param( + ("X", "TEST", 0, 1), + {"urltype": "gsiftp", "ext": "hdf5"}, + "hdf5/X/TEST/0,1/gsiftp.json", + id="hdf5-gsiftp", + ), + pytest.param( + ("XY", "TEST", 0, 1), + {"match": "test"}, + "gwf/XY/TEST/0,1.json?match=test", + id="match", + ), + pytest.param( + ("X", "TEST", 0, 1), + {"urltype": "file", "match": "test", "ext": "gwf"}, + "gwf/X/TEST/0,1/file.json?match=test", + id="gwf-file-match", + ), +]) +def test_find_urls_path(args, kwargs, result): + """Test `find_urls_path()`.""" + assert api_v1.find_urls_path(*args, **kwargs) == f"api/v1/{result}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind/ui.py new/gwdatafind-2.1.1/gwdatafind/ui.py --- old/gwdatafind-2.1.0/gwdatafind/ui.py 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/gwdatafind/ui.py 2025-10-31 10:24:24.000000000 +0100 @@ -684,7 +684,7 @@ ext=ext, urltype=urltype, ) - return _get_urls(qurl, on_missing=on_missing, **request_kw) + return _get_urls(qurl, on_missing=on_missing, session=session, **request_kw) @_document_default_api diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind.egg-info/PKG-INFO new/gwdatafind-2.1.1/gwdatafind.egg-info/PKG-INFO --- old/gwdatafind-2.1.0/gwdatafind.egg-info/PKG-INFO 2025-07-24 20:29:02.000000000 +0200 +++ new/gwdatafind-2.1.1/gwdatafind.egg-info/PKG-INFO 2025-10-31 10:45:01.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: gwdatafind -Version: 2.1.0 +Version: 2.1.1 Summary: The GWDataFind data discovery client Author-email: Duncan Macleod <[email protected]> License: GPL-3.0-or-later diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/gwdatafind.egg-info/SOURCES.txt new/gwdatafind-2.1.1/gwdatafind.egg-info/SOURCES.txt --- old/gwdatafind-2.1.0/gwdatafind.egg-info/SOURCES.txt 2025-07-24 20:29:02.000000000 +0200 +++ new/gwdatafind-2.1.1/gwdatafind.egg-info/SOURCES.txt 2025-10-31 10:45:01.000000000 +0100 @@ -29,6 +29,7 @@ gwdatafind/api/v1.py gwdatafind/tests/__init__.py gwdatafind/tests/test_api_ldr.py +gwdatafind/tests/test_api_v1.py gwdatafind/tests/test_main.py gwdatafind/tests/test_ui.py gwdatafind/tests/test_utils.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwdatafind-2.1.0/rpm/python-gwdatafind.spec new/gwdatafind-2.1.1/rpm/python-gwdatafind.spec --- old/gwdatafind-2.1.0/rpm/python-gwdatafind.spec 2025-07-24 20:28:48.000000000 +0200 +++ new/gwdatafind-2.1.1/rpm/python-gwdatafind.spec 2025-10-31 10:24:24.000000000 +0100 @@ -1,5 +1,5 @@ %global srcname gwdatafind -%global version 2.1.0 +%global version 2.1.1 %global release 1 Name: python-%{srcname} @@ -155,6 +155,9 @@ # -- changelog %changelog +* Wed Oct 29 2025 Duncan Macleod <[email protected]> 2.1.1-1 +- update for 2.1.1 + * Thu Jul 24 2025 Duncan Macleod <[email protected]> 2.1.0-1 - update for 2.1.0 - update pytest warning filters
