Skip to content

Commit 0abc569

Browse files
authored
Merge branch 'main' into string-arguments-for-codecs
2 parents bac3a10 + 6193fd9 commit 0abc569

File tree

24 files changed

+233
-92
lines changed

24 files changed

+233
-92
lines changed

.github/workflows/gpu_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
matrix:
2727
python-version: ['3.11']
28-
numpy-version: ['2.1']
28+
numpy-version: ['2.2']
2929
dependency-set: ["minimal"]
3030

3131
steps:

.github/workflows/hypothesis.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
matrix:
2828
python-version: ['3.11']
29-
numpy-version: ['2.1']
29+
numpy-version: ['2.2']
3030
dependency-set: ["optional"]
3131

3232
steps:

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
strategy:
2222
matrix:
2323
python-version: ['3.11', '3.12', '3.13']
24-
numpy-version: ['1.25', '2.1']
24+
numpy-version: ['1.25', '2.2']
2525
dependency-set: ["minimal", "optional"]
2626
os: ["ubuntu-latest"]
2727
include:
@@ -30,15 +30,15 @@ jobs:
3030
dependency-set: 'optional'
3131
os: 'macos-latest'
3232
- python-version: '3.13'
33-
numpy-version: '2.1'
33+
numpy-version: '2.2'
3434
dependency-set: 'optional'
3535
os: 'macos-latest'
3636
- python-version: '3.11'
3737
numpy-version: '1.25'
3838
dependency-set: 'optional'
3939
os: 'windows-latest'
4040
- python-version: '3.13'
41-
numpy-version: '2.1'
41+
numpy-version: '2.2'
4242
dependency-set: 'optional'
4343
os: 'windows-latest'
4444
runs-on: ${{ matrix.os }}

changes/2921.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Ignore stale child metadata when reconsolidating metadata.

changes/3066.feature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added `~zarr.errors.GroupNotFoundError`, which is raised when attempting to open a group that does not exist.

changes/3100.bugfix.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
For Zarr format 2, allow fixed-length string arrays to be created without automatically inserting a
2+
``Vlen-UT8`` codec in the array of filters. Fixed-length string arrays do not need this codec. This
3+
change fixes a regression where fixed-length string arrays created with Zarr Python 3 could not be read with Zarr Python 2.18.

changes/3103.bugfix.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
When creating arrays without explicitly specifying a chunk size using `zarr.create` and other
2+
array creation routines, the chunk size will now set automatically instead of defaulting to the data shape.
3+
For large arrays this will result in smaller default chunk sizes.
4+
To retain previous behaviour, explicitly set the chunk shape to the data shape.
5+
6+
This fix matches the existing chunking behaviour of
7+
`zarr.save_array` and `zarr.api.asynchronous.AsyncArray.create`.

docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ def skip_submodules(
105105
"roadmap": "developers/roadmap.html",
106106
"installation": "user-guide/installation.html",
107107
"api": "api/zarr/index",
108-
"release": "release-notes"
108+
"release": "release-notes.html",
109+
"release-notes": "release-notes.html"
109110
}
110111

111112
# The language for content autogenerated by Sphinx. Refer to documentation

docs/developers/contributing.rst

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,11 @@ See the `towncrier`_ docs for more.
251251

252252
.. _towncrier: https://towncrier.readthedocs.io/en/stable/tutorial.html
253253

254-
Development best practices, policies and procedures
255-
---------------------------------------------------
256-
257254
The following information is mainly for core developers, but may also be of interest to
258255
contributors.
259256

260257
Merging pull requests
261-
~~~~~~~~~~~~~~~~~~~~~
258+
---------------------
262259

263260
Pull requests submitted by an external contributor should be reviewed and approved by at least
264261
one core developer before being merged. Ideally, pull requests submitted by a core developer
@@ -268,10 +265,10 @@ Pull requests should not be merged until all CI checks have passed (GitHub Actio
268265
Codecov) against code that has had the latest main merged in.
269266

270267
Compatibility and versioning policies
271-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
268+
-------------------------------------
272269

273270
Versioning
274-
""""""""""
271+
~~~~~~~~~~
275272
Versions of this library are identified by a triplet of integers with the form
276273
``<major>.<minor>.<patch>``, for example ``3.0.4``. A release of ``zarr-python`` is associated with a new
277274
version identifier. That new identifier is generated by incrementing exactly one of the components of
@@ -323,7 +320,7 @@ backwards-compatible changes wherever possible. When a backwards-incompatible ch
323320
users should be notified well in advance, e.g. via informative deprecation warnings.
324321

325322
Data format compatibility
326-
^^^^^^^^^^^^^^^^^^^^^^^^^
323+
"""""""""""""""""""""""""
327324

328325
The Zarr library is an implementation of a file format standard defined externally --
329326
see the `Zarr specifications website <https://zarr-specs.readthedocs.io>`_ for the list of
@@ -340,36 +337,28 @@ breaking changes may be more frequent than usual.
340337

341338

342339
Release procedure
343-
~~~~~~~~~~~~~~~~~
344-
345-
.. note::
346-
347-
Most of the release process is now handled by GitHub workflow which should
348-
automatically push a release to PyPI if a tag is pushed.
340+
-----------------
349341

350342
Pre-release
351-
"""""""""""
343+
~~~~~~~~~~~
352344
1. Make sure that all pull requests which will be included in the release
353-
have been properly documented as changelog files in :file:`changes`.
354-
2. Run ``towncrier build --version x.y.z`` to create the changelog.
345+
have been properly documented as changelog files in the :file:`changes/` directory.
346+
2. Run ``towncrier build --version x.y.z`` to create the changelog, and commit the result
347+
to the main branch.
355348

