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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.0.7-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.3 MB view details)

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

bids_validator_deno-2.0.7-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (41.2 MB view details)

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

bids_validator_deno-2.0.7-py2.py3-none-macosx_11_0_arm64.whl (39.8 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.0.7-py2.py3-none-macosx_10_12_x86_64.whl (40.6 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.0.7.tar.gz
  • Upload date:
  • Size: 65.4 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.7.tar.gz
Algorithm Hash digest
SHA256 55a46dc9e134c2996ecb077896aad65e5320f3c864b41c47e108011f8fd1e2d1
MD5 5a2893d8599ab08e45b49ebc7ea03146
BLAKE2b-256 d35daeec32abff8e555ed2e8342196af4bd8ea7748328d180e0ffb679e316d86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.7-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d1549904b1740cbe4e02348708667c9ff43d2542a9f5553558970f95a1be0d07
MD5 9b1b18cf1eeb738c9bd9a24bea82678e
BLAKE2b-256 a482efe3ce07e6f94e9bc1c42d02ad43898f66cfb4f7a89415d27a6df6bd2a74

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.0.7-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.7-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.7-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41727861cd523e604da019744e177fced50fe4503fdabf8c460b794f007a7ab3
MD5 a61369491ebb8af56100df394b7225b1
BLAKE2b-256 448007bb3460abb8f7ade9052504ddc367a456d63a55732cf898b334e8dd590e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.7-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 22cb0af8e447029df0a696f908b80bbd7ab5cf54fec7b69dc7fd5f6967a231ba
MD5 f98646754c43d2448f8658c915c49ee4
BLAKE2b-256 f2025f709f6619e9fcf6c03e5b5b1d47d9fc031447f8d7b3819b245222e8647a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.7-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0555908aa1de04320c208f3d0132cb8906c1038c284da5159172afb1122ff97b
MD5 edfb0f8a5b42f8d8ddfd5f9503b04265
BLAKE2b-256 4a9b32f66476218387997edfc63fcffb72e5d1752ce46a84144815128170b7c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.0.7-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bee8c08dd518b194499715af4a15e7123ab85b56e1e1bf435a596dc95c6c0d6d
MD5 2d2f59de481027ac830c295b5e2d4580
BLAKE2b-256 61d235f08cf5229e182914aa1e852ce7f42014f6cd2f194ea37bfecc186735f0

See more details on using hashes here.

Provenance

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