Skip to content

zarr.load deletes data #3061

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
alfieroddan opened this issue May 15, 2025 · 2 comments · May be fixed by #3062
Open

zarr.load deletes data #3061

alfieroddan opened this issue May 15, 2025 · 2 comments · May be fixed by #3062
Labels
bug Potential issues with the zarr-python library

Comments

@alfieroddan
Copy link

Zarr version

3.0.7

Numcodecs version

0.16.0

Python Version

3.11.11

Operating System

MacOS

Installation

using pip into venv

Description

If I load a folder with zarr but there is no .zarray, it deletes my data! This is really not good and not obvious.

Is this intended or a bug?

I now know that the load function is not read only!

Instead use open_array with read only mode:

z = zarr.open_array(path, mode='r')

Steps to reproduce

(env) /Users/Documents/test_folder/video_2025-04-22_16-47-43-917 $ ls
zarr_folders rgb
(env) /Users/Documents/test_folder $ python 
Python 3.11.11 (main, Dec  3 2024, 17:20:40) [Clang 16.0.0 (clang-1600.0.26.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import zarr
>>> zarr.load("/Users/Documents/test_folder/video_2025-04-22_16-47-43-917")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/Documents/EnPlayback/env/lib/python3.11/site-packages/zarr/api/synchronous.py", line 151, in load
    return sync(
           ^^^^^
  File "/Users/Documents/EnPlayback/env/lib/python3.11/site-packages/zarr/core/sync.py", line 163, in sync
    raise return_result
  File "/Users/Documents/EnPlayback/env/lib/python3.11/site-packages/zarr/core/sync.py", line 119, in _runner
    return await coro
           ^^^^^^^^^^
  File "/Users/Documents/EnPlayback/env/lib/python3.11/site-packages/zarr/api/asynchronous.py", line 275, in load
    raise NotImplementedError("loading groups not yet supported")
NotImplementedError: loading groups not yet supported
(env) /Users/Documents/test_folder/video_2025-04-22_16-47-43-917 $ ls
zarr.json

Additional output

No response

@alfieroddan alfieroddan added the bug Potential issues with the zarr-python library label May 15, 2025
@joshmoore
Copy link
Member

can confirm

bar.py

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "zarr",
# ]
# ///

import zarr
zarr.load("/tmp/bar")

setup and run

cd /tmp
mkdir bar
touch bar/IMPORTANT
uv run bar.py
Installed 5 packages in 10ms
Traceback (most recent call last):
  File "/private/tmp/bar.py", line 9, in <module>
    zarr.load("/tmp/bar")
    ~~~~~~~~~^^^^^^^^^^^^
  File "/Users/jamoore/.cache/uv/environments-v2/bar-1ba879a2e7d68a2e/lib/python3.13/site-packages/zarr/api/synchronous.py", line 151, in load
    return sync(
        async_api.load(store=store, zarr_version=zarr_version, zarr_format=zarr_format, path=path)
    )
  File "/Users/jamoore/.cache/uv/environments-v2/bar-1ba879a2e7d68a2e/lib/python3.13/site-packages/zarr/core/sync.py", line 163, in sync
    raise return_result
  File "/Users/jamoore/.cache/uv/environments-v2/bar-1ba879a2e7d68a2e/lib/python3.13/site-packages/zarr/core/sync.py", line 119, in _runner
    return await coro
           ^^^^^^^^^^
  File "/Users/jamoore/.cache/uv/environments-v2/bar-1ba879a2e7d68a2e/lib/python3.13/site-packages/zarr/api/asynchronous.py", line 275, in load
    raise NotImplementedError("loading groups not yet supported")
NotImplementedError: loading groups not yet supported

"IMPORTANT" is gone

$ find bar
bar
bar/zarr.json

Same results with:

# dependencies = [
#     "zarr @ git+https://github.com/zarr-developers/zarr-python.git#egg=zarr",
# ]

@d-v-b
Copy link
Contributor

d-v-b commented May 15, 2025

See a similar report in #2719

I think the acute fix is to ensure that load invokes open with mode=r

@dstansby dstansby linked a pull request May 15, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Potential issues with the zarr-python library
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants