fsspec / filesystem_spec

A specification that python filesystems should adhere to.
BSD 3-Clause "New" or "Revised" License
995 stars 352 forks source link

2023.12.0: pytest fails in units which are using `libarchive` module #1470

Open kloczek opened 9 months ago

kloczek commented 9 months ago

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

In build env is isntalled libarchive 0.4.7.

Here is pytest output: ```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-fsspec-2023.12.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-fsspec-2023.12.0-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0 configfile: pyproject.toml plugins: asyncio-0.23.2, steps-1.8.0, harvest-1.10.4, anyio-4.1.0, vcr-1.0.2, mock-3.12.0 asyncio: mode=strict collected 1580 items / 7 skipped fsspec/implementations/tests/test_archive.py ............................................................FFFFFFFF.F.F...................F.F.F..FFFF [ 6%] fsspec/implementations/tests/test_cached.py ..........................................ssssss............................... [ 11%] fsspec/implementations/tests/test_common.py ssss [ 11%] fsspec/implementations/tests/test_data.py .. [ 11%] fsspec/implementations/tests/test_dbfs.py ..... [ 12%] fsspec/implementations/tests/test_dirfs.py ........................................................................................................................ [ 19%] fsspec/implementations/tests/test_ftp.py ............. [ 20%] fsspec/implementations/tests/test_http.py ...................................................... [ 23%] fsspec/implementations/tests/test_jupyter.py . [ 24%] fsspec/implementations/tests/test_libarchive.py F [ 24%] fsspec/implementations/tests/test_local.py .s............................s...................................................... [ 29%] fsspec/implementations/tests/test_memory.py ............................ [ 31%] fsspec/implementations/tests/test_reference.py ................s.....ss.. [ 32%] fsspec/implementations/tests/test_sftp.py ssssssssss [ 33%] fsspec/implementations/tests/test_tar.py ......................... [ 35%] fsspec/implementations/tests/test_webhdfs.py sssssssssss [ 35%] fsspec/implementations/tests/test_zip.py ....... [ 36%] fsspec/implementations/tests/local/local_test.py .................................................................................................................................... [ 44%] ... [ 44%] fsspec/implementations/tests/memory/memory_test.py .................................................................................................................................. [ 53%] ..... [ 53%] fsspec/tests/test_api.py ...............x...... [ 54%] fsspec/tests/test_async.py .........s... [ 55%] fsspec/tests/test_caches.py ............................................................................................................................................... [ 64%] fsspec/tests/test_callbacks.py ..... [ 64%] fsspec/tests/test_compression.py .....s [ 65%] fsspec/tests/test_config.py ....... [ 65%] fsspec/tests/test_core.py ............................s....... [ 68%] fsspec/tests/test_file.py ........... [ 68%] fsspec/tests/test_generic.py ...... [ 69%] fsspec/tests/test_mapping.py ................. [ 70%] fsspec/tests/test_parquet.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 79%] ssssssssssssssssssssssssssssssssssssssss [ 82%] fsspec/tests/test_registry.py ......s [ 82%] fsspec/tests/test_spec.py ...................x....................................................................................................................................... [ 92%] ............................................................ [ 96%] fsspec/tests/test_utils.py ......................................................... [100%] ========================================================================================= FAILURES ========================================================================================== ___________________________________________________________________________ TestAnyArchive.test_repr[libarchive] ____________________________________________________________________________ self = scenario = def test_repr(self, scenario: ArchiveTestScenario): > with scenario.provider() as archive: fsspec/implementations/tests/test_archive.py:231: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ___________________________________________________________________________ TestAnyArchive.test_empty[libarchive] ___________________________________________________________________________ self = scenario = def test_empty(self, scenario: ArchiveTestScenario): > with scenario.provider() as archive: fsspec/implementations/tests/test_archive.py:236: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ___________________________________________________________________________ TestAnyArchive.test_glob[libarchive] ____________________________________________________________________________ self = scenario = def test_glob(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError __________________________________________________________________________ TestAnyArchive.test_mapping[libarchive] __________________________________________________________________________ self = scenario = def test_mapping(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:250: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError __________________________________________________________________________ TestAnyArchive.test_pickle[libarchive] ___________________________________________________________________________ self = scenario = def test_pickle(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError _______________________________________________________________________ TestAnyArchive.test_all_dirnames[libarchive] ________________________________________________________________________ self = scenario = def test_all_dirnames(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:263: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ____________________________________________________________________________ TestAnyArchive.test_ls[libarchive] _____________________________________________________________________________ self = scenario = def test_ls(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ___________________________________________________________________________ TestAnyArchive.test_find[libarchive] ____________________________________________________________________________ self = scenario = def test_find(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ___________________________________________________________________________ TestAnyArchive.test_info[libarchive] ____________________________________________________________________________ self = scenario = def test_info(self, scenario: ArchiveTestScenario): # https://github.com/Suor/funcy/blob/1.15/funcy/colls.py#L243-L245 def project(mapping, keys): """Leaves only given keys in mapping.""" return {k: mapping[k] for k in keys if k in mapping} > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ______________________________________________________________________ TestAnyArchive.test_read_empty_file[libarchive] ______________________________________________________________________ self = scenario = def test_read_empty_file(self, scenario: ArchiveTestScenario): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:385: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError _____________________________________________________________________ TestAnyArchive.test_isdir_isfile[libarchive-128] ______________________________________________________________________ self = scenario = , scale = 128 @pytest.mark.parametrize("scale", [128, 512, 4096]) def test_isdir_isfile(self, scenario: ArchiveTestScenario, scale: int): def make_nested_dir(i): x = f"{i}" table = x.maketrans("0123456789", "ABCDEFGHIJ") return "/".join(x.translate(table)) scaled_data = {f"{make_nested_dir(i)}/{i}": b"" for i in range(1, scale + 1)} > with scenario.provider(scaled_data) as archive: fsspec/implementations/tests/test_archive.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'B/1': b'', 'B/A/10': b'', 'B/A/A/100': b'', 'B/A/B/101': b'', ...} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError _____________________________________________________________________ TestAnyArchive.test_isdir_isfile[libarchive-512] ______________________________________________________________________ self = scenario = , scale = 512 @pytest.mark.parametrize("scale", [128, 512, 4096]) def test_isdir_isfile(self, scenario: ArchiveTestScenario, scale: int): def make_nested_dir(i): x = f"{i}" table = x.maketrans("0123456789", "ABCDEFGHIJ") return "/".join(x.translate(table)) scaled_data = {f"{make_nested_dir(i)}/{i}": b"" for i in range(1, scale + 1)} > with scenario.provider(scaled_data) as archive: fsspec/implementations/tests/test_archive.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'B/1': b'', 'B/A/10': b'', 'B/A/A/100': b'', 'B/A/B/101': b'', ...} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError _____________________________________________________________________ TestAnyArchive.test_isdir_isfile[libarchive-4096] _____________________________________________________________________ self = scenario = , scale = 4096 @pytest.mark.parametrize("scale", [128, 512, 4096]) def test_isdir_isfile(self, scenario: ArchiveTestScenario, scale: int): def make_nested_dir(i): x = f"{i}" table = x.maketrans("0123456789", "ABCDEFGHIJ") return "/".join(x.translate(table)) scaled_data = {f"{make_nested_dir(i)}/{i}": b"" for i in range(1, scale + 1)} > with scenario.provider(scaled_data) as archive: fsspec/implementations/tests/test_archive.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'B/1': b'', 'B/A/10': b'', 'B/A/A/100': b'', 'B/A/A/A/1000': b'', ...} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ______________________________________________________________________ TestAnyArchive.test_walk[libarchive-True-True] _______________________________________________________________________ self = scenario = , topdown = True, prune_nested = True @pytest.mark.parametrize("topdown", [True, False]) @pytest.mark.parametrize("prune_nested", [True, False]) def test_walk(self, scenario: ArchiveTestScenario, topdown, prune_nested): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ______________________________________________________________________ TestAnyArchive.test_walk[libarchive-True-False] ______________________________________________________________________ self = scenario = , topdown = False, prune_nested = True @pytest.mark.parametrize("topdown", [True, False]) @pytest.mark.parametrize("prune_nested", [True, False]) def test_walk(self, scenario: ArchiveTestScenario, topdown, prune_nested): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ______________________________________________________________________ TestAnyArchive.test_walk[libarchive-False-True] ______________________________________________________________________ self = scenario = , topdown = True, prune_nested = False @pytest.mark.parametrize("topdown", [True, False]) @pytest.mark.parametrize("prune_nested", [True, False]) def test_walk(self, scenario: ArchiveTestScenario, topdown, prune_nested): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError _____________________________________________________________________ TestAnyArchive.test_walk[libarchive-False-False] ______________________________________________________________________ self = scenario = , topdown = False, prune_nested = False @pytest.mark.parametrize("topdown", [True, False]) @pytest.mark.parametrize("prune_nested", [True, False]) def test_walk(self, scenario: ArchiveTestScenario, topdown, prune_nested): > with scenario.provider(archive_data) as archive: fsspec/implementations/tests/test_archive.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' fsspec/implementations/tests/test_archive.py:47: AttributeError ________________________________________________________________________________________ test_cache _________________________________________________________________________________________ ftp_writable = ('localhost', 2121, 'user', 'pass') def test_cache(ftp_writable): host, port, username, password = "localhost", 2121, "user", "pass" > with temparchive(archive_data) as archive_file: /home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/implementations/tests/test_libarchive.py:10: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.8/contextlib.py:113: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'a': b'', 'b': b'hello', 'deeply/nested/path': b'stuff'} @contextmanager def temparchive(data=None): """ Provide test cases with temporary synthesized 7-Zip archives. """ data = data or {} libarchive = pytest.importorskip("libarchive") f = tempfile.mkstemp(suffix=".7z")[1] > with libarchive.file_writer(f, "7zip") as archive: E AttributeError: module 'libarchive' has no attribute 'file_writer' /home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/implementations/tests/test_archive.py:47: AttributeError ----------------------------------------------------------------------------------- Captured stderr setup ----------------------------------------------------------------------------------- [I 2023-12-15 23:27:14.768 ServerApp] Shutting down 5 extensions [I 2023-12-15 23:27:14] concurrency model: async [I 2023-12-15 23:27:14] masquerade (NAT) address: None [I 2023-12-15 23:27:14] passive ports: None [I 2023-12-15 23:27:14] >>> starting FTP server on 0.0.0.0:2121, pid=1735993 <<< ===================================================================================== warnings summary ====================================================================================== fsspec/implementations/tests/test_cached.py: 13 warnings fsspec/implementations/tests/test_ftp.py: 13 warnings fsspec/tests/test_core.py: 4 warnings fsspec/tests/test_file.py: 10 warnings fsspec/tests/test_spec.py: 11 warnings /home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/implementations/ftp.py:77: UserWarning: `encoding` not supported for python<3.9, ignoring warnings.warn("`encoding` not supported for python<3.9, ignoring") fsspec/implementations/tests/test_http.py::test_exists /usr/lib/python3.8/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: Traceback (most recent call last): File "/usr/lib64/python3.8/weakref.py", line 566, in __call__ return info.func(*info.args, **(info.kwargs or {})) File "/home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/implementations/http.py", line 125, in close_session sync(loop, session.close, timeout=0.1) File "/home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/asyn.py", line 80, in sync raise NotImplementedError("Calling sync() from within a running loop") NotImplementedError: Calling sync() from within a running loop warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) fsspec/tests/test_async.py::test_run_coros_in_chunks /usr/lib64/python3.8/asyncio/events.py:81: RuntimeWarning: coroutine 'test_run_coros_in_chunks..runner' was never awaited self._context.run(self._callback, *self._args) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. fsspec/tests/test_async.py::test_async_streamed_file_write /home/tkloczko/rpmbuild/BUILD/filesystem_spec-2023.12.0/fsspec/asyn.py:116: RuntimeWarning: coroutine 'test_run_coros_in_chunks..runner' was never awaited def wrapper(*args, **kwargs): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================================================================== short test summary info ================================================================================== SKIPPED [1] fsspec/implementations/tests/test_arrow.py:5: could not import 'pyarrow.fs': No module named 'pyarrow' SKIPPED [1] fsspec/implementations/tests/test_dask.py:5: could not import 'distributed': No module named 'distributed' SKIPPED [1] fsspec/implementations/tests/test_git.py:11: could not import 'pygit2': No module named 'pygit2' SKIPPED [1] fsspec/implementations/tests/test_smb.py:14: could not import 'smbprotocol': No module named 'smbprotocol' SKIPPED [1] fsspec/tests/test_downstream.py:3: could not import 's3fs': No module named 's3fs' SKIPPED [1] fsspec/tests/test_fuse.py:9: could not import 'fuse': No module named 'fuse' SKIPPED [1] fsspec/tests/test_gui.py:3: could not import 'panel': No module named 'panel' SKIPPED [6] fsspec/implementations/tests/test_cached.py:874: could not import 'pyarrow.fs': No module named 'pyarrow' SKIPPED [1] fsspec/implementations/tests/test_common.py:10: could not import 'pyarrow.fs': No module named 'pyarrow' SKIPPED [3] fsspec/implementations/tests/test_common.py:21: could not import 'pyarrow.fs': No module named 'pyarrow' SKIPPED [1] fsspec/implementations/tests/test_local.py:105: could not import 's3fs': No module named 's3fs' SKIPPED [1] fsspec/implementations/tests/test_local.py:259: could not import 'cloudpickle': No module named 'cloudpickle' SKIPPED [1] fsspec/implementations/tests/test_reference.py:388: could not import 'zarr': No module named 'zarr' SKIPPED [1] fsspec/implementations/tests/test_reference.py:534: could not import 'pyarrow': No module named 'pyarrow' SKIPPED [1] fsspec/implementations/tests/test_reference.py:580: could not import 'pyarrow': No module named 'pyarrow' SKIPPED [1] fsspec/implementations/tests/test_sftp.py:69: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:84: docker run not available SKIPPED [2] fsspec/implementations/tests/test_sftp.py:102: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:139: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:149: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:181: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:203: docker run not available SKIPPED [1] fsspec/implementations/tests/test_sftp.py:218: docker run not available SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:43: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:49: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:57: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:67: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:84: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:100: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:121: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:140: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:153: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:163: htcluster not found SKIPPED [1] fsspec/implementations/tests/test_webhdfs.py:177: htcluster not found SKIPPED [1] fsspec/tests/test_async.py:134: only for windows SKIPPED [1] fsspec/tests/test_compression.py:133: could not import 'snappy': No module named 'snappy' SKIPPED [1] fsspec/tests/test_core.py:243: could not import 's3fs': No module named 's3fs' SKIPPED [64] fsspec/tests/test_parquet.py:37: fastparquet not found SKIPPED [64] fsspec/tests/test_parquet.py:37: pyarrow not found SKIPPED [64] fsspec/tests/test_parquet.py:37: No parquet engine (fastparquet or pyarrow) found SKIPPED [1] fsspec/tests/test_registry.py:129: could not import 's3fs': No module named 's3fs' XFAIL fsspec/tests/test_api.py::test_multilevel_chained_fs - see issue #334 XFAIL fsspec/tests/test_spec.py::test_find FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_repr[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_empty[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_glob[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_mapping[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_pickle[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_all_dirnames[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_ls[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_find[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_info[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_read_empty_file[libarchive] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-128] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-512] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_isdir_isfile[libarchive-4096] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-True-True] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-True-False] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-False-True] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_archive.py::TestAnyArchive::test_walk[libarchive-False-False] - AttributeError: module 'libarchive' has no attribute 'file_writer' FAILED fsspec/implementations/tests/test_libarchive.py::test_cache - AttributeError: module 'libarchive' has no attribute 'file_writer' ====================================================== 18 failed, 1328 passed, 239 skipped, 2 xfailed, 54 warnings in 96.04s (0:01:36) ====================================================== ```
List of installed modules in build env: ```console Package Version ----------------------------- -------- aiohttp 3.9.0 aiosignal 1.3.1 alabaster 0.7.13 anyio 4.1.0 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 asttokens 2.4.1 async-lru 2.0.4 async-timeout 4.0.3 attrs 23.1.0 Babel 2.14.0 backcall 0.2.0 bcrypt 4.0.1 beautifulsoup4 4.12.2 bleach 6.1.0 build 1.0.3 cffi 1.16.0 charset-normalizer 3.3.2 comm 0.2.0 cppclean 0.13 cryptography 41.0.5 debugpy 1.8.0 decorator 5.1.1 defusedxml 0.7.1 distro 1.8.0 dnf 4.18.2 docutils 0.20.1 exceptiongroup 1.1.3 executing 2.0.1 fastjsonschema 2.18.0 frozenlist 1.4.1 gpg 1.23.2 html5lib 1.1 idna 3.6 imagesize 1.4.1 importlib-metadata 7.0.0 importlib-resources 6.1.1 iniconfig 2.0.0 installer 0.7.0 ipykernel 6.27.1 ipython 8.12.0 jedi 0.19.1 Jinja2 3.1.2 json5 0.9.14 jsonschema 4.19.1 jsonschema-specifications 2023.7.1 jupyter_client 8.6.0 jupyter_core 5.5.0 jupyter-events 0.9.0 jupyter-lsp 2.2.0 jupyter_server 2.12.1 jupyter_server_terminals 0.5.0 jupyterlab 4.0.9 jupyterlab-pygments 0.1.2 jupyterlab_server 2.25.2 libarchive 0.4.7 libdnf 0.72.0 lz4 4.3.2 MarkupSafe 2.1.3 matplotlib-inline 0.1.6 mistune 2.0.5 multidict 6.0.4 nbclient 0.9.0 nbconvert 7.12.0 nbformat 5.9.2 nest-asyncio 1.5.8 notebook 7.0.6 notebook_shim 0.2.3 numpy 1.24.4 numpydoc 1.6.0 overrides 7.4.0 packaging 23.2 pandas 2.0.3 pandocfilters 1.5.0 paramiko 3.3.1 parso 0.8.3 pexpect 4.8.0 pickleshare 0.7.5 pkgutil_resolve_name 1.3.10 platformdirs 4.1.0 pluggy 1.3.0 ply 3.11 prometheus-client 0.19.0 prompt-toolkit 3.0.43 psutil 5.9.5 ptyprocess 0.7.0 pure-eval 0.2.2 pycparser 2.21 pyftpdlib 1.5.7 Pygments 2.17.2 PyNaCl 1.5.0 pyproject_hooks 1.0.0 pytest 7.4.3 pytest-asyncio 0.23.2 pytest-mock 3.12.0 pytest-vcr 1.0.2 python-dateutil 2.8.2 python-json-logger 2.0.7 pytz 2023.3 PyYAML 6.0.1 pyzmq 25.1.1 referencing 0.30.2 requests 2.31.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rpds-py 0.13.2 Send2Trash 1.8.2 setuptools 69.0.2 six 1.16.0 sniffio 1.3.0 snowballstemmer 2.2.0 soupsieve 2.5 Sphinx 7.1.2 sphinx_design 0.5.0 sphinxcontrib-applehelp 1.0.4 sphinxcontrib-devhelp 1.0.5 sphinxcontrib-htmlhelp 2.0.4 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.9 stack-data 0.6.3 tabulate 0.9.0 terminado 0.18.0 tinycss2 1.2.1 tomli 2.0.1 tornado 6.3.3 tqdm 4.66.1 traitlets 5.14.0 typing_extensions 4.9.0 urllib3 1.26.18 vcrpy 5.1.0 wcwidth 0.2.12 webencodings 0.5.1 websocket-client 1.7.0 wheel 0.42.0 wrapt 1.16.0 yarl 1.9.2 zipp 3.17.0 zstandard 0.22.0 ```

Please let me know if you need more details or want me to perform some diagnostics.

martindurant commented 9 months ago

It seems there are multiple things called libarchive. We mean this one, which is now at version 5. There is at least one other one with the same python package name. This is a test-only dependency and not needed at runtime, except for the specific filesystem backends that need it. Our tests should probably have a skip for when the lib is not available - but something called libarchive apparently is.

In our (conda) CI env, we specify "libarchive-python-c" here.