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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.8-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.8-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.8-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.8-py2.py3-none-macosx_10_12_x86_64.whl (42.8 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.8.tar.gz
  • Upload date:
  • Size: 82.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.2.8.tar.gz
Algorithm Hash digest
SHA256 8d0ae7252a0c5ac5dd34563db9047071c4b70196430dbb2939c38f1ddd7d30a5
MD5 3b1e9d2f8fca89b21e6b0a328390fdf0
BLAKE2b-256 17d4d6c73a74ee4767406cca955a2945233e377da05d0c442f3ddc43be68046c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.8-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 613cc083d882b09d04065a2d98de85e1039ef4883ad35bfa7ea705ccc13cf268
MD5 191aae79f52c99bb48c64869a42f1b89
BLAKE2b-256 969c3c4122651814e0e471e036597a8c39f75fffd4bf5213941ffaeace69edc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.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.2.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.2.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d2a81164603c3e1a399260fe56e600e15e3afd63607b4722de613693e47be986
MD5 bde09cacf051d7b320c9e65976bca5eb
BLAKE2b-256 8b867852f8cdb7c358c5e2cb1c27d02b8f07961ec7bdae1f40a806d7e33b1d35

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.8-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32530748b63064dd09f0a668da7e2f7b7340d7f4cb7ca8387967a810f531894d
MD5 4d50db1e458efacfb81424c1581697b2
BLAKE2b-256 6d5995e07754d308191c10d9baa8bc97a348be89b9ecee76530f8258b0e714f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.8-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e2227eaf6c4458c60a3e91c31e14a42c8e8c41e562e28625038a471e78ddfdc
MD5 a400770bf3677da5f8c084e49d3b4a26
BLAKE2b-256 b232705fe73f84c63245a5151e9b9d9de1001413250f8b1a22ab23960e040f1d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.8-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bb6a507ca0494d3e881d0d136d87d7677c93b960158ca72026377a1bd101aa1b
MD5 52b06b99973db9719dcd60350d33a1ad
BLAKE2b-256 d717f31e9cdce70b49309022ce3150ae0ab35009c97d213a40c6b30d8b5fa3d7

See more details on using hashes here.

Provenance

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