Support NWB files stored as Zarr (`.nwb.zarr`)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
Direzione di ricerca
Inizia tracciando la gestione di NWB attorno a get_nwb_version, get_object_id, get_neurodata_types, _scan_neurodata_types, nwb_has_external_links, _get_pynwb_metadata e validate. Esamina il vincolo della dipendenza zarr e la discussione sulla versione di hdmf-zarr prima di decidere come dovrebbero funzionare i rami specifici del backend. Fatto significa che i file .nwb.zarr ricevono metadati NWB, validazione, controlli dei link esterni e la gestione di organize, invece di essere trattati come asset Zarr generici.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Same context as the other two issues, 1 and 2 but now I have realized (I should have thought about this before) that dandi-cli has no support for NWB stored as Zarr: a .nwb.zarr. Currently, this is handled as a generic Zarr asset, so none of the NWB machinery ever sees it.
In my specific case described on the issues above two things happend:
- The validation does not stop the upload in its tracks if the referenced videos are missing.
dandi organizeskips the.nwb.zarrfile silently, no entry, no warning, no error.
I am not sure adding support is mechanically hard but there is a dependency problem. Reading of the file is supported by the backend independent pynwb.read_nwb, which is able to handle the two backends as long as hdmf-zarr is installed. That covers _get_pynwb_metadata, and validate already goes through pynwb.validate(paths=...) on its main path. Then there are the following sites that read quickly and where doing the full nwb read is probably too heavy, they will require a backend specific branch:
get_nwb_version, which opens the file only to read one root attribute.get_object_id, same thing forobject_id.get_neurodata_typesand its_scan_neurodata_typeshelper, which walk the raw tree looking forneurodata_type.nwb_has_external_links, the gate that refuses files whose content lives in other files. hdmf-zarr has links with asourcetoo, so this ports the same way.
I can take the above if that makes sense for you but the thorny issue is dependencies. nwb.zarr will require Python 3.12 and zarr 3.2 or above, see the version discussion in hdmf-zarr. Currently you have zarr pinned to zarr>=2.18.0,<=3.1.5. Is there a reason for this? How could we move forward?
- Lingua principale
- Python
- Stelle
- 29
- Fork
- 37
- Merge medio
- 14h 58m
- PR unite (30g)
- 15
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dandi/dandi-cli
-
pynwb metadata: get neurodata typesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement UX zarr
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
I maintainer di solito rispondono entro 1 giorno
-
Log directory growing to untenable sizesForse di nuovo libera @CodyCBakerPhD l’ha presa 93 giorni fa e non c’è nessuna pull request aperta. Aperta
dandi/dandi-cli#1889 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dandi/dandi-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
UKGovernmentBEIS/inspect_ai#5802 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
no-human-ai/no_human#660 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
documentation need help question
Difficoltà 1/5 1-3 ore Idoneità per principianti 66/100
phonology024/babelscribe#26 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100