Skip to content

Commit a9dcfb5

Browse files
authored
Merge branch 'main' into ryan/codec-unit-testing
2 parents 8610ac0 + 7be0ac9 commit a9dcfb5

File tree

7,608 files changed

+25540
-43773
lines changed

Some content is hidden

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

7,608 files changed

+25540
-43773
lines changed

.deepsource.toml

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

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
name: 🐛 File a bug report
2-
description: X's behavior is deviating from its documented behavior.
1+
name: Bug Report
2+
description: Report incorrect behaviour in the library.
33
labels: ["bug"]
44
body:
55
- type: markdown
@@ -27,7 +27,7 @@ body:
2727
attributes:
2828
label: Python Version
2929
description: Version of Python interpreter
30-
placeholder: 3.8.5, 3.9, 3.10, etc.
30+
placeholder: 3.10, 3.11, 3.12 etc.
3131
validations:
3232
required: true
3333
- type: input

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
blank_issues_enabled: true
22
contact_links:
3-
- name: Propose a new major feature
3+
- name: Propose a new major feature
44
url: https://github.com/zarr-developers/zarr-specs
55
about: A new major feature should be discussed in the Zarr specifications repository.
6-
- name: Discuss something on gitter
7-
url: https://gitter.im/zarr-developers/community
8-
about: For questions like "How do I do X with Zarr?", you can move to our Gitter channel.
9-
- name: Discuss something on GitHub Discussions
6+
- name: Discuss something on ZulipChat
7+
url: https://ossci.zulipchat.com/
8+
about: For questions like "How do I do X with Zarr?", you can move to our ZulipChat.
9+
- name: Discuss something on GitHub Discussions
1010
url: https://github.com/zarr-developers/zarr-python/discussions
1111
about: For questions like "How do I do X with Zarr?", you can move to GitHub Discussions.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Documentation Improvement
2+
description: Report missing or wrong documentation. Alternatively, you can just open a pull request with the suggested change.
3+
title: "DOC: "
4+
labels: [documentation, help wanted]
5+
6+
body:
7+
- type: textarea
8+
attributes:
9+
label: Describe the issue linked to the documentation
10+
description: >
11+
Please provide a description of what documentation you believe needs to be fixed/improved.
12+
validations:
13+
required: true
14+
- type: textarea
15+
attributes:
16+
label: Suggested fix for documentation
17+
description: >
18+
Please explain the suggested fix and why it's better than the existing documentation.

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
version: 2
33
updates:
4+
# Updates for v3 branch (the default branch)
45
- package-ecosystem: "pip"
56
directory: "/"
67
schedule:
@@ -17,3 +18,23 @@ updates:
1718
actions:
1819
patterns:
1920
- "*"
21+
22+
# Same updates, but for main branch
23+
- package-ecosystem: "pip"
24+
directory: "/"
25+
target-branch: "main"
26+
schedule:
27+
interval: "daily"
28+
groups:
29+
requirements:
30+
patterns:
31+
- "*"
32+
- package-ecosystem: "github-actions"
33+
directory: "/"
34+
target-branch: "main"
35+
schedule:
36+
interval: "weekly"
37+
groups:
38+
actions:
39+
patterns:
40+
- "*"

.github/workflows/codeql-analysis.yml

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

