commit:     6661d7e7d52d7ab1658ffc13257941887a666b37
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  2 17:52:21 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct  3 02:33:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6661d7e7

dev-python/fsspec: Bump to 2024.9.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/fsspec/Manifest                         |   1 +
 .../fsspec/files/fsspec-2024.9.0-backports.patch   | 128 +++++++++++++++++++++
 dev-python/fsspec/fsspec-2024.9.0.ebuild           |  63 ++++++++++
 3 files changed, 192 insertions(+)

diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index be76d6abdb8b..c7916ee7a04c 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
 DIST filesystem_spec-2024.6.1.gh.tar.gz 409416 BLAKE2B 
c5b2ba4935dcf0a141c952d611b49c4370a07e3c9ed439ae4d7e98f86e93610a2b1eb8c394eb73ed4494555cca1ac169f1ee7b11144cf0d1ecae7316a46092b6
 SHA512 
67ecf2bc10c3ae28fa64be5ecb659fc466e97b52b152f3f223d347931b04730e58a48e90d7c546a47c5422831103711037fc268c24984cf77ef65ca4714b0e5e
+DIST filesystem_spec-2024.9.0.gh.tar.gz 413991 BLAKE2B 
b4dbb17e39481d3d5ee900618b3bea036faec0ce84d95cf2e581feb59d0eb5cb1ecc73730b87bbeb175110db34d52db062bf8d94e82f27a28a6f1693e10c49e7
 SHA512 
2600f7b020019634ec3f4ffd2a66f458c04423f10c00afbfd99dabad7fca809af28792a5b8a6625c57548f8dc172ab0d9498cbfcd570cd1d04a905c079fe4fb9

