Skip to content

Conversation

@maxrjones
Copy link
Member

Previously, VirtualiZarr imported ReadableStore from obspec_utils.protocols, which was overly broad relative to the methods used by parsers. This PR updates the parsers to directly define their required protocols using obspec.

As a consequence, obspec is added as a direct dependency (rather than via obspec_utils). I have also bumped the minimum obspec_utils version due to the ParallelStoreBug in v0.7.0 referenced in #858.

  • Closes #xxxx
  • Tests added
  • Tests passing
  • Full type hint coverage
  • Changes are documented in docs/releases.rst
  • New functions/methods are listed in api.rst
  • New functionality has documentation

@codecov
Copy link

codecov bot commented Jan 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.97%. Comparing base (052f7d1) to head (99f2fb3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #859      +/-   ##
==========================================
- Coverage   88.99%   88.97%   -0.03%     
==========================================
  Files          34       34              
  Lines        1945     1959      +14     
==========================================
+ Hits         1731     1743      +12     
- Misses        214      216       +2     
Files with missing lines Coverage Δ
virtualizarr/parsers/dmrpp.py 83.62% <100.00%> (+0.29%) ⬆️
virtualizarr/parsers/hdf/hdf.py 95.65% <100.00%> (+0.12%) ⬆️
virtualizarr/parsers/kerchunk/json.py 100.00% <100.00%> (ø)
virtualizarr/parsers/typing.py 100.00% <100.00%> (ø)
virtualizarr/parsers/zarr.py 97.54% <100.00%> (-1.21%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant