Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

DANDI validation rejects Zarr v3 string arrays

未关闭
#1,918 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
70/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
numpy, python
领域
cli, data

调研方向

从 _ts_validate_zarr3 入口开始,使用提供的 Zarr v3 字符串数组示例重现失败,然后运行 dandi validate strings.zarr。跟踪验证如何处理报告的字符串 dtype,并将其与 Zarr-Python 可以读取的数组进行比较。当字符串数组能够成功通过验证,同时现有的数值数组和布尔数组检查仍然通过时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

I converted an IBL session while testing hdmf-zarr's v3 migration and tried uploading it to sandbox dandiset 218696. dandi upload stopped at validation:

[zarr.tensorstore_cannot_open] .../identifier
    Error opening Zarr array with tensorstore

All 113 string arrays fail this check. The other 176 numeric and boolean arrays pass. Opening identifier directly with TensorStore gives:

Error parsing object member "data_type": string data type is not one of the supported data types

This is enough to reproduce the validation error:

import numpy as np
import zarr

group = zarr.open_group("strings.zarr", mode="w", zarr_format=3)
array = group.create_array("identifier", shape=(1,), dtype=np.dtypes.StringDType())
array[0] = "hello"

Then run dandi validate strings.zarr (outside a dandiset it also reports DANDI.NO_DANDISET_FOUND).

I used DANDI 0.78.0, TensorStore 0.1.85 and Zarr 3.3.0, overriding DANDI's zarr<=3.1.5 pin. I also checked an array written with Zarr 3.1.5 and TensorStore rejects it with the same dtype error.

I think _ts_validate_zarr3 is rejecting an encoding that Zarr-Python can read. Its docstring already says it should go away after the Zarr-Python 3 migration. Could we use Zarr-Python to validate these arrays? What do you think?

主要语言
Python
星标
29
派生
37
平均合并
1 天 5 小时
30 天内合并 PR
20

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dandi/dandi-cli 的其他 Issue

查看 dandi/dandi-cli 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。