@@ -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]
@@ -98,7 +99,7 @@ extra = [
9899]
99100optional = [
100101 ' lmdb' ,
101- ' universal-pathlib' ,
102+ ' universal-pathlib>=0.0.22 ' ,
102103]
103104
104105[project .urls ]
@@ -183,6 +184,65 @@ features = ['docs']
183184build = " cd docs && make html"
184185serve = " sphinx-autobuild docs docs/_build --host 0.0.0.0"
185186
187+ [tool .hatch .envs .upstream ]
188+ python = " 3.13"
189+ dependencies = [
190+ ' numpy' , # from scientific-python-nightly-wheels
191+ ' numcodecs @ git+https://github.com/zarr-developers/numcodecs' ,
192+ ' fsspec @ git+https://github.com/fsspec/filesystem_spec' ,
193+ ' s3fs @ git+https://github.com/fsspec/s3fs' ,
194+ ' universal_pathlib @ git+https://github.com/fsspec/universal_pathlib' ,
195+ ' crc32c @ git+https://github.com/ICRAR/crc32c' ,
196+ ' typing_extensions @ git+https://github.com/python/typing_extensions' ,
197+ ' donfig @ git+https://github.com/pytroll/donfig' ,
198+ # test deps
199+ ' hypothesis' ,
200+ ' pytest' ,
201+ ' pytest-cov' ,
202+ ' pytest-asyncio' ,
203+ ' moto[s3]' ,
204+ ]
205+
206+ [tool .hatch .envs .upstream .env-vars ]
207+ PIP_INDEX_URL = " https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/"
208+ PIP_EXTRA_INDEX_URL = " https://pypi.org/simple/"
209+ PIP_PRE = " 1"
210+
211+ [tool .hatch .envs .upstream .scripts ]
212+ run = " pytest --verbose"
213+ run-mypy = " mypy src"
214+ run-hypothesis = " pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*"
215+ list-env = " pip list"
216+
217+ [tool .hatch .envs .min_deps ]
218+ description = """ Test environment for minimum supported dependencies
219+
220+ See Spec 0000 for details and drop schedule: https://scientific-python.org/specs/spec-0000/
221+ """
222+ python = " 3.11"
223+ dependencies = [
224+ ' numpy==1.25.*' ,
225+ ' numcodecs==0.13.*' , # 0.13 needed for? (should be 0.11)
226+ ' fsspec==2022.10.0' ,
227+ ' s3fs==2022.10.0' ,
228+ ' universal_pathlib==0.0.22' ,
229+ ' crc32c==2.3.*' ,
230+ ' typing_extensions==4.6.*' , # 4.5 needed for @deprecated, 4.6 for Buffer
231+ ' donfig==0.8.*' ,
232+ # test deps
233+ ' hypothesis' ,
234+ ' pytest' ,
235+ ' pytest-cov' ,
236+ ' pytest-asyncio' ,
237+ ' moto[s3]' ,
238+ ]
239+
240+ [tool .hatch .envs .min_deps .scripts ]
241+ run = " pytest --verbose"
242+ run-hypothesis = " pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*"
243+ list-env = " pip list"
244+
245+
186246[tool .ruff ]
187247line-length = 100
188248force-exclude = true
0 commit comments