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.8.tar.gz (65.9 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.8-py2.py3-none-win_amd64.whl (43.6 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.0.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.1 MB view details)

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

bids_validator_deno-2.0.8-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (42.8 MB view details)

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

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

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.0.8-py2.py3-none-macosx_10_12_x86_64.whl (42.1 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.0.8.tar.gz
  • Upload date:
  • Size: 65.9 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.8.tar.gz
Algorithm Hash digest
SHA256 04874ae13d737ac647a09ca2ea58949bf2de992431dfc72c91e20fbb608f8536
MD5 5411258e7d324b1d7da797c2ad2aa21b
BLAKE2b-256 67fbb0700db97e2e104a685f14cba6a225e1d1bd2fdb3447f7b970a52d81519f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.8-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 11a45c8c281bc541dbf49c5c0771fa0d81bef29278e8ac619cbd44681ec91dc2
MD5 c1b2f777886927c603ecc0ce59e4518f
BLAKE2b-256 301aff583b270ef87a4eab05942b2c0470af4ab6421b09d63610b90c094d9b3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f77908ff41ecede61d08bd6b3e8b9ee118039760c333665998e49f60e1965951
MD5 930079665d99393f84229694efc3eb5d
BLAKE2b-256 6d74968f8bfe53fe64c2bbbc6746d20c7a9c317018997177fa2515cd84ab1480

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.8-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 71af3a9c3db1ff5ec40f2cb1b629f9efe7cc2686873c4cb9a6ae8e2662bba1c5
MD5 20d76bb2488702b2d9bec2d3db38ef34
BLAKE2b-256 e71c370894968c6c0373c849e1e156b0f0c9b16e2d4fd71d7a341177edaa971b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.8-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 235883d2df0187a16fcecc38f01fc9ffb966cb97d9fafea127abf4a1f8bf684c
MD5 4d4a1de2fd35b92b1e132d7b7a3f366a
BLAKE2b-256 7b9bcffa02d4b66c07fffa480c7de396f97b72f4401be8649172b21ac0a00b83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.8-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e2db0bf442be335e4adac5d3cdaf1e8c8de5a3a907aeb94ea5431f98c908105
MD5 8028988550b331fce43b5ebc8f7f43eb
BLAKE2b-256 1cd88621bf03c3cf46b9b43804779d697c3cec26fbe24a2bd2d73d7b2c2a37b8

See more details on using hashes here.

Provenance

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