Skip to content

Commit 9c673ce

Browse files
committed
Merge remote-tracking branch 'upstream/main' into gpu-codecs
2 parents ac14838 + 22ea09f commit 9c673ce

172 files changed

Lines changed: 5178 additions & 1296 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
blank_issues_enabled: true
22
contact_links:
3-
- name: Propose a new major feature
3+
- name: Propose a new Zarr specification feature
44
url: https://github.com/zarr-developers/zarr-specs
5-
about: A new major feature should be discussed in the Zarr specifications repository.
5+
about: A new feature for the Zarr storage specification should be opened on the zarr-specs repository.
66
- name: Discuss something on ZulipChat
77
url: https://ossci.zulipchat.com/
88
about: For questions like "How do I do X with Zarr?", consider posting your question to our developer chat.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Feature Request
2+
description: Request a new feature for zarr-python
3+
# labels: []
4+
body:
5+
- type: textarea
6+
attributes:
7+
label: Describe the new feature you'd like
8+
description: >
9+
Please provide a description of what new feature or functionality you'd like to see in zarr-python.
10+
validations:
11+
required: true

.github/workflows/check_changelogs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
runs-on: ubuntu-latest
1010

1111
steps:
12-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
12+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1313

1414
- name: Install uv
15-
uses: astral-sh/setup-uv@b75a909f75acd358c2196fb9a5f1299a9a8868a4 # v6.7.0
15+
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
1616

1717
- name: Check changelog entries
1818
run: uv run --no-sync python ci/check_changelog_entries.py

.github/workflows/codspeed.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CodSpeed Benchmarks
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
pull_request:
8+
types: [labeled, synchronize]
9+
# `workflow_dispatch` allows CodSpeed to trigger backtest
10+
# performance analysis in order to generate initial data.
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
benchmarks:
18+
name: Run benchmarks
19+
runs-on: codspeed-macro
20+
# Only run benchmarks for: pushes to main, manual triggers, or PRs with 'benchmark' label
21+
if: |
22+
github.event_name == 'push' ||
23+
github.event_name == 'workflow_dispatch' ||
24+
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'benchmark'))
25+
steps:
26+
- uses: actions/checkout@v6
27+
with:
28+
fetch-depth: 0 # grab all branches and tags
29+
- name: Set up Python
30+
uses: actions/setup-python@v6
31+
with:
32+
python-version: "3.11"
33+
- name: Install Hatch
34+
run: |
35+
python -m pip install --upgrade pip
36+
pip install hatch
37+
- name: Run the benchmarks
38+
uses: CodSpeedHQ/action@v4
39+
with:
40+
mode: walltime
41+
run: hatch run test.py3.11-minimal:pytest tests/benchmarks --codspeed

.github/workflows/gpu_test.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,16 @@ concurrency:
1919

2020
jobs:
2121
test:
22-
name: py=${{ matrix.python-version }}, np=${{ matrix.numpy-version }}, deps=${{ matrix.dependency-set }}
22+
name: py=${{ matrix.python-version }}, deps=${{ matrix.dependency-set }}
2323

2424
runs-on: gpu-runner
2525
strategy:
2626
matrix:
2727
python-version: ['3.11']
28-
numpy-version: ['2.2']
2928
dependency-set: ["minimal"]
3029

3130
steps:
32-
- uses: actions/checkout@v5
31+
- uses: actions/checkout@v6
3332
with:
3433
fetch-depth: 0 # grab all branches and tags
3534
# - name: cuda-toolkit
@@ -61,11 +60,11 @@ jobs:
6160
pip install hatch
6261
- name: Set Up Hatch Env
6362
run: |
64-
hatch env create gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
65-
hatch env run -e gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
63+
hatch env create gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
64+
hatch env run -e gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }} list-env
6665
- name: Run Tests
6766
run: |
68-
hatch env run --env gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-coverage-gpu
67+
hatch env run --env gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }} run-coverage-gpu
6968
7069
- name: Upload coverage
7170
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1

