Skip to content

Adopt copick 2.0 alpha and qualify the migrated viewer dependency stack #87

Description

@uermel

Parent Epic: #85

Objective

Adopt the published copick, copick-shared-ui, and ChimeraX-OME-Zarr alphas and replace the Zarr 2 mapping-style density-map existence check.

Published targets

copick

  • GitHub tag: copick-v2.0.0-alpha.1
  • Python: copick==2.0.0a1
  • Commit: 5b3aff2ae4bf9bcf85b4a1d4132205640171f85b

copick-shared-ui

  • GitHub tag: copick-shared-ui-v2.0.0-alpha.1
  • Python: copick-shared-ui==2.0.0a1
  • Commit: 3aa10791d02f7e11f36d092460a7248d76126c12
  • PyPI wheel: copick_shared_ui-2.0.0a1-py3-none-any.whl
  • SHA-256: c56d06ee53cffc7cda56a916d480793198e2311b099e7965c132ea27e43f6515
  • Contract: Python >=3.11, copick>=2.0.0a1,<3, zarr>=3.1.6,<4, and NumPy >=2.0.2
  • Upstream evidence: metadata-defined Zarr 3 thumbnails, 39 passing tests plus three opt-in remote skips, backend/concurrency validation, and green release CI on Python 3.11–3.14

ChimeraX-OME-Zarr

  • GitHub tag: v1.0.0-alpha.1
  • Python: ChimeraX-OME-Zarr==1.0.0a1
  • Commit: c6b4038f18e022e8f876cbf285a612a7e6448477
  • Wheel: chimerax_ome_zarr-1.0.0a1-py3-none-any.whl
  • SHA-256: fd9f0c49505237d200c65afafb24a088ee1f7eb8f8ab29e84991a358354684b0
  • Contract: Python >=3.14, ChimeraX Core >=1.13.dev202608172052, NumPy >=2.0.2, and zarr>=3.1.6,<4
  • Upstream evidence: runtime-alignment PR #19

Work

  • Declare copick[all]>=2.0.0a1,<3 and record the exact initial runbook selection as copick==2.0.0a1.
  • Declare copick-shared-ui>=2.0.0a1,<3 and record the exact initial runbook selection as copick-shared-ui==2.0.0a1.
  • Install the shared-UI alpha from PyPI, verify the resolved wheel SHA-256, and retain its downstream gallery/worker consumer tests despite the upstream green matrix.
  • Declare ChimeraX-OME-Zarr>=1.0.0a1,<2, ChimeraX-Core>=1.13.dev202608172052, and a Python 3.14 bundle floor.
  • Download the reader alpha wheel from its GitHub release, verify the recorded SHA-256, and install it before chimerax-copick; it is not currently listed on the public ChimeraX Toolshed package index.
  • Adopt later core, shared-UI, or reader alphas only through an explicit runbook selection update after the full downstream matrix passes.
  • Add NumPy as a direct runtime dependency.
  • Remove direct runtime declarations for pydantic, hatchling, aiohttp, and s3fs after installed-wheel tests confirm they are supplied by their owning packages.
  • Retain copick[all] so the application continues to install its advertised optional SMB backend; keep SMB non-gating.
  • Replace pick_obj.zarr() is not None and len(pick_obj.zarr()) > 0 with pick_obj.has_density_map(), one .zarr() call, and a clear error for an impossible true/None contract result.
  • Pass the returned store unchanged to open_ome_zarr_from_store(); add no direct Zarr import or OME parsing.
  • Build and inspect the wheel for the intended Python, ChimeraX Core, and dependency bounds.

Acceptance criteria

  • The clean exact environment installs copick==2.0.0a1, copick-shared-ui==2.0.0a1, and checksum-verified ChimeraX-OME-Zarr==1.0.0a1 on ChimeraX Daily 1.13 / Python 3.14.
  • The environment resolves one supported Zarr 3 version and no dependency requires Zarr <3.1 or permits Zarr 2/4.
  • The shared-UI PyPI artifact is used; a source-only checkout is not counted as the artifact gate.
  • The density-map success path calls has_density_map() once and .zarr() once.
  • Nonparticle and missing-density-map cases preserve current no-volume behavior.
  • A valid density-map store is passed unchanged to the viewer.
  • The bundle imports, starts, registers commands, and initializes shared UI from the built wheel.
  • chimerax-copick source contains no direct group/array open, codec, shard, store, or metadata implementation.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    zarr-v3-migrationMigration to OME-Zarr 0.5 and Zarr v3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions