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.0.5.tar.gz (65.2 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.0.5-py2.py3-none-win_amd64.whl (41.6 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_24_x86_64.whl (41.8 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.24+ x86-64

bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (40.7 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.17+ ARM64manylinux: glibc 2.24+ ARM64

bids_validator_deno-2.0.5-py2.py3-none-macosx_11_0_arm64.whl (39.4 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.0.5-py2.py3-none-macosx_10_12_x86_64.whl (40.1 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.0.5.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bids_validator_deno-2.0.5.tar.gz
Algorithm Hash digest
SHA256 7316a373c0b326f1b9ec541aaeded5f6dc6e77631940ea08c2ce6fdc590e59ae
MD5 8abbd81d2a45473456067c9e505fbc1a
BLAKE2b-256 37772092b26d20bf4ad67688be5d366914b5626d3adc496299be2dda16b063b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.5-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9462c07aeeeaf9eb07777c14689f1c6cbf2ee7075c825ffde801e3c6d3a5b7e3
MD5 5b18991e9dcf1f7d7cf7b4fa1bf7b5c1
BLAKE2b-256 1b29de14f1cd7e26712b2516119b8eeba86b7b1534ab542d142357df1c31f1f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 db02e9bd2e7d58967b19a06a87961d4b0a1a41f450289c730f95eb7d184fe790
MD5 49c83ba882a2c284dec14eb05c7452bf
BLAKE2b-256 0b5b0babc5667234113f3f56c7265d3add0e38907f1683c2bfd4fdea79835756

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_24_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.0.5-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 7b676a27303d4d42b886d448964c1ec2502b1692ba440d51043b20e43778dc13
MD5 a9ff12799e4337c860ea9d640ef03e4c
BLAKE2b-256 58e8849f7776b78e28be23a9d70169f149dddde6a41525643a2665eb5c6b0df7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.0.5-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_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.0.5-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bids_validator_deno-2.0.5-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bc4c8f7d957900df30d7e10f7e07d790925a1a522fcf673b883bafd82e32981
MD5 8bc55c21ccdbd4c6f8798111de43d606
BLAKE2b-256 7ac94757153271c7bee628e909d5014bf98af0f188b1b45baf522cb762d275e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.5-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e7b0cd652a92c730ae00ad21e04ee430bc9cddad0bcdf5695a5fa47f17293568
MD5 80ee5101adb395579c7f86af453a15a3
BLAKE2b-256 60aa931caf28f86acaab8f588883372259c86b768b35b2bf193e501273cbcdb2

See more details on using hashes here.

Provenance

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