From 12e4ac9a91d3e00d86b0bc296b18acbfdf060cecd9f51534d83ea3cb99cc4fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 20:46:39 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main python-gcsfs revision c53a624b7ee3347e84c44d82071311a7 --- .gitattributes | 23 ++++ gcsfs-2023.12.2-gh.tar.gz | 3 + python-gcsfs.changes | 215 ++++++++++++++++++++++++++++++++++++++ python-gcsfs.spec | 116 ++++++++++++++++++++ 4 files changed, 357 insertions(+) create mode 100644 .gitattributes create mode 100644 gcsfs-2023.12.2-gh.tar.gz create mode 100644 python-gcsfs.changes create mode 100644 python-gcsfs.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/gcsfs-2023.12.2-gh.tar.gz b/gcsfs-2023.12.2-gh.tar.gz new file mode 100644 index 0000000..3b4f241 --- /dev/null +++ b/gcsfs-2023.12.2-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d6a25a5a7047b9a417a37c70fcab5c59f7bfa50c2d7af0286a20db919715b40 +size 90330 diff --git a/python-gcsfs.changes b/python-gcsfs.changes new file mode 100644 index 0000000..6c2484c --- /dev/null +++ b/python-gcsfs.changes @@ -0,0 +1,215 @@ +------------------------------------------------------------------- +Sat Dec 16 12:36:23 UTC 2023 - Dirk Müller + +- update to 2023.12.3post1: + * use same version when paginating list (#591) + * fix double asterisk glob test (#589) + +------------------------------------------------------------------- +Tue Nov 14 20:04:58 UTC 2023 - Ondřej Súkup + +- Update to 2023.10.0 + * Fix for transactions of small files + +------------------------------------------------------------------- +Thu Oct 12 10:35:32 UTC 2023 - Ondřej Súkup + +- Update to 2023.9.2 + * bulk operations edge case + * inventory report based file listing (#573) + * pickle HttpError (#571) + * avoid warnings (#569) + * maxdepth in find() (#566) + * invalidate dircache (#564) + * standard metadata field names (#563) + * performance of building cache in find() (#561) + +------------------------------------------------------------------- +Wed Jul 5 08:50:51 UTC 2023 - Ben Greiner + +- Update to 2023.6.0 + * allow raw/session token for auth (#554) + * fix listings_expiry_time kwargs (#551) + * allow setting fixed metadata on put/pipe (#550) + +------------------------------------------------------------------- +Wed Jun 7 04:27:24 UTC 2023 - Steve Kowalik + +- Update to 2023.5.0: + * Allow emulator host without protocol (#548) + * Prevent upload retry from closing the file being sent (#540) + +------------------------------------------------------------------- +Fri Mar 24 15:48:08 UTC 2023 - Ben Greiner + +- Update to 2023.3.0 + * Don't let find() mess up dircache (#531) + * Drop py3.7 (#529) + * Update docs (#528) + * Make times UTC (#527) + * Use BytesIO for large bodies (#525) + * Fix: Don't append generation when it is absent (#523) + * get/put/cp consistency tests (#521) +- Release 2023.1.0 + * Support create time (#516, 518) + * defer async session creation (#513, 514) + * support listing of file versions (#509) + * fix sign following versioned split protocol (#513) + +------------------------------------------------------------------- +Sat Nov 19 14:45:02 UTC 2022 - Ben Greiner + +- Update to 2022.11.0 + * implement object versioning (#504) + +------------------------------------------------------------------- +Mon Oct 31 23:26:44 UTC 2022 - Matej Cepl + +- Update to 2022.10.0: + - bump fsspec to 2022.10.0 + +------------------------------------------------------------------- +Sun Oct 9 09:33:42 UTC 2022 - Ben Greiner + +- Update to 2022.8.2 + * Try cloud auth by default (#479) + +------------------------------------------------------------------- +Sat Jul 2 18:49:11 UTC 2022 - Ben Greiner + +- Enable the test suite with fake-gcs-server running + +------------------------------------------------------------------- +Wed Jun 29 10:18:06 UTC 2022 - Ben Greiner + +- Update to 2022.5.0 + * invalidate listings cache for simple put/pipe (#474) + * conform _mkdir and _cat_file to upstream (#471) + +------------------------------------------------------------------- +Wed Apr 27 21:15:17 UTC 2022 - Ben Greiner + +- Update to 2022.3.0 + * bucket exists workaround (#464) + * dirmarkers (#459) + * check connection (#457) + * browser connection now uses local server (#456) + * bucket location (#455) + * ensure auth is closed (#452) + +------------------------------------------------------------------- +Tue Feb 22 22:47:16 UTC 2022 - Matej Cepl + +- Update to 2022.02.0: + - fix list_buckets without cache + - drop py36 + +------------------------------------------------------------------- +Mon Jan 24 17:20:26 UTC 2022 - Ben Greiner + +- Update to 2022.01.0 + * update refname for versions (#442) + +------------------------------------------------------------------- +Thu Jan 6 20:44:59 UTC 2022 - Ben Greiner + +- Update to 2021.11.1 + * don't touch cache when doing find with a prefix (#437) +- Release 2021.11.0 + * move to fsspec org + * add support for google fixed_key_metadata (#429) + * deprecate content_encoding parameter of setxattrs method (#429) + * use emulator for resting instead of vcrpy (#424) +- Release 2021.10.1 + * url signing (#411) + * default callback (#422) +- Release 2021.10.0 + * min version for decorator + * default callback in get (#422) +- Release 2021.09.0 + * correctly recognise 404 (#419) + * fix for .details due to upstream (#417) + * callbacks in get/put (#416) + * "%" in paths (#415) +- Release 2021.08.1 + * don't retry 404s (#406) +- Disable most of the testsuite because the setup moved from vcrpy + to a docker based simulator + +------------------------------------------------------------------- +Wed Aug 18 10:29:33 UTC 2021 - Ben Greiner + +- Update to 2021.07.0 + * fix find/glob with a prefix (#399) +- Release notes between 0.7.1 and 2021.06.0 + * kwargs to aiohttpClient session + * graceful timeout when disconnecting at finalise (#397) + * negative ranges in cat_file (#394) + * no credentials bug fix (#390) + * use googleapis.com (#388) + * more retries (#387, 385, 380) + * Code cleanup (#381) + * license to match stated one (#378) + * deps updated (#376) + * switch to calver and fsspec pin + * keep up with fsspec 0.9.0 async + * one-shot find + * consistency checkers + * retries for intermittent issues + * timeouts + * partial cat + * http error status +- Fix running the testsuite -- gh#dask/gcsfs#292 + * drop avoid_network_tests.patch + * use the GitHub archive for VCR recordings + +------------------------------------------------------------------- +Mon May 24 03:49:24 UTC 2021 - Steve Kowalik + +- Do not build for Python 3.6, due to no NumPy. + +------------------------------------------------------------------- +Tue Oct 6 19:15:04 UTC 2020 - Matej Cepl + +- Update to 0.7.1: + - async operations via aiohttp +- Add avoid_network_tests.patch to skip over network requiring + test (gh#dask/gcsfs#292). + +------------------------------------------------------------------- +Mon Apr 6 13:52:50 UTC 2020 - Marketa Calabkova + +- Update to 0.6.1 + * **API-breaking**: Changed requester-pays handling for ``GCSFileSystem``. + The ``user_project`` keyword has been removed, and has been replaced with + the ``requester_pays`` keyword. If you're working with a ``requester_pays`` bucket + you will need to explicity pass ``requester_pays=True``. This will include your + ``project`` ID in requests made to GCS. + * ``GCSFileSystem`` now validates that the ``project`` provided, if any, matches the + Google default project when using ``token='google_default'`` to authenticate (:pr:`219`). + * Fixed bug in ``GCSFileSystem.cat`` on objects in requester-pays buckets (:pr:`217`). + * Fixed bug in ``user_project`` fallback for default Google authentication (:pr:`213`) + * ``user_project`` now falls back to the ``project`` if provided (:pr:`208`) + * Added the ability to make requester-pays requests with the ``user_project`` parameter (:pr:`206`) + * Improved performance when serializing filesystem objects (:pr:`182`) + * Fixed authorization errors when using ``gcsfs`` within multithreaded code (:pr:`183`, :pr:`192`) + * Added contributing instructions (:pr:`185`) + * Improved performance for :meth:`gcsfs.GCSFileSystem.info` (:pr:`187`) + * Fixed bug in :meth:`gcsfs.GCSFileSystem.info` raising an error (:pr:`190`) + +------------------------------------------------------------------- +Mon Jul 22 16:41:24 UTC 2019 - Todd R + +- Update to 0.3.0 + * Pass through open kwargs + * set versions + * add fuse recording + * skip fuse early + * remove pandas install + * some changes for FUSE + * add fsspec to install + +------------------------------------------------------------------- +Thu May 2 17:17:18 UTC 2019 - Todd R + +- Initial version diff --git a/python-gcsfs.spec b/python-gcsfs.spec new file mode 100644 index 0000000..d2aeadd --- /dev/null +++ b/python-gcsfs.spec @@ -0,0 +1,116 @@ +# +# spec file for package python-gcsfs +# +# 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/ +# + + +Name: python-gcsfs +Version: 2023.12.2 +Release: 0 +Summary: Filesystem interface over GCS +License: BSD-3-Clause +URL: https://github.com/fsspec/gcsfs +# Use the GitHub tarball for test data +Source: https://github.com/fsspec/gcsfs/archive/refs/tags/%{version}.tar.gz#/gcsfs-%{version}-gh.tar.gz +BuildRequires: %{python_module base >= 3.9} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-aiohttp +Requires: python-decorator > 4.1.2 +Requires: python-fsspec = %{version} +Requires: python-google-auth >= 1.2 +Requires: python-google-auth-oauthlib +Requires: python-google-cloud-storage +Requires: python-requests +Recommends: dask +Recommends: python-gcsfs-fuse = %{version} +Suggests: python-crcmod +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module aiohttp} +BuildRequires: %{python_module click} +BuildRequires: %{python_module decorator > 4.1.2} +BuildRequires: %{python_module fsspec == %{version}} +BuildRequires: %{python_module fusepy} +BuildRequires: %{python_module google-api-core} +BuildRequires: %{python_module google-api-python-client} +BuildRequires: %{python_module google-auth >= 1.2} +BuildRequires: %{python_module google-auth-oauthlib} +BuildRequires: %{python_module google-cloud-storage} +BuildRequires: %{python_module pytest-timeout} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests} +BuildRequires: fake-gcs-server +# /SECTION +%python_subpackages + +%description +File-system interface for Google Cloud Storage. + +%package fuse +Summary: Filesystem interface over GCS - FUSE interface +Requires: python-click +Requires: python-fusepy + +%description fuse +File-system interface for Google Cloud Storage. + +This package provides the optional FUSE interface. + +%prep +%autosetup -p1 -n gcsfs-%{version} +sed -i 's/--color=yes//' setup.cfg + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# https://github.com/fsspec/gcsfs/blob/main/docs/source/developer.rst +fake-gcs-server \ + -backend memory \ + -scheme http \ + -public-host http://localhost:4443 \ + -external-url http://localhost:4443 \ + >$PWD/fake-gcs-server.stdout 2>$PWD/fake-gcs-server.stderr & +trap "jobs; kill %1 || true" EXIT +export STORAGE_EMULATOR_HOST=http://localhost:4443 +export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/gcsfs/tests/fake-secret.json +# Don't test fuse, it hangs on mounting inside obs +donttest="test_fuse" +# finds an existing path on the non-first multiflavor test runs" +donttest+=" or test_mkdir_with_path" +# no http error (which is expected) without network +donttest+=" or test_credentials_from_raw_token" +%pytest -rfEs -k "not ($donttest)" + +%files %{python_files} +%doc README.rst +%license LICENSE.txt +%{python_sitelib}/gcsfs-%{version}.dist-info +%{python_sitelib}/gcsfs/ +%exclude %{python_sitelib}/gcsfs/cli/ + +%files %{python_files fuse} +%license LICENSE.txt +%{python_sitelib}/gcsfs/cli/ + +%changelog