diff --git a/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch 
b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch
new file mode 100644
index 000000000000..a8f9f965c083
--- /dev/null
+++ b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch
@@ -0,0 +1,128 @@
+From edf495736a39c0031d5514e8350363dfa229f3d4 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <[email protected]>
+Date: Sun, 22 Sep 2024 23:48:36 -0400
+Subject: [PATCH] Fix handling of Paths in zip implementation
+
+Fixes #1688
+---
+ fsspec/implementations/zip.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/fsspec/implementations/zip.py b/fsspec/implementations/zip.py
+index aa6a57842..6db3ae278 100644
+--- a/fsspec/implementations/zip.py
++++ b/fsspec/implementations/zip.py
+@@ -1,3 +1,4 @@
++import os
+ import zipfile
+ 
+ import fsspec
+@@ -48,7 +49,7 @@ def __init__(
+         if mode not in set("rwa"):
+             raise ValueError(f"mode '{mode}' no understood")
+         self.mode = mode
+-        if isinstance(fo, str):
++        if isinstance(fo, (str, os.PathLike)):
+             if mode == "a":
+                 m = "r+b"
+             else:
+From dc4f5a97d90238b862fa7974a9b8e93602f44540 Mon Sep 17 00:00:00 2001
+From: Martin Durant <[email protected]>
+Date: Mon, 23 Sep 2024 09:42:21 -0400
+Subject: [PATCH] Don't require absolute offsets in zip tests (#1691)
+
+---
+ fsspec/implementations/tests/test_zip.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fsspec/implementations/tests/test_zip.py 
b/fsspec/implementations/tests/test_zip.py
+index ecd082f3f..8bf8155d9 100644
+--- a/fsspec/implementations/tests/test_zip.py
++++ b/fsspec/implementations/tests/test_zip.py
+@@ -169,12 +169,16 @@ def 
_assert_all_except_context_dependent_variables(result, expected_result):
+         result_without_date_time.pop("_raw_time")
+         result_without_date_time.pop("external_attr")
+         result_without_date_time.pop("create_system")
++        result_without_date_time.pop("_end_offset", None)
++        result_without_date_time.pop("header_offset", None)
+ 
+         expected_result_without_date_time = expected_result[path].copy()
+         expected_result_without_date_time.pop("date_time")
+         expected_result_without_date_time.pop("_raw_time")
+         expected_result_without_date_time.pop("external_attr")
+         expected_result_without_date_time.pop("create_system")
++        expected_result_without_date_time.pop("_end_offset", None)
++        expected_result_without_date_time.pop("header_offset", None)
+         assert result_without_date_time == expected_result_without_date_time
+ 
+ 
+From 0021859ff78bbf62e86c330e2dad00c5dd205108 Mon Sep 17 00:00:00 2001
+From: Martin Durant <[email protected]>
+Date: Wed, 2 Oct 2024 11:37:14 -0400
+Subject: [PATCH] Limit fields checked in ZIP tests
+
+---
+ fsspec/asyn.py                           |  4 +++
+ fsspec/implementations/tests/test_zip.py | 34 +++++++++++++-----------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/fsspec/asyn.py b/fsspec/asyn.py
+index f203fa0a4..de41839ea 100644
+--- a/fsspec/asyn.py
++++ b/fsspec/asyn.py
+@@ -344,6 +344,10 @@ async def _rm(self, path, recursive=False, 
batch_size=None, **kwargs):
+     async def _cp_file(self, path1, path2, **kwargs):
+         raise NotImplementedError
+ 
++    async def _mv_file(self, path1, path2):
++        await self._cp_file(path1, path2)
++        await self._rm_file(path1)
++
+     async def _copy(
+         self,
+         path1,
+diff --git a/fsspec/implementations/tests/test_zip.py 
b/fsspec/implementations/tests/test_zip.py
+index 8bf8155d9..14d00086e 100644
+--- a/fsspec/implementations/tests/test_zip.py
++++ b/fsspec/implementations/tests/test_zip.py
+@@ -164,21 +164,25 @@ def zip_file_fixture(tmp_path):
+ def _assert_all_except_context_dependent_variables(result, expected_result):
+     for path in expected_result.keys():
+         assert result[path]
+-        result_without_date_time = result[path].copy()
+-        result_without_date_time.pop("date_time")
+-        result_without_date_time.pop("_raw_time")
+-        result_without_date_time.pop("external_attr")
+-        result_without_date_time.pop("create_system")
+-        result_without_date_time.pop("_end_offset", None)
+-        result_without_date_time.pop("header_offset", None)
+-
+-        expected_result_without_date_time = expected_result[path].copy()
+-        expected_result_without_date_time.pop("date_time")
+-        expected_result_without_date_time.pop("_raw_time")
+-        expected_result_without_date_time.pop("external_attr")
+-        expected_result_without_date_time.pop("create_system")
+-        expected_result_without_date_time.pop("_end_offset", None)
+-        expected_result_without_date_time.pop("header_offset", None)
++        fields = [
++            "orig_filename",
++            "filename",
++            "compress_type",
++            "comment",
++            "extra",
++            "CRC",
++            "compress_size",
++            "file_size",
++            "name",
++            "size",
++            "type",
++        ]
++
++        result_without_date_time = {k: result[path][k] for k in fields}
++
++        expected_result_without_date_time = {
++            k: expected_result[path][k] for k in fields
++        }
+         assert result_without_date_time == expected_result_without_date_time
+ 
+ 

diff --git a/dev-python/fsspec/fsspec-2024.9.0.ebuild 
b/dev-python/fsspec/fsspec-2024.9.0.ebuild
new file mode 100644
index 000000000000..b6cde0c2fe2c
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2024.9.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+       https://github.com/fsspec/filesystem_spec/
+       https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+       https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+               -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+       dev-python/hatch-vcs[${PYTHON_USEDEP}]
+       test? (
+               dev-python/aiohttp[${PYTHON_USEDEP}]
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+               dev-python/pytest-mock[${PYTHON_USEDEP}]
+               dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+               dev-python/tqdm[${PYTHON_USEDEP}]
+               dev-vcs/git
+       )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+       # https://github.com/fsspec/filesystem_spec/pull/1689
+       # https://github.com/fsspec/filesystem_spec/pull/1691
+       # https://github.com/fsspec/filesystem_spec/pull/1700
+       "${FILESDIR}/${P}-backports.patch"
+)
+
+src_test() {
+       git config --global user.email "[email protected]" || die
+       git config --global user.name "Your Name" || die
+       distutils-r1_src_test
+}
+
+python_test() {
+       local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+       epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}

Reply via email to