Skip to content

Commit 71eb095

Browse files
authored
Merge branch 'main' into 3.0.9-3.0.10-release-notes
2 parents e102c40 + 378d5af commit 71eb095

File tree

17 files changed

+111
-65
lines changed

17 files changed

+111
-65
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
name: Zarr-Python release checklist
3+
about: Checklist for a new Zarr-Python release. [For project maintainers only!]
4+
title: Release Zarr-Python vX.Y.Z
5+
labels: release-checklist
6+
assignees: ''
7+
8+
---
9+
10+
**Release**: [v0.x.x](https://github.com/zarr-developers/zarr-python/milestones/?)
11+
**Scheduled Date**: 20YY/MM/DD
12+
13+
**Priority PRs/issues to complete prior to release**
14+
15+
- [ ] Priority pull request #X
16+
17+
**Before release**:
18+
19+
- [ ] Make sure that all pull requests which will be included in the release have been properly documented as changelog files in the [`changes/` directory](https://github.com/zarr-developers/zarr-python/tree/main/changes).
20+
- [ ] Run ``towncrier build --version x.y.z`` to create the changelog, and commit the result to the main branch.
21+
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/#support-window) to see if the minimum supported version of Python or NumPy needs bumping.
22+
- [ ] Check to ensure that:
23+
- [ ] Deprecated workarounds/codes/tests are removed. Run `grep "# TODO" **/*.py` to find all potential TODOs.
24+
- [ ] All tests pass in the ["Tests" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/test.yml).
25+
- [ ] All tests pass in the ["GPU Tests" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/gpu_test.yml).
26+
- [ ] All tests pass in the ["Hypothesis" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/hypothesis.yaml).
27+
- [ ] Check that downstream libraries work well (maintainers can make executive decisions about whether all checks are required for this release).
28+
- [ ] Xarray (@jhamman @dcherian @TomNicholas)
29+
- Zarr's upstream compatibility is tested via the [Upstream Dev CI worklow](https://github.com/pydata/xarray/actions/workflows/upstream-dev-ci.yaml).
30+
- Click on the most recent workflow and check that the `upstream-dev` job has run and passed. `upstream-dev` is not run on all all workflow runs.
31+
- Check that the expected version of Zarr-Python was tested using the `Version Info` step of the `upstream-dev` job.
32+
- If testing on a branch other than `main` is needed, open a PR modifying https://github.com/pydata/xarray/blob/90ee30943aedba66a37856b2332a41264e288c20/ci/install-upstream-wheels.sh#L56 and add the `run-upstream` label.
33+
- [ ] Titiler.Xarray (@maxrjones)
34+
- [Modify dependencies](https://github.com/developmentseed/titiler/blob/main/src/titiler/xarray/pyproject.toml) for titiler.xarray.
35+
- Modify triggers for running [the test workflow](https://github.com/developmentseed/titiler/blob/61549f2de07b20cca8fb991cfcdc89b23e18ad05/.github/workflows/ci.yml#L5-L7).
36+
- Push the branch to the repository and check for the actions for any failures.
37+
38+
**Release**:
39+
40+
- [ ] Go to https://github.com/zarr-developers/zarr-python/releases.
41+
- [ ] Click "Draft a new release".
42+
- [ ] Choose a version number prefixed with a `v` (e.g. `v0.0.0`). For pre-releases, include the appropriate suffix (e.g. `v0.0.0a1` or `v0.0.0rc2`).
43+
- [ ] Set the description of the release to: `See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0`, replacing the correct version numbers. For pre-release versions, the URL should omit the pre-release suffix, e.g. "a1" or "rc1".
44+
- [ ] Click on "Generate release notes" to auto-fill the description.
45+
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too.
46+
- [ ] Verify that release workflows succeeded.
47+
- [ ] The latest version is correct on [PyPI](https://pypi.org/project/zarr/).
48+
- [ ] The stable version is correct on [ReadTheDocs](https://zarr.readthedocs.io/en/stable/).
49+
50+
**After release**:
51+
52+
- [ ] Review and merge the pull request on the conda-forge [zarr-feedstock](https://github.com/conda-forge/zarr-feedstock) that will be automatically generated.
53+
54+
---
55+
56+
- [ ] Party :tada:

.github/codecov.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ ci:
66
default_stages: [pre-commit, pre-push]
77
repos:
88
- repo: https://github.com/astral-sh/ruff-pre-commit
9-
rev: v0.11.9
9+
rev: v0.12.2
1010
hooks:
11-
- id: ruff
11+
- id: ruff-check
1212
args: ["--fix", "--show-fixes"]
1313
- id: ruff-format
1414
- repo: https://github.com/codespell-project/codespell

bench/compress_normal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import sys
22
import timeit
33

4+
import blosc
45
import line_profiler
56
import numpy as np
67

78
import zarr
8-
from zarr import blosc
99

1010
if __name__ == "__main__":
1111
sys.path.insert(0, "..")

changes/3190.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add human readable size for No. bytes stored to `info_complete`

changes/3212.doc.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- Add a description on how to create a RemoteStore of a specific filesystem to the `Remote Store` section in `docs\user-guide\storage.rst`.
2+
- State in the docstring of `FsspecStore.from_url` that the filesystem type is inferred from the URL scheme.
3+
4+
It should help a user handling the case when the type of FsspecStore doesn't match the URL scheme.

codecov.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@ coverage:
33
patch:
44
default:
55
target: auto
6-
after_n_builds: 10 # Wait for all 10 reports before updating the status
76
project:
87
default:
98
target: auto
109
threshold: 0.1
11-
after_n_builds: 2 # Wait for all 10 reports before updating the status
12-
comment: false
10+
codecov:
11+
notify:
12+
after_n_builds: 10 # Wait for all 10 reports before updating the status
13+
wait_for_ci: yes
14+
comment:
15+
layout: "diff, files"
16+
behavior: default
17+
require_changes: true # if true: only post the comment if coverage changes
18+
branches: # branch names that can post comment
19+
- "main"
1320
github_checks:
14-
annotations: false
21+
annotations: false

docs/developers/contributing.rst

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -339,36 +339,6 @@ breaking changes may be more frequent than usual.
339339
Release procedure
340340
-----------------
341341

342-
Pre-release
343-
~~~~~~~~~~~
344-
1. Make sure that all pull requests which will be included in the release
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.
348-
349-
Releasing
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::
356-
357-
See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0
358-
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.
362-
363-
After creating the release, the documentation will be built on
364-
https://readthedocs.io. Full releases will be available under
365-
`/stable <https://zarr.readthedocs.io/en/stable>`_ while
366-
pre-releases will be available under
367-
`/latest <https://zarr.readthedocs.io/en/latest>`_.
368-
369-
Post-release
370-
~~~~~~~~~~~~
371-
372-
- Review and merge the pull request on the
373-
`conda-forge feedstock <https://github.com/conda-forge/zarr-feedstock>`_ that will be
374-
automatically generated.
342+
Open an issue on GitHub announcing the release using the release checklist template:
343+
`https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md <https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md>`_.
344+
The release checklist includes all steps necessary for the release.

docs/user-guide/arrays.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ prints additional diagnostics, e.g.::
212212
Serializer : BytesCodec(endian=<Endian.little: 'little'>)
213213
Compressors : (BloscCodec(typesize=4, cname=<BloscCname.zstd: 'zstd'>, clevel=3, shuffle=<BloscShuffle.bitshuffle: 'bitshuffle'>, blocksize=0),)
214214
No. bytes : 400000000 (381.5M)
215-
No. bytes stored : 3558573
215+
No. bytes stored : 3558573 (3.4M)
216216
Storage ratio : 112.4
217217
Chunks Initialized : 100
218218

@@ -286,7 +286,7 @@ Here is an example using a delta filter with the Blosc compressor::
286286
>>> compressors = zarr.codecs.BloscCodec(cname='zstd', clevel=1, shuffle=zarr.codecs.BloscShuffle.shuffle)
287287
>>> data = np.arange(100000000, dtype='int32').reshape(10000, 10000)
288288
>>> z = zarr.create_array(store='data/example-9.zarr', shape=data.shape, dtype=data.dtype, chunks=(1000, 1000), filters=filters, compressors=compressors)
289-
>>> z.info
289+
>>> z.info_complete()
290290
Type : Array
291291
Zarr format : 3
292292
Data type : Int32(endianness='little')
@@ -300,6 +300,9 @@ Here is an example using a delta filter with the Blosc compressor::
300300
Serializer : BytesCodec(endian=<Endian.little: 'little'>)
301301
Compressors : (BloscCodec(typesize=4, cname=<BloscCname.zstd: 'zstd'>, clevel=1, shuffle=<BloscShuffle.shuffle: 'shuffle'>, blocksize=0),)
302302
No. bytes : 400000000 (381.5M)
303+
No. bytes stored : 826
304+
Storage ratio : 484261.5
305+
Chunks Initialized : 0
303306

304307
For more information about available filter codecs, see the `Numcodecs
305308
<https://numcodecs.readthedocs.io/>`_ documentation.
@@ -616,7 +619,7 @@ Sharded arrays can be created by providing the ``shards`` parameter to :func:`za
616619
Serializer : BytesCodec(endian=None)
617620
Compressors : (ZstdCodec(level=0, checksum=False),)
618621
No. bytes : 100000000 (95.4M)
619-
No. bytes stored : 3981473
622+
No. bytes stored : 3981473 (3.8M)
620623
Storage ratio : 25.1
621624
Shards Initialized : 100
622625

docs/user-guide/groups.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ property. E.g.::
139139
Serializer : BytesCodec(endian=<Endian.little: 'little'>)
140140
Compressors : (ZstdCodec(level=0, checksum=False),)
141141
No. bytes : 8000000 (7.6M)
142-
No. bytes stored : 1614
142+
No. bytes stored : 1614 (1.6K)
143143
Storage ratio : 4956.6
144144
Chunks Initialized : 10
145145
>>> baz.info

0 commit comments

Comments
 (0)