Skip to content
Open
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
4 changes: 2 additions & 2 deletions .github/workflows/ci-i386.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: Install zfp and numcodecs
run: |
uv venv
uv pip install --group dev
uv pip install --group dev --group test --group test-extras
PYTHON_INCLUDE=$(uv run python -c 'from sysconfig import get_paths; print(get_paths()["include"])');
PYTHON_LIB=$(uv run python -c 'import sysconfig; print(sysconfig.get_config_var("LIBDIR"))');
git clone https://github.com/LLNL/zfp
Expand All @@ -59,7 +59,7 @@ jobs:
uv run sudo make -C zfp/build install
uv pip install ./zfp
uv pip install --no-build-isolation -v .
uv pip install "numcodecs[test,test_extras,msgpack,google_crc32c,crc32c,zfpy]"
uv pip install "numcodecs[msgpack,google_crc32c,crc32c,zfpy]"
shell: alpine.sh {0}

- name: List installed packages
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,13 @@ jobs:
run: |
# TODO: Remove this conditional when pcodec supports Python 3.14
if [[ "${{ matrix.python-version }}" == "3.14" ]]; then
python -m pip install -v ".[test,test_extras,msgpack,google_crc32c,crc32c,zfpy]"
python -m pip install -v \
--group test --group test_extras \
".[msgpack,google_crc32c,crc32c,zfpy]"
else
python -m pip install -v ".[test,test_extras,msgpack,google_crc32c,crc32c,pcodec,zfpy]"
python -m pip install -v \
--group test --group test_extras \
".[msgpack,google_crc32c,crc32c,pcodec,zfpy]"
fi

- name: List installed packages
Expand Down Expand Up @@ -106,9 +110,9 @@ jobs:
- name: Install numcodecs
run: |
if [[ -n "${{ matrix.extras }}" ]]; then
python -m pip install -v ".[${{ matrix.extras }},test]"
python -m pip install -v --group test ".[${{ matrix.extras }}]"
else
python -m pip install -v ".[test]"
python -m pip install -v --group test .
fi

- name: List installed packages
Expand Down Expand Up @@ -159,7 +163,9 @@ jobs:

- name: Install numcodecs and Zarr
run: |
python -m pip install -v ".[test,test_extras]" "${{ matrix.zarr-pkg }}" crc32c
python -m pip install -v \
--group test --group test_extras \
. "${{ matrix.zarr-pkg }}" crc32c
- name: List installed packages
run: python -m pip list

Expand Down
8 changes: 4 additions & 4 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ bootstrap the build dependencies, then install numcodecs in editable mode:

```
$ uv venv
$ uv pip install --group dev
$ uv pip install --no-build-isolation -e ".[test,test_extras,msgpack]"
$ uv pip install --group dev --group test --group test_extras
$ uv pip install --no-build-isolation -e ".[msgpack]"
```

The first ``uv pip install`` step bootstraps the build tools into the virtualenv.
Expand All @@ -141,8 +141,8 @@ $ python -m venv venv
$ source venv/bin/activate # macOS/Linux
$ # .\venv\Scripts\activate # Windows

$ pip install --group dev
$ pip install --no-build-isolation -e ".[test,test_extras,msgpack]"
$ pip install --group dev --group test --group test_extras
$ pip install --no-build-isolation -e ".[msgpack]"
$ pytest -v
```

Expand Down
24 changes: 12 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,16 @@ crc32c = [
google_crc32c = [
"google-crc32c>=1.5"
]

[dependency-groups]
dev = [
"meson-python>=0.17",
"meson>=1.6.0",
"ninja",
"cython>=3.0",
"setuptools-scm>=6.2",
"numpy>=2",
]
docs = [
"sphinx",
"sphinx-issues",
Expand All @@ -79,16 +89,6 @@ test_extras = [
"importlib_metadata",
"crc32c", # TODO: remove once zarr-python does not depend on crc32c anymore
]

[dependency-groups]
dev = [
"meson-python>=0.17",
"meson>=1.6.0",
"ninja",
"cython>=3.0",
"setuptools-scm>=6.2",
"numpy>=2",
]
test-zarr-308 = [
"pytest",
"pytest-cov",
Expand Down Expand Up @@ -243,8 +243,8 @@ warn_unused_configs = true
# meson-python editable installs require build deps (ninja, meson) at runtime for
# auto-rebuild on import. Skip build isolation so the venv's ninja is used.
# The "dev" dependency group provides these build tools. Bootstrap with:
# `uv pip install --group dev` before running
# `uv pip install --no-build-isolation -e ".[test,test_extras,msgpack]"`.
# `uv pip install --group dev --group test --group test_extras` before running
# `uv pip install --no-build-isolation -e ".[msgpack]"`.
no-build-isolation-package = ["numcodecs"]
conflicts = [
# Zarr versions conflict with each other
Expand Down
Loading