356349
Releasing
357-
"""""""""
358-
To make a new release, go to
359-
https://github.com/zarr-developers/zarr-python/releases and
360-
click "Draft a new release". Choose a version number prefixed
361-
with a `v` (e.g. `v0.0.0`). For pre-releases, include the
362-
appropriate suffix (e.g. `v0.0.0a1` or `v0.0.0rc2`).
363-
364-
365-
Set the description of the release to::
350+
~~~~~~~~~
351+
1. Go to https://github.com/zarr-developers/zarr-python/releases
352+
2. Click "Draft a new release".
353+
3. Choose a version number prefixed with a `v` (e.g. `v0.0.0`).
354+
For pre-releases, include the appropriate suffix (e.g. `v0.0.0a1` or `v0.0.0rc2`).
355+
4. Set the description of the release to::
366356

367357
See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0
368358

369-
replacing the correct version numbers. For pre-release versions,
370-
the URL should omit the pre-release suffix, e.g. "a1" or "rc1".
371-
372-
Click on "Generate release notes" to auto-file the description.
359+
replacing the correct version numbers. For pre-release versions,
360+
the URL should omit the pre-release suffix, e.g. "a1" or "rc1".
361+
5. Click on "Generate release notes" to auto-fill the description.
373362

374363
After creating the release, the documentation will be built on
375364
https://readthedocs.io. Full releases will be available under
@@ -378,9 +367,8 @@ pre-releases will be available under
378367
`/latest <https://zarr.readthedocs.io/en/latest>`_.
379368

380369
Post-release
381-
""""""""""""
370+
~~~~~~~~~~~~
382371

383372
- Review and merge the pull request on the
384373
`conda-forge feedstock <https://github.com/conda-forge/zarr-feedstock>`_ that will be
385374
automatically generated.
386-
- Create a new "Unreleased" section in the release notes

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ gpu = [
7272
# Development extras
7373
test = [
7474
"coverage",
75-
"pytest",
75+
# Pin possibly due to https://github.com/pytest-dev/pytest-cov/issues/693
76+
"pytest<8.4",
7677
"pytest-asyncio",
7778
"pytest-cov",
7879
"pytest-accept",
@@ -111,7 +112,7 @@ docs = [
111112

112113
[project.urls]
113114
"Bug Tracker" = "https://github.com/zarr-developers/zarr-python/issues"
114-
Changelog = "https://zarr.readthedocs.io/en/stable/release.html"
115+
Changelog = "https://zarr.readthedocs.io/en/stable/release-notes.html"
115116
Discussions = "https://github.com/zarr-developers/zarr-python/discussions"
116117
Documentation = "https://zarr.readthedocs.io/"
117118
Homepage = "https://github.com/zarr-developers/zarr-python"
@@ -149,7 +150,7 @@ features = ["test"]
149150

150151
[[tool.hatch.envs.test.matrix]]
151152
python = ["3.11", "3.12", "3.13"]
152-
numpy = ["1.25", "2.1"]
153+
numpy = ["1.25", "2.2"]
153154
deps = ["minimal", "optional"]
154155

155156
[tool.hatch.envs.test.overrides]
@@ -185,7 +186,7 @@ features = ["test", "gpu"]
185186

186187
[[tool.hatch.envs.gputest.matrix]]
187188
python = ["3.11", "3.12", "3.13"]
188-
numpy = ["1.25", "2.1"]
189+
numpy = ["1.25", "2.2"]
189190
version = ["minimal"]
190191

191192
[tool.hatch.envs.gputest.scripts]
@@ -209,7 +210,6 @@ dependencies = [
209210
'packaging @ git+https://github.com/pypa/packaging',
210211
'numpy', # from scientific-python-nightly-wheels
211212
'numcodecs @ git+https://github.com/zarr-developers/numcodecs',
212-
'fsspec @ git+https://github.com/fsspec/filesystem_spec',
213213
's3fs @ git+https://github.com/fsspec/s3fs',
214214
'universal_pathlib @ git+https://github.com/fsspec/universal_pathlib',
215215
'typing_extensions @ git+https://github.com/python/typing_extensions',

0 commit comments

Comments
 (0)