.github/workflows/gpu_test.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3+
4+
name: GPU Test
5+
6+
on:
7+
push:
8+
branches: [ main ]
9+
pull_request:
10+
branches: [ main ]
11+
workflow_dispatch:
12+
13+
env:
14+
LD_LIBRARY_PATH: /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
test:
22+
name: py=${{ matrix.python-version }}, np=${{ matrix.numpy-version }}, deps=${{ matrix.dependency-set }}
23+
24+
runs-on: gpu-runner
25+
strategy:
26+
matrix:
27+
python-version: ['3.11']
28+
numpy-version: ['2.1']
29+
dependency-set: ["minimal"]
30+
31+
steps:
32+
- uses: actions/checkout@v4
33+
# - name: cuda-toolkit
34+
# uses: Jimver/[email protected]
35+
# id: cuda-toolkit
36+
# with:
37+
# cuda: '12.4.1'
38+
- name: Set up CUDA
39+
run: |
40+
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
41+
sudo dpkg -i cuda-keyring_1.1-1_all.deb
42+
sudo apt-get update
43+
sudo apt-get -y install cuda-toolkit-12-6
44+
echo "/usr/local/cuda/bin" >> $GITHUB_PATH
45+
- name: GPU check
46+
run: |
47+
nvidia-smi
48+
echo $PATH
49+
echo $LD_LIBRARY_PATH
50+
nvcc -V
51+
- name: Set up Python
52+
uses: actions/setup-python@v5
53+
with:
54+
python-version: ${{ matrix.python-version }}
55+
cache: 'pip'
56+
- name: Install Hatch and CuPy
57+
run: |
58+
python -m pip install --upgrade pip
59+
pip install hatch
60+
- name: Set Up Hatch Env
61+
run: |
62+
hatch env create gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
63+
hatch env run -e gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
64+
- name: Run Tests
65+
run: |
66+
hatch env run --env gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-coverage

.github/workflows/hypothesis.yaml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: Slow Hypothesis CI
2+
on:
3+
push:
4+
branches:
5+
- "main"
6+
pull_request:
7+
branches:
8+
- "main"
9+
types: [opened, reopened, synchronize, labeled]
10+
schedule:
11+
- cron: "0 0 * * *" # Daily “At 00:00” UTC
12+
workflow_dispatch: # allows you to trigger manually
13+
14+
env:
15+
FORCE_COLOR: 3
16+
17+
jobs:
18+
19+
hypothesis:
20+
name: Slow Hypothesis Tests
21+
runs-on: "ubuntu-latest"
22+
defaults:
23+
run:
24+
shell: bash -l {0}
25+
26+
strategy:
27+
matrix:
28+
python-version: ['3.11']
29+
numpy-version: ['2.1']
30+
dependency-set: ["optional"]
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
- name: Set up Python
35+
uses: actions/setup-python@v5
36+
with:
37+
python-version: ${{ matrix.python-version }}
38+
cache: 'pip'
39+
- name: Install Hatch
40+
run: |
41+
python -m pip install --upgrade pip
42+
pip install hatch
43+
- name: Set Up Hatch Env
44+
run: |
45+
hatch env create test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
46+
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
47+
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
48+
- name: Restore cached hypothesis directory
49+
id: restore-hypothesis-cache
50+
uses: actions/cache/restore@v4
51+
with:
52+
path: .hypothesis/
53+
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
54+
restore-keys: |
55+
cache-hypothesis-
56+
57+
- name: Run slow Hypothesis tests
58+
if: success()
59+
id: status
60+
run: |
61+
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-hypothesis
62+
63+
# explicitly save the cache so it gets updated, also do this even if it fails.
64+
- name: Save cached hypothesis directory
65+
id: save-hypothesis-cache
66+
if: always() && steps.status.outcome != 'skipped'
67+
uses: actions/cache/save@v4
68+
with:
69+
path: .hypothesis/
70+
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
71+
72+
- name: Generate and publish the report
73+
if: |
74+
failure()
75+
&& steps.status.outcome == 'failure'
76+
&& github.event_name == 'schedule'
77+
&& github.repository_owner == 'zarr-developers'
78+
uses: xarray-contrib/issue-from-pytest-log@v1
79+
with:
80+
log-path: output-${{ matrix.python-version }}-log.jsonl
81+
issue-title: "Nightly Hypothesis tests failed"
82+
issue-label: "topic-hypothesis"

.github/workflows/releases.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
submodules: true
1717
fetch-depth: 0
1818

19-
- uses: actions/setup-python@v5
19+
- uses: actions/setup-python@v5.2.0
2020
name: Install Python
2121
with:
2222
python-version: '3.11'
@@ -55,7 +55,7 @@ jobs:
5555
with:
5656
name: releases
5757
path: dist
58-
- uses: pypa/gh-action-pypi-publish@v1.9.0
58+
- uses: pypa/gh-action-pypi-publish@v1.12.2
5959
with:
6060
user: __token__
6161
password: ${{ secrets.pypi_password }}

0 commit comments

Comments
 (0)