Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/codspeed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ jobs:
with:
python-version: "3.11"
- name: Install Hatch
run: |
python -m pip install --upgrade pip
pip install hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Run the benchmarks
uses: CodSpeedHQ/action@v4
with:
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/gpu_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@ concurrency:

jobs:
test:
name: py=${{ matrix.python-version }}, deps=${{ matrix.dependency-set }}
name: py=${{ matrix.python-version }}

runs-on: gpu-runner
strategy:
matrix:
python-version: ['3.11']
dependency-set: ["minimal"]

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -54,17 +53,17 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install Hatch and CuPy
run: |
python -m pip install --upgrade pip
pip install hatch
- name: Install Hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Set Up Hatch Env
run: |
hatch env create gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
hatch env run -e gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }} list-env
hatch env create gputest.py${{ matrix.python-version }}
hatch env run -e gputest.py${{ matrix.python-version }} list-env
- name: Run Tests
run: |
hatch env run --env gputest.py${{ matrix.python-version }}-${{ matrix.dependency-set }} run-coverage-gpu
hatch env run --env gputest.py${{ matrix.python-version }} run-coverage

- name: Upload coverage
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/hypothesis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ jobs:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install Hatch
run: |
python -m pip install --upgrade pip
pip install hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Set Up Hatch Env
run: |
hatch env create test.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/nightly_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
with:
python-version: '3.13'

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install hatch
- name: Install Hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'

- name: Build wheel and sdist
run: hatch build
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
with:
python-version: '3.11'

- name: Install PyBuild
run: |
python -m pip install --upgrade pip
pip install hatch
- name: Install Hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Build wheel and sdist
run: hatch build
- uses: actions/upload-artifact@v6
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ jobs:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install Hatch
run: |
python -m pip install --upgrade pip
pip install hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Set Up Hatch Env
run: |
hatch env create test.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
Expand Down Expand Up @@ -93,9 +93,9 @@ jobs:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install Hatch
run: |
python -m pip install --upgrade pip
pip install hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Set Up Hatch Env
run: |
hatch env create ${{ matrix.dependency-set }}
Expand All @@ -122,9 +122,9 @@ jobs:
python-version: '3.13'
cache: 'pip'
- name: Install Hatch
run: |
python -m pip install --upgrade pip
pip install hatch
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
with:
version: '1.16.5'
- name: Set Up Hatch Env
run: |
hatch run doctest:pip list
Expand Down
11 changes: 3 additions & 8 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ build:
tools:
python: "3.12"
jobs:
install:
- pip install --upgrade pip
- pip install .[remote] --group docs
pre_build:
- |
if [ "$READTHEDOCS_VERSION_TYPE" != "tag" ];
Expand All @@ -16,11 +19,3 @@ build:
- mkdocs build --strict --site-dir $READTHEDOCS_OUTPUT/html
mkdocs:
configuration: mkdocs.yml

python:
install:
- method: pip
path: .
extra_requirements:
- docs
- remote
1 change: 1 addition & 0 deletions changes/3728.misc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Move development dependencies (`test`, `remote_tests`, `docs`, `dev`) from optional dependencies to [dependency groups](https://packaging.python.org/en/latest/specifications/dependency-groups/). This may cause breakage for anyone who used e.g. `pip install zarr[test]` to get access to test dependencies. To install these dependency groups from a local checkout, use `pip install --group <name>` (pip 25.1+) or `uv run --group <name>`.
8 changes: 4 additions & 4 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ hatch env show # list all available environments
To verify that your development environment is working, you can run the unit tests for one of the test environments, e.g.:

```bash
hatch env run --env test.py3.12-2.2-optional run-pytest
hatch env run --env test.py3.12-optional run
```

### Creating a branch
Expand Down Expand Up @@ -102,7 +102,7 @@ Again, any conflicts need to be resolved before submitting a pull request.
Zarr includes a suite of unit tests. The simplest way to run the unit tests is to activate your development environment (see [creating a development environment](#creating-a-development-environment) above) and invoke:

```bash
hatch env run --env test.py3.12-2.2-optional run-pytest
hatch env run --env test.py3.12-optional run
```

All tests are automatically run via GitHub Actions for every pull request and must pass before code can be accepted. Test coverage is also collected automatically via the Codecov service.
Expand Down Expand Up @@ -164,15 +164,15 @@ If you would like to skip the failing checks and push the code for further discu
Zarr strives to maintain 100% test coverage under the latest Python stable release. Both unit tests and docstring doctests are included when computing coverage. Running:

```bash
hatch env run --env test.py3.12-2.2-optional run-coverage
hatch env run --env test.py3.12-optional run-coverage
```

will automatically run the test suite with coverage and produce an XML coverage report. This should be 100% before code can be accepted into the main code base.

You can also generate an HTML coverage report by running:

```bash
hatch env run --env test.py3.12-2.2-optional run-coverage-html
hatch env run --env test.py3.12-optional run-coverage-html
```

When submitting a pull request, coverage will also be collected across all supported Python versions via the Codecov service, and will be reported back within the pull request. Codecov coverage must also be 100% before code can be accepted.
Expand Down
Loading