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.2.6.tar.gz (80.1 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.2.6-py2.py3-none-win_amd64.whl (42.9 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.6-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (43.8 MB view details)

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

bids_validator_deno-2.2.6-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (42.5 MB view details)

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

bids_validator_deno-2.2.6-py2.py3-none-macosx_11_0_arm64.whl (40.6 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.2.6-py2.py3-none-macosx_10_12_x86_64.whl (40.8 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.6.tar.gz
  • Upload date:
  • Size: 80.1 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.2.6.tar.gz
Algorithm Hash digest
SHA256 0f9f9dc5342f7edfa0cc32d64e5675ed195378549d007de8b0e708361a8b81ae
MD5 57672a976ba4eb8863ab9d97a3cad422
BLAKE2b-256 9c1ba0bea96ca3558aef0e0116bc507ef4332ae5633f8211d02ed01e7de6d9f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.6-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b2f035495b261a0900f5ee11f5b01d3b6ee8fe060b729ccc24e6a30e74579512
MD5 eb4e7a497eb75ae660d7515626d7e35c
BLAKE2b-256 3ec5e6dfe6d1f4648ea7931d517a68afbef99febbc6ca20218cc29d8f3a4a860

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.6-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6756f8115310bbaf596ad072ce1adf669b66322333bcf1f307cec741c3addc0
MD5 1987c9afbe166fc8fab13b18234bd745
BLAKE2b-256 9892aae623dabef07d86aea4ac1c686792b1645bb8388e9995e33b07a928d4a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.6-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 92eb96a8682a85be5f2ee3afbd4b2862159aad787c54dca7d2cb9ba778b8957a
MD5 e3b83fe48910c36ede938f8889db317e
BLAKE2b-256 4a17c127b564f7b7ca0026618a6beb8266491593dad432e9a24afa38df6da606

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.6-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1cafe322e8bdd860c2ecf48b42d6ddbd861fb6c9461d926b76a65ec62201907d
MD5 08cfef3b582be7937d203a5aee1268f0
BLAKE2b-256 9aa72afe17ded8fe46c8cd71f516dcfb6873ae11c62f2a98a49eed2d7d21bdd3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.6-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9334015c7a200457e4210b0beba907c0e9d496e6566726367b766b87fcb40c1f
MD5 9ddfb0e51c9d5afd75cb3ddc8172f263
BLAKE2b-256 f00ffa1a69bb3340cabf220f86c66153f048fa445d441110d812baba054db06b

See more details on using hashes here.

Provenance

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