@@ -82,7 +82,7 @@ async def make_store_path(
8282 mode : AccessModeLiteral | None = None ,
8383 storage_options : dict [str , Any ] | None = None ,
8484) -> StorePath :
85- from zarr .store .remote import RemoteStore # circular import
85+ from zarr .storage .remote import RemoteStore # circular import
8686
8787 used_storage_options = False
8888
@@ -91,10 +91,14 @@ async def make_store_path(
9191 raise ValueError (
9292 f"mode mismatch (mode={ mode } != store.mode={ store_like .store .mode .str } )"
9393 )
94+ if storage_options :
95+ raise TypeError ("storage_options passed but store has already been initialized" )
9496 return store_like
9597 elif isinstance (store_like , Store ):
9698 if (mode is not None ) and (AccessMode .from_literal (mode ) != store_like .mode ):
9799 raise ValueError (f"mode mismatch (mode={ mode } != store.mode={ store_like .mode .str } )" )
100+ if storage_options :
101+ raise TypeError ("storage_options passed but store has already been initialized" )
98102 await store_like ._ensure_open ()
99103 result = StorePath (store_like )
100104 elif store_like is None :
@@ -116,6 +120,8 @@ async def make_store_path(
116120 elif isinstance (store_like , dict ):
117121 # We deliberate only consider dict[str, Buffer] here, and not arbitrary mutable mappings.
118122 # By only allowing dictionaries, which are in-memory, we know that MemoryStore appropriate.
123+ if mode is None :
124+ mode = "r"
119125 result = StorePath (await MemoryStore .open (store_dict = store_like , mode = mode ))
120126 else :
121127 msg = f"Unsupported type for store_like: '{ type (store_like ).__name__ } '" # type: ignore[unreachable]
0 commit comments