Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting ready for schema based bids-validator #1288

Open
sappelhoff opened this issue Aug 6, 2024 · 5 comments
Open

Getting ready for schema based bids-validator #1288

sappelhoff opened this issue Aug 6, 2024 · 5 comments
Labels
bids bids-validator needs interaction with https://github.com/bids-standard/bids-validator maint
Milestone

Comments

@sappelhoff
Copy link
Member

Currently there are two BIDS validator "builds":

  1. the "legacy" validator, implemented mainly with custom Java Script
  2. the "schema" validator, based on the BIDS schema

We use the legacy validator, but the schema validator will sooner (!) or later replace the legacy validator.

The schema validator will also be more accurate in covering the BIDS specification and might raise errors where the currently used legacy validator remained silent.

We should prepare for a switch, and the potential fixes at mne-bids that this may involve ... or at least be aware of it.

@sappelhoff sappelhoff added maint bids bids-validator needs interaction with https://github.com/bids-standard/bids-validator labels Aug 6, 2024
@sappelhoff
Copy link
Member Author

@hoechenberger
Copy link
Member

+1 on switching sooner than later

@sappelhoff sappelhoff pinned this issue Aug 19, 2024
@sappelhoff sappelhoff added this to the 0.16 milestone Aug 19, 2024
@sappelhoff
Copy link
Member Author

I think the right way would be to add an additional CI run to our suite that uses the schema validator, and then to try and make these tests pass bit by bit.

See also: https://github.com/bids-standard/bids-examples/blob/7c18d6840982518a0251cfeb59fe5c4610099ea1/.github/workflows/validate_datasets.yml#L69-L75

@sappelhoff
Copy link
Member Author

@sappelhoff sappelhoff modified the milestones: 0.16, 0.17 Nov 13, 2024
@sappelhoff
Copy link
Member Author

This will also involve updating the contributor documentation:

mne-bids/CONTRIBUTING.md

Lines 63 to 95 in 0042486

### Install the BIDS validator
For a complete development setup of `mne-bids`, it is necessary to install the
[BIDS validator](https://github.com/bids-standard/bids-validator).
The outputs of `mne-bids` are run through the BIDS validator to check if the conversion
worked properly and produced datasets conform to the
[BIDS specification](https://bids-specification.readthedocs.io/en/stable/).
To install the **stable** version of `bids-validator`, please follow the instructions
in the [bids-validator README](https://github.com/bids-standard/bids-validator#quickstart).
You will need the "command line version" of the bids-validator.
To install the **development** version of `bids-validator`, see the
[contributor documentation of bids-validator](https://github.com/bids-standard/bids-validator/blob/master/CONTRIBUTING.md#using-the-development-version-of-bids-validator).
In brief, the most convenient installation can be done using `conda`.
In your `conda` development environment for `mne-bids` simply call:
```Shell
conda install -c conda-forge nodejs
npm install --global npm@^7
npm install --global bids-validator
```
This would install the **stable** `bids-validator` and make it globally available
on your system.
Check your installation by running:
```Shell
bids-validator --version
```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bids bids-validator needs interaction with https://github.com/bids-standard/bids-validator maint
Projects
None yet
Development

No branches or pull requests

2 participants