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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.3.2-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.7 MB view details)

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

bids_validator_deno-2.3.2-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (43.5 MB view details)

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

bids_validator_deno-2.3.2-py2.py3-none-macosx_11_0_arm64.whl (41.1 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

bids_validator_deno-2.3.2-py2.py3-none-macosx_10_12_x86_64.whl (43.2 MB view details)

Uploaded Python 2Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: bids_validator_deno-2.3.2.tar.gz
  • Upload date:
  • Size: 83.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.3.2.tar.gz
Algorithm Hash digest
SHA256 2f8108092c5ea9a26ff110ceb7460f93cf9d470efbcf0eea99881a5c2380d475
MD5 4781ae5f91d47abfc9837cf2fae9d439
BLAKE2b-256 802a180c25267a94531406aee6ba0da0f7a032fe17c09e188c11624ce756b9a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.2-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cbc69caa4c1713d09f4286e33d2c7cbaa96058a0e7ccced27c56539841a4a782
MD5 8d0b18cb0b4d71de8054119eebd6ceec
BLAKE2b-256 696ef476281220de95b7e6c9ae5b3c36eede61abe6ff8e67ef69c45e0b1612c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.3.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.3.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.3.2-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52453fcf49542d50110ebd23acdfd31550815c24a1d5539686cf59b2d7e2f17b
MD5 b065ca06c2ea6d4dff0116f59d4776d7
BLAKE2b-256 55a420a18be3cc46be1d3fd9987520f5a46aa4f159d8e963f14805ed6d7cf7dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.2-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 468a77a36ad187571fc7d5d0f0ec2b8bb5183eb98115dedc585b2278772bd88c
MD5 89808c40ead545fdf2654982067f2a0e
BLAKE2b-256 8ba29c750e437864d89866771ea48f5fbb3984d2f3f9d0f5026ce5ee23e64e05

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.2-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d0973fff07e0b5fafcc7b4b6e2a7ed8603df96c9081cb3fb412a5e06ce5becd
MD5 15715b2182619fe38d13253ff48197ec
BLAKE2b-256 d353ecae971a383e451d02f7d44f9ce227ff0f0832a72dca5c6c95d556ac48e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.3.2-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 264c86d95e2f0efe6ebef7fe7ee680a8c5f07b105bfb04d06815b6e64e4fce78
MD5 56770f7226076a1117a5cc279418fb14
BLAKE2b-256 cf22ec4d2c2df63d44a925d3122038a405470e9dbd02e9f23130686c05d72cef

See more details on using hashes here.

Provenance

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