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.4.1.tar.gz (83.5 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.4.1-py2.py3-none-win_amd64.whl (44.0 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.4.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (45.0 MB view details)

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

bids_validator_deno-2.4.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (43.6 MB view details)

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

bids_validator_deno-2.4.1-py2.py3-none-macosx_11_0_arm64.whl (41.2 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.4.1-py2.py3-none-macosx_10_12_x86_64.whl (43.5 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.4.1.tar.gz
  • Upload date:
  • Size: 83.5 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.4.1.tar.gz
Algorithm Hash digest
SHA256 a79b4af2818a200ff5a597715a3c1050ae93be7cb523bcfef54b93af057d8466
MD5 689f0b52d8ea32b2798c9df930a1dd13
BLAKE2b-256 3ef9d536d65bf268275710e567ea335c1dfd6dd6b62d19899f4a76b9ee109e56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.4.1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 24106f32e5c9dcdcec095527300e0bf683f6f4df5fb19b49a91586491eaaee5e
MD5 fe63a053b71fdfbf055a237e726fa5c0
BLAKE2b-256 3c0ef269e72642df5cc110720828f2477c4b9c6dadaf0c347d9c97ab248ee880

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.4.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.4.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.4.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5087fcd13341f529b5404792a74e22f570e50f17e5ea4cabe9c91b1caf74cbf4
MD5 891b0fab358cb58c360c78125c46c99f
BLAKE2b-256 28154c2b1758ab7a628d9f1f401e6883ead26087a15940705a575e37450a0637

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.4.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f09c1e600cae71293ab5ae9ddc30aa56a871463837a020eb23b246fa2024c462
MD5 bd70dd54031f9cde65941edec4b561dd
BLAKE2b-256 4c6f7a8f0255e802b57ab40732264a5ee5b7cdf5910981ac6ca7338ea3559ce5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.4.1-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 45ecc93d9e6da8ff23529dc03c128ecc5f6527155dc0a10ec00aca020bcd250f
MD5 f5283b9ea379889e41866575b8089ed3
BLAKE2b-256 e461455215eb2379d32bb5e1b8526ddeef3998e3ed7a8d425d816829b6f3a704

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.4.1-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 18126fed28115efbe767fc3cb558c7ebb4d215b443ac8f005c78faaaf13e0518
MD5 15b75d37cd06c1d5587224a268826802
BLAKE2b-256 61f24e42217b9c522c2a5bcfeb5bd19950be85a928ab447ebb1ca8b6987ae603

See more details on using hashes here.

Provenance

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