Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`bids_version` is always `None` since the switch to bids-validator-deno

Abierto
#1,961 4 comentarios 0 reacciones 0 asignados Ver en GitHub

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
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
deno, python
Área
data

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

BIDS bug

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 BIDSVersion from the dataset's dataset_description.json (the version the dataset declares), and/or expose the validator's schema version, which is already in origin.standard_schema_version;
  • or drop bids_version and get_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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dandi/dandi-cli

Todos los issues de dandi/dandi-cli

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.