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

Uploaded Python 2Python 3Windows x86-64

bids_validator_deno-2.2.3-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.3-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.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: bids_validator_deno-2.2.3.tar.gz
  • Upload date:
  • Size: 78.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.3.tar.gz
Algorithm Hash digest
SHA256 0da7e6734d75e4f29e2fc4c20860a314326cc7d6366e7b692833f3b70ed84ee7
MD5 82b24928ca24b60788779731299ebe27
BLAKE2b-256 b8489cb6deec4bd2ef9a7efb531d1950dd6f9860dc297e6518cbc57652779326

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.3-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 41992f9f8b81b51f4bbc5e86a3cbcafdbcf3b93e341d34db04053b72cea488f6
MD5 98a932d6338b251a08bfd9b312388f4d
BLAKE2b-256 a871b2ed340469aee52b1be5256eca76952efad0e78a3c504affe843d2097398

See more details on using hashes here.

Provenance

The following attestation bundles were made for bids_validator_deno-2.2.3-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.3-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.3-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5505842dfce5547595ee619f57ee6aac08d735e38421295b3f24e0fe5198251
MD5 547f46f9510d53f3d91bab11f29c2aa9
BLAKE2b-256 c7cc03e08c273f8810ba5eac525c245600444b19171707553728fd9d3471ebd5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.3-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4539834a014bcc9aa5ce1c2372674e8a2f96be8e4a0878254b209945fb654ed7
MD5 f0089a862dc892039d35d201e8ec0a1e
BLAKE2b-256 84f47ac8daec87f2d05473df7660d5c832d3a30a595130e19f9e3cf6316ad248

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.3-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bcb0d1f63b1fe0181978ae66e8255d220b147fd79201d67a32e82feac104d15e
MD5 4b798caa2702e24c6c77daece03ee74c
BLAKE2b-256 b55bf35acd24ab04452aad34c89d490745b0ee347ee4fb03fded386c87d3a874

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bids_validator_deno-2.2.3-py2.py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f768aead471d0c4041a5cac104444a75c560d71e75840dd6809da3f23f96dac4
MD5 7182ce64048d64f4660591636d6c7dd9
BLAKE2b-256 76aaf0f57f0c89a2d44fe302db23558ee707943a129193c010c90dfa4e72b243

See more details on using hashes here.

Provenance

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