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-2.3.1.tar.gz (83.0 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-2.3.1-py2.py3-none-win_amd64.whl (43.7 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.3.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.4 MB view details)

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

bids_validator_deno-2.3.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (43.1 MB view details)

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

bids_validator_deno-2.3.1-py2.py3-none-macosx_11_0_arm64.whl (40.8 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.3.1-py2.py3-none-macosx_10_12_x86_64.whl (42.9 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

Details for the file bids_validator_deno-2.3.1.tar.gz.

File metadata

  • Download URL: bids_validator_deno-2.3.1.tar.gz
  • Upload date:
  • Size: 83.0 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-2.3.1.tar.gz
Algorithm Hash digest
SHA256 5011f71c8ce406bab2145195107280e753b13bc9db9a0b37e23125603211947c
MD5 1828ad526d0e02a7dbf768628e7456ba
BLAKE2b-256 f893e53da5e299fe628ecd01e92bef2adf220cdc11931fb08e2b1a1c6eaaab13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e91639df500c59ae94d58c5d0ed6cdac95c2aa69badc4026eb8dc01050c2e24d
MD5 5eb536cd8a83afdfd1625ab7cb72ec22
BLAKE2b-256 349bbb35b85a9610b57d9ce14011d8b1ab35f896a42e9613e4e1c2512e75dbf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.3.1-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-2.3.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-2.3.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d593822cb28f84c9b8706381f705a337ee425fd7cf381e3080c6d617186caad9
MD5 218d1bf69cef997e1fe8c9c144d545d1
BLAKE2b-256 e195441295ec4df509aa7153af87d0cc840b2c41469cf5a059f3e93c3c86035a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e2c7f015edcd8b18a05a6b6d4af5356655474cf2237937ca50051c7dda3eb10d
MD5 d0bacd2e92ea33b74ebae0656cc318ee
BLAKE2b-256 c3962368dcfe6214b2e9b208fc4e23f5912e6bc4c8c09f62c687dec811b220c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.1-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91e7082aa7d1ba595333b67b0dc9a43d650f5658f7345cbacaa2cd20beae74de
MD5 f792e4c0c613be6cd9c1b474e5f74537
BLAKE2b-256 be9ecdb8887a32716a596370c30f213c27326ed39f94539deaddf8f94ba5e6f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.1-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dafff318d4451b438eb4d06f28f1c73fd2d1755da65288ff2ee2c5e50bd64b8c
MD5 5d2f4f99bb89b980d42c6fd505011ee0
BLAKE2b-256 46a7f54c1d79a928ef86890832795e8717109e91f6e66ae59996e93b706a257c

See more details on using hashes here.

Provenance

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