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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (43.1 MB view details)

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

bids_validator_deno-2.2.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (41.9 MB view details)

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

bids_validator_deno-2.2.1-py2.py3-none-macosx_11_0_arm64.whl (40.0 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.2.1-py2.py3-none-macosx_10_12_x86_64.whl (40.9 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.1.tar.gz
  • Upload date:
  • Size: 78.0 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.1.tar.gz
Algorithm Hash digest
SHA256 19512b44e9b8912b6fd1527e1d5f526859c925855314f639a91712de675157a2
MD5 5d3814dabd122c9f59793fbe9ec364a6
BLAKE2b-256 a9c86fb9ce10cbd1085c83991bd535412ea10f7ad51aeb9422810bb4062f8ce9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 258277f306b2278b5dca4c787e71234a2eba4a984daec512ab581ec05c236510
MD5 8ebd814ba0e0597ff640c99f79636cbb
BLAKE2b-256 8019a91a541bce5293aa1de6d70344b1001417eb3a4cbbd9986dc0530106ec66

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.1-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.1-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.1-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5571b4db5fbfca87b6130f6077878eaaef8088f15d445714b2391cd63fea4182
MD5 696999a20680f45ee252fea95e7835a5
BLAKE2b-256 6a57e3b635a6282f5e286e5eccc6db1766c3879405e869ded1413a6e504a5904

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.1-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e04533a5f1179347587afd9ba1a6e365e4c15f6f64857d821146245651391bef
MD5 c28866d1fc3fefb18b100183c97c9cf3
BLAKE2b-256 9638f0829c034fbfafe3da647db1b4461893469b417cee8077be64656761e4dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.1-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c9ee8a48ac73fc677547e51093bc392d22ed1ec9049a616b192e7228822dcdb
MD5 f5261d2bf074a6d8d4f5d556188c6f9a
BLAKE2b-256 c093caf85072a0f633747ef8e7336f94bd4689d243442d70a81f0a6227b5a22f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.1-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 82e1df1f24ef1cfca3abf18bdddc647830b30cb921b6a0acbf8bd7597467cd8b
MD5 d91dda6fe8466d5664c4491561404135
BLAKE2b-256 a935c5ba47f4f16dcc3298621ede3dfad5898c002716087777a54ba8def1d062

See more details on using hashes here.

Provenance

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