Skip to main content

Typescript implementation of the BIDS validator

Project description

Deno build Web validator Documentation Status DOI

The BIDS Validator

The BIDS Validator is a web application, command-line utility, and Javascript/Typescript library for assessing compliance with the Brain Imaging Data Structure (BIDS) standard.

Getting Started

In most cases, the simplest way to use the validator is to browse to the BIDS Validator web page:

The web interface to the BIDS Validator with the "Select Dataset Files" button highlighted. (Dark theme) The web interface to the BIDS Validator with the "Select Dataset Files" button highlighted. (Light theme)

The web validator runs in-browser, and does not transfer data to any remote server.

In some contexts, such as when working on a remote server, it may be easier to use the command-line. The BIDS Validator can be run with the Deno runtime (see Deno - Installation for detailed installation instructions):

deno run -ERWN jsr:@bids/validator

Deno by default sandboxes applications like a web browser. -E, -R, -W, and -N allow the validator to read environment variables, read/write local files, and read network locations.

A pre-compiled binary is published to PyPI and may be installed with:

pip install bids-validator-deno
bids-validator-deno --help

Configuration file

The schema validator accepts a JSON configuration file that reclassifies issues as warnings, errors or ignored.

{
  "ignore": [
    { "code": "JSON_KEY_RECOMMENDED", "location": "/T1w.json" }
  ],
  "warning": [],
  "error": [
    { "code": "NO_AUTHORS" }
  ]
}

The issues are partial matches of the issues that the validator accumulates. Pass the --json flag to see the issues in detail.

Development tools

From the repository root, use ./local-run to run with all permissions enabled by default:

# Run from within the /bids-validator directory
cd bids-validator
# Run validator:
./local-run path/to/dataset

Schema validator test suite

# Run tests:
deno test --allow-env --allow-read --allow-write src/

This test suite includes running expected output from bids-examples and may throw some expected failures for bids-examples datasets where either the schema or validator are misaligned with the example dataset while under development.

Modifying and building a new schema

To modify the schema a clone of bids-standard/bids-specification will need to be made. README and schema itself live here https://github.com/bids-standard/bids-specification/tree/master/src/schema.

After changes to the schema have been made to a local copy the dereferenced single json file used by the validator will need to be built. The bidsschematools python package does this. It can be installed from pypi via pip or a local installation can be made. It lives in the specification repository here https://github.com/bids-standard/bids-specification/tree/master/tools/schemacode

The command to compile a dereferenced schema is bst -v export --schema src/schema --output src/schema.json (this assumes you are in the root of the bids-specification repo). Once compiled it can be passed to the validator via the -s flag, ./bids-validator-deno -s <path to schema> <path to dataset>

Documentation

The BIDS validator documentation is available on Read the Docs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bids_validator_deno-3.0.0a3.tar.gz (110.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bids_validator_deno-3.0.0a3-py2.py3-none-win_amd64.whl (46.6 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (47.7 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (46.3 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

bids_validator_deno-3.0.0a3-py2.py3-none-macosx_11_0_arm64.whl (44.0 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-3.0.0a3-py2.py3-none-macosx_10_12_x86_64.whl (46.4 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

Details for the file bids_validator_deno-3.0.0a3.tar.gz.

File metadata

  • Download URL: bids_validator_deno-3.0.0a3.tar.gz
  • Upload date:
  • Size: 110.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bids_validator_deno-3.0.0a3.tar.gz
Algorithm Hash digest
SHA256 2551dbb7946523a21aa89f19469f1d9de52174b275467a4bbac1e22e1a94c076
MD5 9b47c91bac9cce21d7779ea9f541cee9
BLAKE2b-256 1277e9db248b05bd9d59eeff51b0020d1e71c5f47aa8d25df259f4c7a93843b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3.tar.gz:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bids_validator_deno-3.0.0a3-py2.py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a3-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dcd22c4ee34e235a610eb314157d7b1c2cdf3d967ec752a9af4993291fbac91b
MD5 106a889c7040c5a4b0a3f279bb406565
BLAKE2b-256 ec707e80d059ec93aa8e386135d4b3037e6172c4154b56aaef974be0bb7389bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3-py2.py3-none-win_amd64.whl:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1ec0451af15c29df77a320fa66e58580fd48de5348f9139c764857b4e81c31f
MD5 aa49788f11d21398b305b645adbaf551
BLAKE2b-256 8b67fd985b74d4dfc5f8ebe3f845035faa116068554957d0de41174c63e4cf66

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e2f96c23d1b07aa720826a289e92812a6e49487a87722a56ba6a505a5c0a96be
MD5 ab049ea5823a73c7767964a506b8d363
BLAKE2b-256 b49fbedb9f0a18fa933198b0036cdc7250efa71502b63fab8c607f04ce5c7f81

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bids_validator_deno-3.0.0a3-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a3-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9f50f6442b88aee21a1afae93f2ee48dadf139c0e8e05c05ea5fee0b07e6475
MD5 b7fd01877991620d8979b6018d47ca2c
BLAKE2b-256 9a442d6381ed1061d88194b7d6952f2d8b8e71f0069ef193b879ebc90ff05103

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3-py2.py3-none-macosx_11_0_arm64.whl:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bids_validator_deno-3.0.0a3-py2.py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a3-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 299a9be311cb6f4efa90819c9a6510baf2f7b740688be7b53f6325056828094f
MD5 d9b8bcffc9c25d2078e3eba713d2d957
BLAKE2b-256 bb6a689a4c354220cbd6114e708517d8f7ba723bfebcd445484635d96a59ae2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a3-py2.py3-none-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on bids-standard/bids-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page