.github/workflows/hypothesis.yaml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ jobs:
2424
strategy:
2525
matrix:
2626
python-version: ['3.12']
27-
numpy-version: ['2.2']
2827
dependency-set: ["optional"]
2928

3029
steps:
31-
- uses: actions/checkout@v5
30+
- uses: actions/checkout@v6
3231
- name: Set HYPOTHESIS_PROFILE based on trigger
3332
run: |
3433
if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
@@ -47,12 +46,12 @@ jobs:
4746
pip install hatch
4847
- name: Set Up Hatch Env
4948
run: |
50-
hatch env create test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
51-
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
49+
hatch env create test.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
50+
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} list-env
5251
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
5352
- name: Restore cached hypothesis directory
5453
id: restore-hypothesis-cache
55-
uses: actions/cache/restore@v4
54+
uses: actions/cache/restore@v5
5655
with:
5756
path: .hypothesis/
5857
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
@@ -64,13 +63,13 @@ jobs:
6463
id: status
6564
run: |
6665
echo "Using Hypothesis profile: $HYPOTHESIS_PROFILE"
67-
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-hypothesis
66+
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} run-hypothesis
6867
6968
# explicitly save the cache so it gets updated, also do this even if it fails.
7069
- name: Save cached hypothesis directory
7170
id: save-hypothesis-cache
7271
if: always() && steps.status.outcome != 'skipped'
73-
uses: actions/cache/save@v4
72+
uses: actions/cache/save@v5
7473
with:
7574
path: .hypothesis/
7675
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}

.github/workflows/issue-metrics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
SEARCH_QUERY: 'repo:zarr-developers/zarr-python is:issue created:${{ env.last_month }} -reason:"not planned"'
3636

3737
- name: Create issue
38-
uses: peter-evans/create-issue-from-file@v5
38+
uses: peter-evans/create-issue-from-file@v6
3939
with:
4040
title: Monthly issue metrics report
4141
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/lint.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main, 3.1.x]
6+
pull_request:
7+
branches: [main, 3.1.x]
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
lint:
16+
name: Lint
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v6
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v7
22+
- name: Install prek
23+
run: uv tool install prek
24+
- name: Run prek
25+
run: prek run --all-files

.github/workflows/nightly_wheels.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- uses: actions/checkout@v5
15+
- uses: actions/checkout@v6
1616
with:
1717
submodules: true
1818
fetch-depth: 0
@@ -31,7 +31,7 @@ jobs:
3131
run: hatch build
3232

3333
- name: Upload nightly wheels
34-
uses: scientific-python/upload-nightly-action@b36e8c0c10dbcfd2e05bf95f17ef8c14fd708dbf
34+
uses: scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf
3535
with:
3636
artifacts_path: dist
3737
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}

.github/workflows/releases.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
fail-fast: false
1212

1313
steps:
14-
- uses: actions/checkout@v5
14+
- uses: actions/checkout@v6
1515
with:
1616
submodules: true
1717
fetch-depth: 0
@@ -27,7 +27,7 @@ jobs:
2727
pip install hatch
2828
- name: Build wheel and sdist
2929
run: hatch build
30-
- uses: actions/upload-artifact@v4
30+
- uses: actions/upload-artifact@v6
3131
with:
3232
name: releases
3333
path: dist
@@ -36,7 +36,7 @@ jobs:
3636
needs: [build_artifacts]
3737
runs-on: ubuntu-latest
3838
steps:
39-
- uses: actions/download-artifact@v5
39+
- uses: actions/download-artifact@v7
4040
with:
4141
name: releases
4242
path: dist
@@ -51,7 +51,7 @@ jobs:
5151
runs-on: ubuntu-latest
5252
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
5353
steps:
54-
- uses: actions/download-artifact@v5
54+
- uses: actions/download-artifact@v7
5555
with:
5656
name: releases
5757
path: dist

0 commit comments

Comments
 (0)