@@ -28,12 +28,13 @@ requires-python = ">=3.11"
2828dependencies  = [
2929    ' asciitree'  ,
3030    ' numpy>=1.25'  ,
31-     ' numcodecs>=0.10.2 '  ,
32-     ' fsspec>2024 '  ,
33-     ' crc32c'  ,
34-     ' typing_extensions'  ,
35-     ' donfig'  ,
31+     ' numcodecs>=0.13 '  ,
32+     ' fsspec>=2022.10.0 '  ,
33+     ' crc32c>=2.3 '  ,
34+     ' typing_extensions>=4.6 '  ,
35+     ' donfig>=0.8 '  ,
3636]
37+ 
3738dynamic  = [
3839  " version"  ,
3940]
@@ -60,7 +61,6 @@ test = [
6061    " pytest"  ,
6162    " pytest-cov"  ,
6263    " msgpack"  ,
63-     " lmdb"  ,
6464    " s3fs"  ,
6565    " pytest-asyncio"  ,
6666    " moto[s3]"  ,
@@ -83,22 +83,20 @@ gpu = [
8383docs  = [
8484    ' sphinx==8.1.3'  ,
8585    ' sphinx-autobuild>=2021.3.14'  ,
86-     ' sphinx-autoapi==3.3.2 '  ,
86+     ' sphinx-autoapi==3.3.3 '  ,
8787    ' sphinx_design'  ,
8888    ' sphinx-issues'  ,
8989    ' sphinx-copybutton'  ,
9090    ' pydata-sphinx-theme'  ,
9191    ' numpydoc'  ,
9292    ' numcodecs[msgpack]'  ,
9393    ' msgpack'  ,
94-     ' lmdb'  ,
9594]
9695extra  = [
9796    ' msgpack'  ,
9897]
9998optional  = [
100-     ' lmdb'  ,
101-     ' universal-pathlib'  ,
99+     ' universal-pathlib>=0.0.22'  ,
102100]
103101
104102[project .urls ]
@@ -134,17 +132,17 @@ features = ["test", "extra"]
134132
135133[[tool .hatch .envs .test .matrix ]]
136134python  = [" 3.11"  , " 3.12"  , " 3.13"  ]
137- numpy  = [" 1.25"  , " 1.26 " ,  " 2.0 "  ]
135+ numpy  = [" 1.25"  , " 2.1 "  ]
138136version  = [" minimal"  ]
139137
140138[[tool .hatch .envs .test .matrix ]]
141139python  = [" 3.11"  , " 3.12"  , " 3.13"  ]
142- numpy  = [" 1.25"  , " 1.26 " ,  " 2.0 "  ]
140+ numpy  = [" 1.25"  , " 2.1 "  ]
143141features  = [" optional"  ]
144142
145143[[tool .hatch .envs .test .matrix ]]
146144python  = [" 3.11"  , " 3.12"  , " 3.13"  ]
147- numpy  = [" 1.25"  , " 1.26 " ,  " 2.0 "  ]
145+ numpy  = [" 1.25"  , " 2.1 "  ]
148146features  = [" gpu"  ]
149147
150148[tool .hatch .envs .test .scripts ]
@@ -165,7 +163,7 @@ features = ["test", "extra", "gpu"]
165163
166164[[tool .hatch .envs .gputest .matrix ]]
167165python  = [" 3.11"  , " 3.12"  , " 3.13"  ]
168- numpy  = [" 1.25"  , " 1.26 " ,  " 2.0 "  ]
166+ numpy  = [" 1.25"  , " 2.1 "  ]
169167version  = [" minimal"  ]
170168
171169[tool .hatch .envs .gputest .scripts ]
@@ -183,6 +181,65 @@ features = ['docs']
183181build  = " cd docs && make html" 
184182serve  = " sphinx-autobuild docs docs/_build --host 0.0.0.0" 
185183
184+ [tool .hatch .envs .upstream ]
185+ python  = " 3.13" 
186+ dependencies  = [
187+     ' numpy'  ,  #  from scientific-python-nightly-wheels
188+     ' numcodecs @ git+https://github.com/zarr-developers/numcodecs'  ,
189+     ' fsspec @ git+https://github.com/fsspec/filesystem_spec'  ,
190+     ' s3fs @ git+https://github.com/fsspec/s3fs'  ,
191+     ' universal_pathlib @ git+https://github.com/fsspec/universal_pathlib'  ,
192+     ' crc32c @ git+https://github.com/ICRAR/crc32c'  ,
193+     ' typing_extensions @ git+https://github.com/python/typing_extensions'  ,
194+     ' donfig @ git+https://github.com/pytroll/donfig'  ,
195+     #  test deps
196+     ' hypothesis'  ,
197+     ' pytest'  ,
198+     ' pytest-cov'  ,
199+     ' pytest-asyncio'  ,
200+     ' moto[s3]'  ,
201+ ]
202+ 
203+ [tool .hatch .envs .upstream .env-vars ]
204+ PIP_INDEX_URL  = " https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/" 
205+ PIP_EXTRA_INDEX_URL  = " https://pypi.org/simple/" 
206+ PIP_PRE  = " 1" 
207+ 
208+ [tool .hatch .envs .upstream .scripts ]
209+ run  = " pytest --verbose" 
210+ run-mypy  = " mypy src" 
211+ run-hypothesis  = " pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*" 
212+ list-env  = " pip list" 
213+ 
214+ [tool .hatch .envs .min_deps ]
215+ description  = """ Test environment for minimum supported dependencies
216+ 
217+ See Spec 0000 for details and drop schedule: https://scientific-python.org/specs/spec-0000/ 
218+ """ 
219+ python  = " 3.11" 
220+ dependencies  = [
221+     ' numpy==1.25.*'  ,
222+     ' numcodecs==0.13.*'  ,  #  0.13 needed for? (should be 0.11)
223+     ' fsspec==2022.10.0'  ,
224+     ' s3fs==2022.10.0'  ,
225+     ' universal_pathlib==0.0.22'  ,
226+     ' crc32c==2.3.*'  ,
227+     ' typing_extensions==4.6.*'  ,  #  4.5 needed for @deprecated, 4.6 for Buffer
228+     ' donfig==0.8.*'  ,
229+     #  test deps
230+     ' hypothesis'  ,
231+     ' pytest'  ,
232+     ' pytest-cov'  ,
233+     ' pytest-asyncio'  ,
234+     ' moto[s3]'  ,
235+ ]
236+ 
237+ [tool .hatch .envs .min_deps .scripts ]
238+ run  = " pytest --verbose" 
239+ run-hypothesis  = " pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*" 
240+ list-env  = " pip list" 
241+ 
242+ 
186243[tool .ruff ]
187244line-length  = 100 
188245force-exclude  = true 
0 commit comments