`bids_version` is always `None` since the switch to bids-validator-deno
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 45/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 29
- Forks
- 37
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 20
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dandi/dandi-cli
-
pynwb metadata: get neurodata typesQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultPosiblemente ocupada @CodyCBakerPhD la tomó hace 1 día. AbiertoBIDS performance
dandi/dandi-cli#1962 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
dandi/dandi-cli#1920 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
Todos los issues de dandi/dandi-cli
Issues similares
-
fix formatting of the sample database page of the docsPosiblemente ocupada @Aaqibhafeezkhan la tomó hoy. Abiertodocumentation good first issue help wanted
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
chaoss/CollectOSS#544 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/plugin good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
kestra-io/plugin-soda#137 ·
-
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
ibm-granite/granite.build#504 ·
Los mantenedores suelen responder en 2 días
-
`LazyFrameRemote` and `ExecuteRemote` sinks do not accept `Path`, like `LazyFrame` sinks do.Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día