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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.0-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.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: bids_validator_deno-2.2.0.tar.gz
  • Upload date:
  • Size: 76.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.0.tar.gz
Algorithm Hash digest
SHA256 ce4e0d8d085ee1a6ec99069db27b1613342cefe3e226f92348f021fe760577a6
MD5 bab7e7c7d79460371cb5f3799d2a4007
BLAKE2b-256 4613cff1d2662753265334f40869e3a0fd77a5d58b28a10d6dfdc1507d03bead

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.0-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c78916c602851e67c56ec797eb89cae2f939b001f3bdc29ef307c7fd1c851ec7
MD5 db122443686cf26913f283c8fee70d0d
BLAKE2b-256 0076494ab26943b4a82b04a8c8da5b3a2e6ed54a02cf17402dc874cbed563167

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.0-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.0-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.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 042b66d6621387301daeddf8fc444032cff15e34fbdfc187f9a606593602195a
MD5 59d5d857383cf96926612d6527aaf0dc
BLAKE2b-256 72c5f70faeb1686a8599009ba3d518ee141a55e9051c2019920a58ac8c41844a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.0-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e4ad94f25b169846cb9b169866916c6bc2f016dc16dbfb6e24236ec0d6cd439
MD5 b8ba9a1c083b8279239601e263787c56
BLAKE2b-256 ef1e65c815ad6a7fe42528f813c33abaf71f5e5d09b6409dbc8e06e955f1f817

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.0-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 155e0838aad2ab41579fed05b1044b28eee10d1cd5b6c54721212f11cd92df9d
MD5 83dadcb86fdab82a9c66f4eea143bf48
BLAKE2b-256 980d8574910cb08d00d61ecf875831e5d094d5d5dcf8d3b874f2f7bd2e3069a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.0-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a259d74fd97e5f26109c4c7c26646901763490f53781e3238c8fc04a677f4355
MD5 1198f0e5ca95c7538ae22a9a5eceab36
BLAKE2b-256 1aa33a6ba616dea4767174202f8458240639bad0886d930ddf079a9449bf1718

See more details on using hashes here.

Provenance

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