`bids_version` is always `None` since the switch to bids-validator-deno
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start in dandi/files/bids.py at _validate(), which reads origin.standard_version, then check dandi/bids_validator_deno/_validator.py where that field is commented out. Decide with maintainers whether to read BIDSVersion from dataset_description.json or remove bids_version and get_validation_bids_version(). Done means bids_version is populated or cleanly dropped, and nwb.get_metadata() no longer triggers a deno validation run.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
BIDSDatasetDescriptionAsset.bids_version is always None. So are BIDSAsset.get_validation_bids_version() and the bids_version key that dandi.metadata.nwb.get_metadata() adds for files in a BIDS dataset (shown by dandi ls).
_validate() takes it from self._dataset_errors[0].origin.standard_version:
https://github.com/dandi/dandi-cli/blob/ad8f64d9abeada4bf87b68eb1a69bea36895ba03/dandi/files/bids.py#L167-L170
But since #1599 switched to bids-validator-deno, the Origin never sets standard_version. It is commented out because BIDSVersion is not available from the validator:
https://github.com/dandi/dandi-cli/blob/ad8f64d9abeada4bf87b68eb1a69bea36895ba03/dandi/bids_validator_deno/_validator.py#L340-L350
Checked with bids-validator-deno 3.0.2 on ieeg_epilepsyNWB from bids-examples: all 76 results have origin.standard_version=None. Even before #1599, the version was set only if validation returned at least one result (if self._dataset_errors:).
Producing this None is not free: get_validation_bids_version() runs a full deno validation of the dataset when its results are not already cached. That is the case for every NWB file passed through nwb.get_metadata(), which creates a new BIDSDatasetDescriptionAsset each time.
Possible fixes:
- read
BIDSVersionfrom the dataset'sdataset_description.json(the version the dataset declares), and/or expose the validator's schema version, which is already inorigin.standard_schema_version; - or drop
bids_versionandget_validation_bids_version()if nothing needs them.
Found while reviewing #1958.
- Lingua principale
- Python
- Stelle
- 29
- Fork
- 37
- Merge medio
- 1g 5h
- PR unite (30g)
- 20
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
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultForse già presa @CodyCBakerPhD l’ha presa 1 giorno fa. ApertaBIDS performance
dandi/dandi-cli#1962 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
dandi/dandi-cli#1920 · 2 commenti ·
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
Tutte le issue di dandi/dandi-cli
Issue simili
-
fix formatting of the sample database page of the docsForse già presa @Aaqibhafeezkhan l’ha presa oggi. Apertadocumentation good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
chaoss/CollectOSS#544 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area/plugin good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
kestra-io/plugin-soda#137 ·
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 62/100
ibm-granite/granite.build#504 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno