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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.5-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.5-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.5-py2.py3-none-macosx_11_0_arm64.whl (40.6 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.5.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.5.tar.gz
Algorithm Hash digest
SHA256 f34bd0420d017fd433dbd2d945fc3e8626d2aa3b8123e8bc960562170a2ab5d9
MD5 277a8e2ad5b1a40eb186dfec2e5f81a7
BLAKE2b-256 b771ebe30e138dfae699be1567d04f714576c64d27c78274db0c18dea361918e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.5-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bca7dbe2046eaf8785385ba9dad41da5428304997038df0b099169ebe974c09c
MD5 003df5169f8fadd8d67827f9d4f673e9
BLAKE2b-256 c40efef45e59e3eca04fc4d3084d53177bcdcbf23c0d2d394776546469afeb41

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.5-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.5-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.5-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b3130a527ec20633f0d9b07d0258db92ee50d5435d90982f64ab1cd211eef81
MD5 676f17068665d183effdefa657045eb5
BLAKE2b-256 573e33f45cc30589662ec17a6c8576e6468c9f2efb8987031b8ff0d1b5f804bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.5-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe405945f129dfead5a7cb7e99b891ee3f33a33a3ad9353f6d32889353a5c976
MD5 9138a59582ef748b612477708f1a906d
BLAKE2b-256 34bb76e3dba706ad46e3c0f00a2918b8b477d096e59bc112e659aa989508c2b4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.5-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c2f418fb3b0c59e1feb748a4c28bead4ab1079b108cd59cb2040d36fdb9a229e
MD5 7246f836f2eb41eb55b400b992bc734f
BLAKE2b-256 1f3b57b3ddb5135f28c78ece45f5e24b8fcbbe3e90a1dcd871058043d5cdc77f

See more details on using hashes here.

Provenance

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

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