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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.2-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (43.0 MB view details)

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

bids_validator_deno-2.2.2-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (41.8 MB view details)

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

bids_validator_deno-2.2.2-py2.py3-none-macosx_11_0_arm64.whl (39.9 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.2.2-py2.py3-none-macosx_10_12_x86_64.whl (40.8 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 00535c881c3b2432e9a5120be313d232c02c25d77446a24bc0305e57c7ed9407
MD5 48cbe73b38440628c70fdf10ec85f37d
BLAKE2b-256 3e59ee2323592df4d1d0cbb5274168b04758fd966b9dbb22677a240014abfbb0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.2-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0ca3e7a44bcc2aab71042a3c9ae5043b3c69d513a6b3852b5e19dc08385f3cdd
MD5 768adb5d8413601bcdf18339df82cb0f
BLAKE2b-256 242476aab57bee807d97c62a6d435c164b08bfa5995372427e9a91a2566412e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.2-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.2-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.2-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 440e4d73a8798822c9dafb70f36e2fc36be56f67272ab1d2fa21510013be1f59
MD5 110621e85cf07f9b48249a453bd142b0
BLAKE2b-256 41744a7c4d5e6d6fde57695f8ef7c87df50f2cab0724a22fcc1d545f7657d165

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.2-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b46a415b532b4b5715df49f1a87167ac9788fefb72ce838daf72d286170f8fe2
MD5 a4a19ec222994da6b34d7876b7ae8b6a
BLAKE2b-256 7e4027eb855d953ce4ac4e8e1eb4e9ef639a3ca84822ff49f650ded71765ed41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.2-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f68d86fbf0f02afcb4726ef6bcb275fbe797f40c843f3ff83bda14849d3b132
MD5 08cff1a9df5a2d23846d063dc09bf2db
BLAKE2b-256 8c159c0753ff17798b1870f25b0fafc46c0a053abb5d96402d4421b75e579699

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.2-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 70a67d9eefb07cd53c19460381513ebb57a16fa6ca47db9c817c4b5c61dae51f
MD5 e2b68adcebbb560644b2974f4dab18e4
BLAKE2b-256 8882c7861b0a9d3e8e4a2216a3e62e39b445e2cb978a18ba71b75c1852567a7b

See more details on using hashes here.

Provenance

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