VIDS Validator
Reference validator for the VIDS (Verified Imaging Dataset Standard) specification.
Zero dependencies. Python 3.8+. One command.
Install
pip install vids-validator
Usage
Command line
# Validate a dataset (auto-detects profile from .vids marker)
vids-validate /path/to/dataset
# Explicit Full profile validation
vids-validate /path/to/dataset --profile full
# JSON output (for CI pipelines)
vids-validate /path/to/dataset --json
# Save report to file
vids-validate /path/to/dataset --output report.json
Python API
from vids_validator import VIDSValidator
validator = VIDSValidator("/path/to/dataset", profile="auto")
report = validator.validate()
print(report["Summary"]["Status"]) # "PASS" or "FAIL"
print(report["Summary"]["Passed"]) # number of rules passed
As a module
python -m vids_validator /path/to/dataset
What it checks
21 validation rules across 6 categories:
| Category | Rules | Scope |
|---|---|---|
| Structure (S001–S006) | .vids marker, dataset_description.json, participants, README, subject/session dirs |
All profiles |
| Imaging (I001–I004) | NIfTI files, sidecar JSONs, valid JSON, naming convention | All profiles |
| Annotation (A001–A005) | Annotation directory, segmentation files, sidecars, provenance fields | All profiles |
| Quality (Q001–Q003) | Quality directory, quality summary, annotation agreement | Full only |
| ML (M001–M002) | ML directory, splits.json | Full only |
| Metadata (D001) | CHANGES.md | All (WARN) |
A dataset is compliant if and only if zero rules have FAIL status.
Profiles
- POC (15 rules) — quick prototypes, pilots, internal research
- Full (21 rules) — production, publications, regulatory submissions
The profile is declared in the .vids marker file at the dataset root.
Exit codes
0— validation passed1— validation failed
Links
License
Apache License 2.0 — see LICENSE.
VIDS was created by Princeton Medical Systems and is maintained as an open community standard.
Metadata
Release files for vids-validator 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vids_validator-1.2.1.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vids_validator-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.0 kB
Release files / vids_validator-1.2.1.tar.gz
| Download URL | vids_validator-1.2.1.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aab2b30f2d31e1d23f558e98ac651c64b452ee3433222b4543590c1ae59e3691
|
|
BLAKE2b-256 checksum How to use checksums |
6a62e93b548d833f194c5e21222e4eaa7bd54f49b422b35849e8891d3900eebe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.12
|
Release files / vids_validator-1.2.1-py3-none-any.whl
| Download URL | vids_validator-1.2.1-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e15b440090b8444288f74fb763bd8a2e946b9a027e48ea0876883696479b0264
|
|
BLAKE2b-256 checksum How to use checksums |
bc6cc348d18008277cd0af7a874ddebf3c3e7bba06a80654e2b4afbdf5ac33d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.12
|