Skip to content

Align compressed Zarr encoding with the selected format - #348

Open
observingClouds with Copilot wants to merge 6 commits into
pre-commit-ci-update-configfrom
copilot/fix-github-actions-job
Open

observingClouds with Copilot wants to merge 6 commits into
pre-commit-ci-update-configfrom
copilot/fix-github-actions-job

Conversation

Copilot AI commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Compressed Zarr writes failed with recent xarray versions when Zarr format 3 was selected but format-2 compressor encoding was supplied.

  • Encoding: Match compressor keys to the requested Zarr format, or infer the default from the installed Zarr version.
  • Changelog: Document the compatibility fix under version 0.0.7.
  • CI: Use uv-managed Python builds (UV_PYTHON_PREFERENCE=only-managed) for the pytest, doctest and notebook jobs. On ubuntu-latest, uv otherwise resolves Python 3.12 to the system /usr/bin/python3.12, which segfaults inside Julia (Pkg.add → p7zip_jll copying ENV) when xbitinfo initialises its Julia backend on import. Python 3.12 stays in the test matrix.
ds.to_compressed_zarr("output.zarr", mode="w")  # Uses the installed Zarr version
ds.to_compressed_zarr("output.zarr", zarr_format=3, mode="w")  # Explicit format

Copilot AI and others added 2 commits October 6, 2026 04:09
Co-authored-by: observingClouds <43613877+observingClouds@users.noreply.github.com>
Co-authored-by: observingClouds <43613877+observingClouds@users.noreply.github.com>
Co-authored-by: observingClouds <43613877+observingClouds@users.noreply.github.com>
Co-authored-by: observingClouds <43613877+observingClouds@users.noreply.github.com>
Co-authored-by: observingClouds <43613877+observingClouds@users.noreply.github.com>
On ubuntu-latest, uv resolves Python 3.12 to the runner's system
interpreter (/usr/bin/python3.12) instead of a uv-managed build. With
that interpreter, importing xbitinfo segfaults inside Julia while
Pkg.add unpacks the registry (p7zip_jll copying ENV). The 3.10, 3.11
and 3.13 jobs use managed builds and pass, and the doctest and notebook
jobs crashed the same way when they defaulted to /usr/bin/python3.

Set UV_PYTHON_PREFERENCE=only-managed for the pytest, doctest and
notebook jobs, keep Python 3.12 in the test matrix, and drop the
faulthandler and Python 3.11 pin workarounds.

Assisted-by: LLM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants