dandi validate

dandi [<global options>] validate [<options>] [<path> ...]

Validate files for data standards compliance.

Exits with non-zero exit code if any file is not compliant.

The validation results are automatically saved as a JSON Lines companion file next to the dandi-cli log file (unless --output is used or --load is active). Use --load to re-render saved results later with different grouping, filtering, or format options.

Options

-g, --grouping [none|path|severity|id|validator|standard|dandiset]

How to group the reported results. Repeat the option for hierarchical nesting, e.g., -g severity -g id. [default: none]

--ignore REGEX

Ignore any validation results whose ID matches the given regular expression

--min-severity [INFO|HINT|WARNING|ERROR|CRITICAL]

Only display results with severities at or above this level [default: HINT]

-f, --format [text|json|json_pp|json_lines|yaml]

Output format [default: text]

-o, --output <file>

Write the output to the given file instead of standard output. This requires a structured --format; if none is given, the format is inferred from the file’s extension (.json, .jsonl, .yaml, or .yml). --grouping cannot be combined with the json_lines format.

--summary, --no-summary

Whether to show summary statistics (counts of results by severity, validator, and standard) after the results [default: --no-summary]

--max-per-group N

Limit the number of results shown per group (or in total when not grouping); the excess is replaced by a count of omitted results

--missing-file-content [error|only-non-data|skip]

How to handle files whose content is unavailable, such as the broken symbolic links of a DataLad dataset (a git-annex repository) whose content has not been fetched:

error

Emit a concise DANDI.FILE_CONTENT_MISSING error for each such file (default)

skip

Skip each such file, emitting a warning

only-non-data

Skip content-dependent validators (pynwb, nwbinspector, …) for each such file but still validate its path layout

--load <file>

Instead of running validation, load previously saved results from the given JSON Lines file (e.g., an automatically saved companion file) and render them. Can be specified multiple times; cannot be combined with paths.

Development Options

The following options are intended only for development & testing purposes. They are only available if the DANDI_DEVEL environment variable is set to a nonempty value.

--allow-any-path

Validate all file types, not just NWBs and Zarrs

--devel-debug

Do not use pyout callbacks, do not swallow exceptions, do not parallelize.

--schema <version>

Validate against new schema version