Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manifest arrays use arrayv3metadata #429

Merged
merged 81 commits into from
Feb 18, 2025

Conversation

abarciauskas-bgse
Copy link
Collaborator

@abarciauskas-bgse abarciauskas-bgse commented Feb 6, 2025

This is still very much a WIP - many tests and implementations still need to be fixed.

A few notes:

  • It was suggested we remove ZArray completely as a part of this work, as opposed to using a conversion function for ZArrays to ArrayV3Metadata. So we should be able to remove ZArray as a part of this pr.
  • It was suggested not to use zarr's _parse_chunk_encoding_v3 function since it is a private function and may change, which is why some of that logic is replicated in convert_to_codec_pipeline

Checklist

  • Closes ManifestArray should use zarr-python's ArrayV3Metadata #424
  • Manifest tests passing
  • Library (codecs, etc) tests passing
  • Reader tests passing
  • test_integration tests passing
  • test_xarray tests passing
  • Writer tests passing
  • Cleanup dead code
  • Consider reorganizing codecs and zarr modules
  • Full type hint coverage
  • Tests added for new functions
  • Changes are documented in docs/releases.rst
  • New functions/methods are listed in api.rst
  • New functionality has documentation

@TomNicholas TomNicholas added zarr-python Relevant to zarr-python upstream internals labels Feb 6, 2025
@@ -1,13 +1,25 @@
"""Pytest configuration and fixtures for virtualizarr tests."""
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reorganized this file as it includes fixtures, variables and helper functions of various purpose.

@@ -283,9 +284,6 @@ def _dataset_to_variable(
list: xarray.Variable
A list of xarray variables.
"""
# This chunk determination logic mirrors zarr-python's create
# https://github.com/zarr-developers/zarr-python/blob/main/zarr/creation.py#L62-L66
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed this comment because I think the reference is from a previous version of zarr-python - @sharkinsspatial do you know if we can and should include an updated link?

@abarciauskas-bgse
Copy link
Collaborator Author

@TomNicholas this PR is ready for re-review and 🤞🏽 hopefully good to merge (to zarr-python-3.0). There are a few outstanding comments that are mostly related to creating new issues:

And then I might also create a ticket to test this branch against all (or most) current examples.

Copy link
Member

@TomNicholas TomNicholas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @abarciauskas-bgse ! Let's just get this merged into a stable branch so that others can build on it.

@abarciauskas-bgse abarciauskas-bgse merged commit e9a4cce into zarr-python-3.0 Feb 18, 2025
2 checks passed
@norlandrhagen
Copy link
Collaborator

Awesome work @abarciauskas-bgse!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internals zarr-python Relevant to zarr-python upstream
Projects
Development

Successfully merging this pull request may close these issues.

ManifestArray should use zarr-python's ArrayV3Metadata
5 participants