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.9.tar.gz (82.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.9-py2.py3-none-win_amd64.whl (43.5 MB view details)

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.9-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.3 MB view details)

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

bids_validator_deno-2.2.9-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (43.0 MB view details)

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

bids_validator_deno-2.2.9-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.9-py2.py3-none-macosx_10_12_x86_64.whl (42.7 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.9.tar.gz
  • Upload date:
  • Size: 82.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.9.tar.gz
Algorithm Hash digest
SHA256 e09e776ab8d3c123213019b625eff1e090d8cadec0ca9487baf3de176b1a222a
MD5 5be17d447051071f87e4033862d90e85
BLAKE2b-256 079e79f1b770c2a1f26e8139de1d7a0aca2023feb83434e89c5d4e31c04a49fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.9-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 51fac43b719614c6ea7fbfaf48307cb2dcb3ba6509939ee2d92662355f117489
MD5 2f529a5b92b926206bc6ff6ebfb8df7f
BLAKE2b-256 9964f8a2e59d88758cd6d8e4c79a5e4b6fc0305cbf3b4ab795882b1bbda8fd17

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.9-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.9-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.9-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d0d5a3cb6c9c9bbf9a6669a6d943ef21db1dbc244ced37bad0d5908a9ac9a63
MD5 6259a3cb7eab5054b7eeeec5a9c5d8e5
BLAKE2b-256 b9b8de698bd3fe484a7338dca7a5d32ec48eb34a177ca0929a0664aa8243ba74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.9-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 14fa4e14f9bf45609c972d6773f7d3c09677fd45213224d284e7133637751903
MD5 8de0976d085890d921594d5be19dca73
BLAKE2b-256 88352b2d9266fa903e3598e2b32e622b997b667703303ac7619bd20f9d4a756b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.9-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7aed52409a3cec4a12844cb149c8cb8baf2bd543488bb5dfa641d181f158a109
MD5 05bef370a0b068b1f847e673f74c7f64
BLAKE2b-256 7a2ec36793055fb6e33b8877059e7b06588cde9f8d5062b7b284e82eb6c31153

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.9-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9b6c826d041e10bed1b97fe6df0ab48dde0123653d6c7725b30520e4ef14e656
MD5 a00b9c627d3ca2db52efe06cc7d26066
BLAKE2b-256 b8f42ac71390dcdfafac74b4d886a481748f376b952d80812baefdf0bd4e4cb0

See more details on using hashes here.

Provenance

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