DANDI validation rejects Zarr v3 string arrays
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 70/100
調査の方向性
エントリポイント _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時間
- マージ済み PR(30日)
- 20
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dandi/dandi-cli のほかの issue
-
pynwb metadata: get neurodata types再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the result対応中かも @CodyCBakerPhD が 4 日前に担当しました。 オープンBIDS performance
dandi/dandi-cli#1962 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
BIDS bug
難易度 3/5 半日 初心者へのやさしさ 45/100
dandi/dandi-cli#1961 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
dandi/dandi-cli#1920 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
dandi/dandi-cli の issue をすべて見る
似ている issue
-
bug needs-triage priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
yeongseon/azure-functions-logging-python#583 ·
メンテナーはふだん 1 日以内に返信
-
documentation needs-triage priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
yeongseon/azure-functions-validation-python#546 ·
メンテナーはふだん 1 日以内に返信
-
PHP workflow streaming requests buffer the full SSE response対応中かも @Winoren が今日担当しました。 オープンreview: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
langgenius/dify#44270 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
P4: low
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jeffknupp/association#523 ·
-
bug help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
DarkStarSystems/pcons#229 ·
メンテナーはふだん 1 日以内に返信