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.0a0.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.0a0-py2.py3-none-win_amd64.whl (46.6 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-3.0.0a0-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.0a0-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.0a0-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.0a0-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.0a0.tar.gz.

File metadata

  • Download URL: bids_validator_deno-3.0.0a0.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.0a0.tar.gz
Algorithm Hash digest
SHA256 051dd47b734773aa4167d1650037b6cbbd543128a4e5ad100fe0c945c2da9344
MD5 6bb06c3215456c83d1500188a97ca5ab
BLAKE2b-256 0ff2fdc5cb4ddc69590f4db8dfe5b2f03aeefab1e660a8fee62ecf1d3112b72e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0.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.0a0-py2.py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a0-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e404e4c14975fe0c56282a9db230c17878b105958b0a6cc54767f02af65d99d5
MD5 08e674223db7939b23e1a5b971491b29
BLAKE2b-256 f30914e1856a6b88ebf4e1e23c4175e725c6c40cf562e055faf8107a02770775

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0-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.0a0-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.0a0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25ebedc88315aeca9cafff6607efe6cf82560d9fb8781f55f4d77c747e7edae4
MD5 fc8e747016df67ca5c2b8850c8f60d02
BLAKE2b-256 62ab600bc19f7e6cf3453a6aee556f318d0ff74f7cfe88773a11a587e9fc9d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0-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.0a0-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a0-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2f8211107145b0c95db69fc83479d905a1d371e038a56277e597f729ea01d3ba
MD5 e250805ea1a1ec62aba6525abb0192cf
BLAKE2b-256 3ef7411bf8d88a00961087d372e5e2774feaf2ebad47ab02603b5f6aa2029678

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0-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.0a0-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a0-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7949ae030bb1cf5986874c4dc0ca710e5a399e0bf87c96037ca3f8803c611eb6
MD5 30efee7c912caad170ccd085e644cbdc
BLAKE2b-256 aed025fa9dd4e897372257493fd3cd61860dd910c5efb9185008ce6fbc6bf5f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0-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.0a0-py2.py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-3.0.0a0-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 956ea982121fbc2232ecff3f05a5314bed73e211fb594297fd68374f8b694f90
MD5 22181e0a42213fa3598f19b8ef51da3e
BLAKE2b-256 eb9ad5637dc5811adcb0516c235ec15ead260209cb20325f83ddd7de676ffdef

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-3.0.0a0-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