dandi / dandi/dandi-cli

Validate (.ome).zarr against ngff schema using ome-zarr-models-py

Open
#1,409 9 comments 0 reactions 1 assignee Assigned to @candleindark View on GitHub
zarr
Dominant language
Python
Stars
28
Forks
37
Avg merge
1d 17h
Merged PRs (30d)
9

Description

A part inspired from
- #1281
and current problem of presumably having LOTS of non-compliant zarrs in the archive:
- https://github.com/dandisets/000108/issues/14

For any .zarr we encounter we should
- check if it is actually an OME .zarr. I think we can do that by looking for `.omero` top level key in .zattrs
- NB if that is the best way was asked:
- https://github.com/ome/ngff/issues/228

For any OME .zarr (be either detected through above or having `.ome.zarr` extension), validate that zarr against the specified version (if no version -- validation error)

```shell
❯ jq '.omero.version' .zattrs
"0.4"
```

of schema as provided on https://github.com/ome/ngff under `{schema_version}/schemas/` folder in `.schema` json files and issue corresponding validation errors to the users trying to upload non-compliant OME .ngffs.

TODO:
- [ ] check with https://github.com/ome/ngff and https://github.com/ome-zarr-models/ome-zarr-models-py folks on either may be it is worth just converting their models from jsonschemas into linkml? please check on those pydantic models functioning of pydantic2linkml .

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.