Skip to content

Commit 3327cc1

Browse files
committed
Remove shim
1 parent f80f798 commit 3327cc1

2 files changed

Lines changed: 0 additions & 70 deletions

File tree

src/zarr/core/chunk_grids.py

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -752,34 +752,3 @@ def _auto_partition(
752752
_shards_out = cast("tuple[int, ...]", shard_shape)
753753

754754
return _shards_out, _chunks_out
755-
756-
757-
class _RegularChunkGridMeta(type):
758-
"""Metaclass that makes ``isinstance(obj, RegularChunkGrid)`` work.
759-
760-
Returns True when *obj* is a ``ChunkGrid`` whose ``is_regular`` flag is set.
761-
"""
762-
763-
def __instancecheck__(cls, instance: object) -> bool:
764-
return isinstance(instance, ChunkGrid) and instance.is_regular
765-
766-
767-
class RegularChunkGrid(metaclass=_RegularChunkGridMeta):
768-
"""Deprecated compatibility shim.
769-
770-
.. deprecated:: 3.1
771-
Use ``ChunkGrid.from_sizes(array_shape, chunk_sizes)`` instead.
772-
Use ``grid.is_regular`` instead of ``isinstance(grid, RegularChunkGrid)``.
773-
"""
774-
775-
def __new__(cls, *, chunk_shape: ShapeLike) -> ChunkGrid: # type: ignore[misc]
776-
warnings.warn(
777-
"RegularChunkGrid is deprecated. "
778-
"Use ChunkGrid.from_sizes(array_shape, chunk_sizes) instead.",
779-
DeprecationWarning,
780-
stacklevel=2,
781-
)
782-
# Without array_shape we cannot bind extents, so use chunk_shape as extent.
783-
# This matches the old behavior where RegularChunkGrid was shape-unaware.
784-
parsed = parse_shapelike(chunk_shape)
785-
return ChunkGrid.from_sizes(array_shape=parsed, chunk_sizes=tuple(parsed))

tests/test_unified_chunk_grid.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -130,45 +130,6 @@ def test_rectilinear_feature_flag_enabled() -> None:
130130
assert grid.ndim == 2
131131

132132

133-
# ---------------------------------------------------------------------------
134-
# RegularChunkGrid compatibility tests
135-
# ---------------------------------------------------------------------------
136-
137-
138-
def test_regular_chunk_grid_compat_construction_emits_deprecation_warning() -> None:
139-
"""Constructing RegularChunkGrid emits a DeprecationWarning and returns a ChunkGrid"""
140-
from zarr.core.chunk_grids import RegularChunkGrid
141-
142-
with pytest.warns(DeprecationWarning, match="RegularChunkGrid is deprecated"):
143-
grid = RegularChunkGrid(chunk_shape=(10, 20))
144-
assert isinstance(grid, ChunkGrid)
145-
assert grid.is_regular
146-
assert grid.chunk_shape == (10, 20)
147-
148-
149-
@pytest.mark.parametrize(
150-
("grid", "expected"),
151-
[
152-
(ChunkGrid.from_sizes((100, 200), (10, 20)), True),
153-
(ChunkGrid.from_sizes((30, 50), [[10, 20], [25, 25]]), False),
154-
],
155-
ids=["regular-is-instance", "rectilinear-is-not-instance"],
156-
)
157-
def test_regular_chunk_grid_isinstance(grid: ChunkGrid, expected: bool) -> None:
158-
"""isinstance check against RegularChunkGrid matches only regular grids"""
159-
from zarr.core.chunk_grids import RegularChunkGrid
160-
161-
assert isinstance(grid, RegularChunkGrid) == expected
162-
163-
164-
@pytest.mark.parametrize("obj", ["hello", 42], ids=["string", "int"])
165-
def test_regular_chunk_grid_isinstance_false_for_unrelated_types(obj: Any) -> None:
166-
"""Unrelated types are not instances of RegularChunkGrid"""
167-
from zarr.core.chunk_grids import RegularChunkGrid
168-
169-
assert not isinstance(obj, RegularChunkGrid)
170-
171-
172133
# ---------------------------------------------------------------------------
173134
# FixedDimension tests
174135
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)