8888 DEFAULT_ZARR_VERSION ,
8989 BaseStore ,
9090 Store ,
91+ V3_DEPRECATION_MESSAGE ,
9192)
9293
9394__doctest_requires__ = {
@@ -1604,6 +1605,12 @@ class NestedDirectoryStore(DirectoryStore):
16041605 special handling for chunk keys so that chunk files for multidimensional
16051606 arrays are stored in a nested directory tree.
16061607
1608+ .. deprecated:: 2.18.0
1609+ NestedDirectoryStore will be removed in Zarr-Python 3.0 where controlling
1610+ the chunk key encoding will be supported as part of the array metadata. See
1611+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
1612+ for more information.
1613+
16071614 Parameters
16081615 ----------
16091616 path : string
@@ -1675,6 +1682,13 @@ class NestedDirectoryStore(DirectoryStore):
16751682 def __init__ (
16761683 self , path , normalize_keys = False , dimension_separator : Optional [DIMENSION_SEPARATOR ] = "/"
16771684 ):
1685+
1686+ warnings .warn (
1687+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
1688+ FutureWarning ,
1689+ stacklevel = 2 ,
1690+ )
1691+
16781692 super ().__init__ (path , normalize_keys = normalize_keys )
16791693 if dimension_separator is None :
16801694 dimension_separator = "/"
@@ -1995,6 +2009,11 @@ def migrate_1to2(store):
19952009class DBMStore (Store ):
19962010 """Storage class using a DBM-style database.
19972011
2012+ .. deprecated:: 2.18.0
2013+ DBMStore will be removed in Zarr-Python 3.0. See
2014+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
2015+ for more information.
2016+
19982017 Parameters
19992018 ----------
20002019 path : string
@@ -2083,6 +2102,12 @@ def __init__(
20832102 dimension_separator : Optional [DIMENSION_SEPARATOR ] = None ,
20842103 ** open_kwargs ,
20852104 ):
2105+ warnings .warn (
2106+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
2107+ FutureWarning ,
2108+ stacklevel = 2 ,
2109+ )
2110+
20862111 if open is None :
20872112 import dbm
20882113
@@ -2200,6 +2225,10 @@ class LMDBStore(Store):
22002225 """Storage class using LMDB. Requires the `lmdb <https://lmdb.readthedocs.io/>`_
22012226 package to be installed.
22022227
2228+ .. deprecated:: 2.18.0
2229+ LMDBStore will be removed in Zarr-Python 3.0. See
2230+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
2231+ for more information.
22032232
22042233 Parameters
22052234 ----------
@@ -2261,6 +2290,12 @@ def __init__(
22612290 ):
22622291 import lmdb
22632292
2293+ warnings .warn (
2294+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
2295+ FutureWarning ,
2296+ stacklevel = 2 ,
2297+ )
2298+
22642299 # set default memory map size to something larger than the lmdb default, which is
22652300 # very likely to be too small for any moderate array (logic copied from zict)
22662301 map_size = 2 ** 40 if sys .maxsize >= 2 ** 32 else 2 ** 28
@@ -2580,6 +2615,11 @@ def __delitem__(self, key):
25802615class SQLiteStore (Store ):
25812616 """Storage class using SQLite.
25822617
2618+ .. deprecated:: 2.18.0
2619+ SQLiteStore will be removed in Zarr-Python 3.0. See
2620+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
2621+ for more information.
2622+
25832623 Parameters
25842624 ----------
25852625 path : string
@@ -2612,6 +2652,12 @@ class SQLiteStore(Store):
26122652 def __init__ (self , path , dimension_separator : Optional [DIMENSION_SEPARATOR ] = None , ** kwargs ):
26132653 import sqlite3
26142654
2655+ warnings .warn (
2656+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
2657+ FutureWarning ,
2658+ stacklevel = 2 ,
2659+ )
2660+
26152661 self ._dimension_separator = dimension_separator
26162662
26172663 # normalize path
@@ -2778,6 +2824,11 @@ class MongoDBStore(Store):
27782824
27792825 .. note:: This is an experimental feature.
27802826
2827+ .. deprecated:: 2.18.0
2828+ MongoDBStore will be removed in Zarr-Python 3.0. See
2829+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
2830+ for more information.
2831+
27812832 Requires the `pymongo <https://pymongo.readthedocs.io/en/stable/>`_
27822833 package to be installed.
27832834
@@ -2810,6 +2861,12 @@ def __init__(
28102861 ):
28112862 import pymongo
28122863
2864+ warnings .warn (
2865+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
2866+ FutureWarning ,
2867+ stacklevel = 2 ,
2868+ )
2869+
28132870 self ._database = database
28142871 self ._collection = collection
28152872 self ._dimension_separator = dimension_separator
@@ -2866,6 +2923,11 @@ class RedisStore(Store):
28662923
28672924 .. note:: This is an experimental feature.
28682925
2926+ .. deprecated:: 2.18.0
2927+ RedisStore will be removed in Zarr-Python 3.0. See
2928+ `GH1274 <https://github.com/zarr-developers/zarr-python/issues/1274>`_
2929+ for more information.
2930+
28692931 Requires the `redis <https://redis-py.readthedocs.io/>`_
28702932 package to be installed.
28712933
@@ -2885,6 +2947,12 @@ def __init__(
28852947 ):
28862948 import redis
28872949
2950+ warnings .warn (
2951+ V3_DEPRECATION_MESSAGE .format (store = self .__class__ .__name__ ),
2952+ FutureWarning ,
2953+ stacklevel = 2 ,
2954+ )
2955+
28882956 self ._prefix = prefix
28892957 self ._kwargs = kwargs
28902958 self ._dimension_separator = dimension_separator
0 commit comments