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

[Feature]: Describe check functions with a general schema language #357

Open
2 tasks done
garrettmflynn opened this issue Apr 5, 2023 · 3 comments
Open
2 tasks done
Labels
category: enhancement improvements of code or code behavior

Comments

@garrettmflynn
Copy link
Member

What would you like to see added to the NWBInspector?

To allow for consistent cross-language validation, it would be useful if it was possible for the checks implemented by the NWB Inspector to be specified using some JSON (or other) schema language.

According to @CodyCBakerPhD, this has been a request from a handful of other people in the NWB ecosystem. Particularly for me, this would be useful to implement a JavaScript validator used alongside webnwb to support client-side validation using a web interface.

From previous discussions about this issue, it sounded like it there would be some difficulties encoding some of the Python logic into a general schema language.

Do you have any interest in helping implement the feature?

Yes.

Code of Conduct

@garrettmflynn garrettmflynn added the category: enhancement improvements of code or code behavior label Apr 5, 2023
@bendichter
Copy link
Contributor

@CodyCBakerPhD
Copy link
Collaborator

Yeah checks with simple regex patterns and no false positive skip conditions are easy to translate to JSON

The problem is with the more intricate checks that rely on HDF5 links, Python class inheritance, or complex conditional logic for skipping false positives

@bendichter
Copy link
Contributor

Yes, declarative JSON has its limits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: enhancement improvements of code or code behavior
Projects
None yet
Development

No branches or pull requests

3 participants