@@ -73,18 +73,19 @@ gpu = [
7373test = [
7474 " coverage" ,
7575 " pytest" ,
76+ " pytest-asyncio" ,
7677 " pytest-cov" ,
78+ " pytest-accept" ,
79+ " rich" ,
80+ " mypy" ,
81+ " hypothesis" ,
82+ ]
83+ remote_tests = [
7784 ' zarr[remote]' ,
7885 " botocore" ,
7986 " s3fs" ,
8087 " moto[s3,server]" ,
81- " pytest-asyncio" ,
82- " pytest-accept" ,
8388 " requests" ,
84- " rich" ,
85- " mypy" ,
86- " hypothesis" ,
87- " universal-pathlib" ,
8889]
8990optional = [" rich" , " universal-pathlib" ]
9091docs = [
@@ -143,28 +144,21 @@ hooks.vcs.version-file = "src/zarr/_version.py"
143144[tool .hatch .envs .test ]
144145dependencies = [
145146 " numpy~={matrix:numpy}" ,
146- " universal_pathlib" ,
147147]
148148features = [" test" ]
149149
150150[[tool .hatch .envs .test .matrix ]]
151151python = [" 3.11" , " 3.12" , " 3.13" ]
152152numpy = [" 1.25" , " 2.1" ]
153- version = [" minimal" ]
154-
155- [[tool .hatch .envs .test .matrix ]]
156- python = [" 3.11" , " 3.12" , " 3.13" ]
157- numpy = [" 1.25" , " 2.1" ]
158- features = [" optional" ]
153+ deps = [" minimal" , " optional" ]
159154
160- [[ tool .hatch .envs .test .matrix ] ]
161- python = [" 3.11 " , " 3.12 " , " 3.13 " ]
162- numpy = [ " 1.25 " , " 2.1 " ]
163- features = [ " gpu " ]
155+ [tool .hatch .envs .test .overrides ]
156+ matrix.deps.dependencies = [
157+ { value = " zarr[remote, remote_tests, test, optional] " , if = [ " optional " ]}
158+ ]
164159
165160[tool .hatch .envs .test .scripts ]
166161run-coverage = " pytest --cov-config=pyproject.toml --cov=pkg --cov-report xml --cov=src --junitxml=junit.xml -o junit_family=legacy"
167- run-coverage-gpu = " pip install cupy-cuda12x && pytest -m gpu --cov-config=pyproject.toml --cov=pkg --cov-report xml --cov=src --junitxml=junit.xml -o junit_family=legacy"
168162run-coverage-html = " pytest --cov-config=pyproject.toml --cov=pkg --cov-report html --cov=src"
169163run = " run-coverage --no-cov"
170164run-pytest = " run"
@@ -174,7 +168,7 @@ run-hypothesis = "run-coverage --hypothesis-profile ci --run-slow-hypothesis tes
174168list-env = " pip list"
175169
176170[tool .hatch .envs .doctest ]
177- features = [" test" , " optional" , " remote" ]
171+ features = [" test" , " optional" , " remote" , " remote_tests " ]
178172description = " Test environment for doctests"
179173
180174[tool .hatch .envs .doctest .scripts ]
@@ -255,6 +249,7 @@ dependencies = [
255249 ' universal_pathlib==0.0.22' ,
256250 ' typing_extensions==4.9.*' ,
257251 ' donfig==0.8.*' ,
252+ ' obstore==0.5.*' ,
258253 # test deps
259254 ' zarr[test]' ,
260255]
0 commit comments