@@ -3,20 +3,13 @@ requires = ["hatchling", "hatch-vcs"]
33build-backend = " hatchling.build"
44
55[tool .hatch .build .targets .sdist ]
6- exclude = [
7- " /.github" ,
8- " /bench" ,
9- " /docs" ,
10- " /notebooks"
11- ]
6+ exclude = [" /.github" , " /bench" , " /docs" , " /notebooks" ]
127
138[project ]
149name = " zarr"
1510description = " An implementation of chunked, compressed, N-dimensional arrays for Python"
1611readme = { file = " README.md" , content-type = " text/markdown" }
17- authors = [
18- {
name =
" Alistair Miles" ,
email =
" [email protected] " },
19- ]
12+ authors = [{
name =
" Alistair Miles" ,
email =
" [email protected] " }]
2013maintainers = [
2114 {
name =
" Davis Bennett" ,
email =
" [email protected] " },
2215 { name = " jakirkham" },
@@ -28,7 +21,7 @@ maintainers = [
2821 { name = " Ryan Abernathey" },
2922 { name = " David Stansby" },
3023 {
name =
" Tom Augspurger" ,
email =
" [email protected] " },
31- { name = " Deepak Cherian" }
24+ { name = " Deepak Cherian" },
3225]
3326requires-python = " >=3.11"
3427# If you add a new dependency here, please also add it to .pre-commit-config.yml
@@ -40,9 +33,7 @@ dependencies = [
4033 ' donfig>=0.8' ,
4134]
4235
43- dynamic = [
44- " version" ,
45- ]
36+ dynamic = [" version" ]
4637classifiers = [
4738 ' Development Status :: 6 - Mature' ,
4839 ' Intended Audience :: Developers' ,
@@ -57,18 +48,13 @@ classifiers = [
5748 ' Programming Language :: Python :: 3.12' ,
5849 ' Programming Language :: Python :: 3.13' ,
5950]
60- license = {text = " MIT License" }
51+ license = { text = " MIT License" }
6152keywords = [" Python" , " compressed" , " ndimensional-arrays" , " zarr" ]
6253
6354[project .optional-dependencies ]
6455# User extras
65- remote = [
66- " fsspec>=2023.10.0" ,
67- " obstore>=0.5.1" ,
68- ]
69- gpu = [
70- " cupy-cuda12x" ,
71- ]
56+ remote = [" fsspec>=2023.10.0" , " obstore>=0.5.1" ]
57+ gpu = [" cupy-cuda12x" ]
7258# Development extras
7359test = [
7460 " coverage" ,
@@ -105,7 +91,7 @@ docs = [
10591 ' numcodecs[msgpack]' ,
10692 ' rich' ,
10793 ' s3fs>=2023.10.0' ,
108- ' astroid<4'
94+ ' astroid<4' ,
10995]
11096
11197
@@ -117,23 +103,18 @@ Documentation = "https://zarr.readthedocs.io/"
117103Homepage = " https://github.com/zarr-developers/zarr-python"
118104
119105[dependency-groups ]
120- dev = [
121- " ipykernel>=6.29.5" ,
122- " pip>=25.0.1" ,
123- ]
106+ dev = [" ipykernel>=6.29.5" , " pip>=25.0.1" ]
124107
125108[tool .coverage .report ]
126109exclude_lines = [
127110 " pragma: no cover" ,
128111 " if TYPE_CHECKING:" ,
129112 " pragma: ${PY_MAJOR_VERSION} no cover" ,
130- ' .*\.\.\.' # Ignore "..." lines
113+ ' .*\.\.\.' , # Ignore "..." lines
131114]
132115
133116[tool .coverage .run ]
134- omit = [
135- " bench/compress_normal.py" ,
136- ]
117+ omit = [" bench/compress_normal.py" ]
137118
138119[tool .hatch ]
139120version.source = " vcs"
@@ -142,9 +123,7 @@ version.source = "vcs"
142123hooks.vcs.version-file = " src/zarr/_version.py"
143124
144125[tool .hatch .envs .test ]
145- dependencies = [
146- " numpy~={matrix:numpy}" ,
147- ]
126+ dependencies = [" numpy~={matrix:numpy}" ]
148127features = [" test" ]
149128
150129[[tool .hatch .envs .test .matrix ]]
@@ -154,7 +133,9 @@ deps = ["minimal", "optional"]
154133
155134[tool .hatch .envs .test .overrides ]
156135matrix.deps.dependencies = [
157- {value = " zarr[remote, remote_tests, test, optional]" , if = [" optional" ]}
136+ { value = " zarr[remote, remote_tests, test, optional]" , if = [
137+ " optional" ,
138+ ] },
158139]
159140
160141[tool .hatch .envs .test .scripts ]
@@ -177,10 +158,7 @@ fix = "rm -r data/; pytest docs/user-guide --doctest-glob='*.rst' --accept"
177158list-env = " pip list"
178159
179160[tool .hatch .envs .gputest ]
180- dependencies = [
181- " numpy~={matrix:numpy}" ,
182- " universal_pathlib" ,
183- ]
161+ dependencies = [" numpy~={matrix:numpy}" , " universal_pathlib" ]
184162features = [" test" , " gpu" ]
185163
186164[[tool .hatch .envs .gputest .matrix ]]
@@ -207,7 +185,7 @@ serve = "sphinx-autobuild docs docs/_build --host 0.0.0.0"
207185python = " 3.13"
208186dependencies = [
209187 ' packaging @ git+https://github.com/pypa/packaging' ,
210- ' numpy' , # from scientific-python-nightly-wheels
188+ ' numpy' , # from scientific-python-nightly-wheels
211189 ' numcodecs @ git+https://github.com/zarr-developers/numcodecs' ,
212190 ' fsspec @ git+https://github.com/fsspec/filesystem_spec' ,
213191 ' s3fs @ git+https://github.com/fsspec/s3fs' ,
@@ -243,7 +221,7 @@ dependencies = [
243221 ' zarr[remote]' ,
244222 ' packaging==22.*' ,
245223 ' numpy==1.25.*' ,
246- ' numcodecs==0.14.*' , # 0.14 needed for zarr3 codecs
224+ ' numcodecs==0.14.*' , # 0.14 needed for zarr3 codecs
247225 ' fsspec==2023.10.0' ,
248226 ' s3fs==2023.10.0' ,
249227 ' universal_pathlib==0.0.22' ,
@@ -280,7 +258,7 @@ extend-exclude = [
280258 " buck-out" ,
281259 " build" ,
282260 " dist" ,
283- " notebooks" , # temporary, until we achieve compatibility with ruff ≥ 0.6
261+ " notebooks" , # temporary, until we achieve compatibility with ruff ≥ 0.6
284262 " venv" ,
285263 " docs" ,
286264 " src/zarr/v2/" ,
@@ -357,17 +335,17 @@ enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
357335module = [
358336 " tests.package_with_entrypoint.*" ,
359337 " tests.test_codecs.test_transpose" ,
360- " tests.test_config"
338+ " tests.test_config" ,
339+ " tests.test_metadata.*" ,
361340]
362341strict = false
363342
364343# TODO: Move the next modules up to the strict = false section
365344# and fix the errors
366345[[tool .mypy .overrides ]]
367346module = [
368- " zarr.testing.stateful" , # lots of hypothesis decorator errors
347+ " zarr.testing.stateful" , # lots of hypothesis decorator errors
369348 " tests.test_codecs.test_codecs" ,
370- " tests.test_metadata.*" ,
371349 " tests.test_store.*" ,
372350 " tests.test_group" ,
373351 " tests.test_indexing" ,
@@ -388,9 +366,7 @@ doctest_optionflags = [
388366 " ELLIPSIS" ,
389367 " IGNORE_EXCEPTION_DETAIL" ,
390368]
391- addopts = [
392- " --durations=10" , " -ra" , " --strict-config" , " --strict-markers" ,
393- ]
369+ addopts = [" --durations=10" , " -ra" , " --strict-config" , " --strict-markers" ]
394370filterwarnings = [
395371 " error" ,
396372 # TODO: explicitly filter or catch the warnings below where we expect them to be emitted in the tests
@@ -403,7 +379,7 @@ filterwarnings = [
403379 " ignore:Duplicate name.*:UserWarning" ,
404380 " ignore:The `compressor` argument is deprecated. Use `compressors` instead.:UserWarning" ,
405381 " ignore:Numcodecs codecs are not in the Zarr version 3 specification and may not be supported by other zarr implementations.:UserWarning" ,
406- " ignore:Unclosed client session <aiohttp.client.ClientSession.*:ResourceWarning"
382+ " ignore:Unclosed client session <aiohttp.client.ClientSession.*:ResourceWarning" ,
407383]
408384markers = [
409385 " gpu: mark a test as requiring CuPy and GPU" ,
@@ -412,8 +388,8 @@ markers = [
412388
413389[tool .repo-review ]
414390ignore = [
415- " PC111" , # fix Python code in documentation - enable later
416- " PC180" , # for JavaScript - not interested
391+ " PC111" , # fix Python code in documentation - enable later
392+ " PC180" , # for JavaScript - not interested
417393]
418394
419395[tool .numpydoc_validation ]
0 commit comments