Skip to content

Commit 50792a4

Browse files
committed
Updated config
1 parent 5cf1bde commit 50792a4

3 files changed

Lines changed: 12 additions & 16 deletions

File tree

src/zarr/core/buffer/cpu.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,5 +223,5 @@ def numpy_buffer_prototype() -> core.BufferPrototype:
223223
return core.BufferPrototype(buffer=Buffer, nd_buffer=NDBuffer)
224224

225225

226-
register_buffer(Buffer)
227-
register_ndbuffer(NDBuffer)
226+
register_buffer(Buffer, qualname="zarr.buffer.cpu.Buffer")
227+
register_ndbuffer(NDBuffer, qualname="zarr.buffer.cpu.NDBuffer")

src/zarr/registry.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ def lazy_load(self) -> None:
4545
self.register(e.load())
4646
self.lazy_load_list.clear()
4747

48-
def register(self, cls: type[T]) -> None:
49-
self[fully_qualified_name(cls)] = cls
48+
def register(self, cls: type[T], qualname: str | None = None) -> None:
49+
if qualname is None:
50+
qualname = fully_qualified_name(cls)
51+
self[qualname] = cls
5052

5153

5254
__codec_registries: dict[str, Registry[Codec]] = defaultdict(Registry)
@@ -123,12 +125,12 @@ def register_pipeline(pipe_cls: type[CodecPipeline]) -> None:
123125
__pipeline_registry.register(pipe_cls)
124126

125127

126-
def register_ndbuffer(cls: type[NDBuffer]) -> None:
127-
__ndbuffer_registry.register(cls)
128+
def register_ndbuffer(cls: type[NDBuffer], qualname: str | None = None) -> None:
129+
__ndbuffer_registry.register(cls, qualname)
128130

129131

130-
def register_buffer(cls: type[Buffer]) -> None:
131-
__buffer_registry.register(cls)
132+
def register_buffer(cls: type[Buffer], qualname: str | None = None) -> None:
133+
__buffer_registry.register(cls, qualname)
132134

133135

134136
def get_codec_class(key: str, reload_config: bool = False) -> type[Codec]:

tests/test_config.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ def test_config_defaults_set() -> None:
8888
"path": "zarr.core.codec_pipeline.BatchedCodecPipeline",
8989
"batch_size": 1,
9090
},
91-
"buffer": "zarr.core.buffer.cpu.Buffer",
92-
"ndbuffer": "zarr.core.buffer.cpu.NDBuffer",
91+
"buffer": "zarr.buffer.cpu.Buffer",
92+
"ndbuffer": "zarr.buffer.cpu.NDBuffer",
9393
"codecs": {
9494
"blosc": "zarr.codecs.blosc.BloscCodec",
9595
"gzip": "zarr.codecs.gzip.GzipCodec",
@@ -223,9 +223,6 @@ class NewBloscCodec(BloscCodec):
223223

224224
@pytest.mark.parametrize("store", ["local", "memory"], indirect=["store"])
225225
def test_config_ndbuffer_implementation(store: Store) -> None:
226-
# has default value
227-
assert fully_qualified_name(get_ndbuffer_class()) == config.defaults[0]["ndbuffer"]
228-
229226
# set custom ndbuffer with TestNDArrayLike implementation
230227
register_ndbuffer(NDBufferUsingTestNDArrayLike)
231228
with config.set({"ndbuffer": fully_qualified_name(NDBufferUsingTestNDArrayLike)}):
@@ -242,9 +239,6 @@ def test_config_ndbuffer_implementation(store: Store) -> None:
242239

243240

244241
def test_config_buffer_implementation() -> None:
245-
# has default value
246-
assert fully_qualified_name(get_buffer_class()) == config.defaults[0]["buffer"]
247-
248242
arr = zeros(shape=(100), store=StoreExpectingTestBuffer())
249243

250244
# AssertionError of StoreExpectingTestBuffer when not using my buffer

0 commit comments

Comments
 (0)