Skip to content

feat: resolve tomogram levels from OME metadata - #93

Merged
uermel merged 6 commits into
uermel/zarr-v3-u0-test-gatefrom
uermel/zarr-v3-u1-metadata-readers
Aug 18, 2026
Merged

feat: resolve tomogram levels from OME metadata#93
uermel merged 6 commits into
uermel/zarr-v3-u0-test-gatefrom
uermel/zarr-v3-u1-metadata-readers

Conversation

@uermel

@uermel uermel commented Aug 18, 2026

Copy link
Copy Markdown
Member

Tracks #85 and is the second PR in the copick-utils Zarr v3 migration stack.

Base: uermel/zarr-v3-u0-test-gate

This moves the package onto the published core migration contract and removes metadata-blind level reads:

  • requires Python 3.11+, copick>=2.0.0a1, pydantic>=2, and zarr>=3.1.6,<4;
  • places no upper bound on Pydantic;
  • locks Pydantic 2.13.4 and tests it on stable Python 3.11 through 3.14;
  • adds one read-only get_level_array() helper backed by copick.util.ome.get_level_path();
  • replaces all eight literal "0" direct readers;
  • covers numeric and s0 paths in Zarr v2 and v3 stores;
  • smoke-loads every implementation module and all 32 command entry points; and
  • marks the retained legacy feature-writer failures with unconditional strict xfails until U3 replaces that writer.

The earlier Python 3.14 failure came from uv 0.7.13 selecting Python 3.14.0b2. CI now uses uv 0.12.4 and asserts a final interpreter. There is no separate dependency-string or minimum-dependency test.

Validation: 48 tests pass with two expected legacy-feature-writer xfails; stable Python 3.14.7 with Pydantic 2.13.4 passes.

The next stack layer is uermel/zarr-v3-u2-delegated-writers.

@uermel
uermel force-pushed the uermel/zarr-v3-u1-metadata-readers branch from e10fd7a to 66dc626 Compare August 18, 2026 21:16
@uermel
uermel merged commit 63e6273 into v2.0 Aug 18, 2026
7 checks passed
uermel pushed a commit that referenced this pull request Aug 18, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-alpha.1](copick-utils-v1.8.0...copick-utils-v2.0.0-alpha.1)
(2026-08-18)


### ✨ Features

* delegate feature persistence to copick
([#95](#95))
([71b8290](71b8290))
* resolve tomogram levels from OME metadata
([#93](#93))
([63e6273](63e6273))


### 🐞 Bug Fixes

* bump actions/setup-python from 6 to 7
([#80](#80))
([45aed3d](45aed3d))
* bump chanzuckerberg/github-actions from 6.29.4 to 6.32.0
([#82](#82))
([9e5da98](9e5da98))


### 🧪 Tests

* establish Zarr migration baseline
([#94](#94))
([d55fc36](d55fc36))
* verify delegated canonical writers
([#96](#96))
([0c9e5cd](0c9e5cd))


### ⚙ Continuous Integration

* configure v2 alpha releases
([0696b9b](0696b9b))
* gate releases on validated artifacts
([#97](#97))
([ae873d3](ae873d3))

---
Merging this PR will publish a copick-utils alpha prerelease to PyPI.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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