[](https://github.com/bids-standard/bids-validator/actions/workflows/deno_tests.yml)
[](https://github.com/bids-standard/bids-validator/actions/workflows/web_build.yml)
[](https://bids-validator.readthedocs.io/en/latest/?badge=latest)
[](https://doi.org/10.5281/zenodo.3688707)
# 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)][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 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):
```shell
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.
```json
{
"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:
```shell
# Run from within the /bids-validator directory
cd bids-validator
# Run validator:
./local-run path/to/dataset
```
## Schema validator test suite
```shell
# 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](https://bids-validator.readthedocs.io/en/latest/).
[BIDS]: https://bids.neuroimaging.io
[BIDS Validator]: https://bids-standard.github.io/bids-validator/
[Deno]: https://deno.com/
[Deno - Installation]: https://docs.deno.com/runtime/getting_started/installation/
[PyPI]: https://pypi.org/project/bids-validator-deno/
Raw data
{
"_id": null,
"home_page": null,
"name": "bids-validator-deno",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "BIDS, BIDS validator",
"author": "bids-standard developers",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/23/bd/0acc33caaf0b547e9e624270a1131f6e92f1be3ae64ca209cd992a9230c8/bids_validator_deno-2.1.0.tar.gz",
"platform": null,
"description": "[](https://github.com/bids-standard/bids-validator/actions/workflows/deno_tests.yml)\n[](https://github.com/bids-standard/bids-validator/actions/workflows/web_build.yml)\n[](https://bids-validator.readthedocs.io/en/latest/?badge=latest)\n[](https://doi.org/10.5281/zenodo.3688707)\n\n# The BIDS Validator\n\nThe BIDS Validator is a web application, command-line utility,\nand Javascript/Typescript library for assessing compliance with the\n[Brain Imaging Data Structure (BIDS)][BIDS] standard.\n\n## Getting Started\n\nIn most cases,\nthe simplest way to use the validator is to browse to the [BIDS Validator][] web page:\n\n\n\n\nThe web validator runs in-browser, and does not transfer data to any remote server.\n\nIn some contexts, such as when working on a remote server,\nit may be easier to use the command-line.\nThe BIDS Validator can be run with the [Deno][] runtime\n(see [Deno - Installation][] for detailed installation instructions):\n\n```shell\ndeno run -ERWN jsr:@bids/validator\n```\n\nDeno by default sandboxes applications like a web browser.\n`-E`, `-R`, `-W`, and `-N` allow the validator to read environment variables,\nread/write local files, and read network locations.\n\nA pre-compiled binary is published to [PyPI][] and may be installed with:\n\n```\npip install bids-validator-deno\nbids-validator-deno --help\n```\n\n### Configuration file\n\nThe schema validator accepts a JSON configuration file that reclassifies issues as\nwarnings, errors or ignored.\n\n```json\n{\n \"ignore\": [\n { \"code\": \"JSON_KEY_RECOMMENDED\", \"location\": \"/T1w.json\" }\n ],\n \"warning\": [],\n \"error\": [\n { \"code\": \"NO_AUTHORS\" }\n ]\n}\n```\n\nThe issues are partial matches of the `issues` that the validator accumulates.\nPass the `--json` flag to see the issues in detail.\n\n### Development tools\n\nFrom the repository root, use `./local-run` to run with all permissions enabled by default:\n\n```shell\n# Run from within the /bids-validator directory\ncd bids-validator\n# Run validator:\n./local-run path/to/dataset\n```\n\n## Schema validator test suite\n\n```shell\n# Run tests:\ndeno test --allow-env --allow-read --allow-write src/\n```\n\nThis 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.\n\n## Modifying and building a new schema\n\nTo 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.\n\nAfter 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\n\nThe 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>`\n\n\n## Documentation\n\nThe BIDS validator documentation is available on [Read the Docs](https://bids-validator.readthedocs.io/en/latest/).\n\n[BIDS]: https://bids.neuroimaging.io\n[BIDS Validator]: https://bids-standard.github.io/bids-validator/\n[Deno]: https://deno.com/\n[Deno - Installation]: https://docs.deno.com/runtime/getting_started/installation/\n[PyPI]: https://pypi.org/project/bids-validator-deno/\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Typescript implementation of the BIDS validator",
"version": "2.1.0",
"project_urls": {
"Documentation": "https://bids-validator.readthedocs.io/",
"Issues": "https://github.com/bids-standard/bids-validator/issues",
"Source code": "https://github.com/bids-standard/bids-validator"
},
"split_keywords": [
"bids",
" bids validator"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6bbcc88b4e42e98583ffe835c4f25b68a993badfd2f2f01f893f32c0c1fbf715",
"md5": "11c256270293fa23a956ece562c5bcfe",
"sha256": "f100791400a8e0a1c6f78ed6a958ec120ee68b21da9b6aa24ca8e3becc55e1d3"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0-py2.py3-none-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "11c256270293fa23a956ece562c5bcfe",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 41935146,
"upload_time": "2025-09-03T20:24:50",
"upload_time_iso_8601": "2025-09-03T20:24:50.948766Z",
"url": "https://files.pythonhosted.org/packages/6b/bc/c88b4e42e98583ffe835c4f25b68a993badfd2f2f01f893f32c0c1fbf715/bids_validator_deno-2.1.0-py2.py3-none-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e73e83d4f71b4dde4f629115136a2ae7c33faa36c3e1a0a958ed1593b0c1f8fb",
"md5": "c950c03799801c58f27defccd60c7844",
"sha256": "77eb31e94c0659971b9c513018056c6b4bf53bfbe1ac6777b23c874a94e743d8"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0-py2.py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c950c03799801c58f27defccd60c7844",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 41161172,
"upload_time": "2025-09-03T20:24:54",
"upload_time_iso_8601": "2025-09-03T20:24:54.030724Z",
"url": "https://files.pythonhosted.org/packages/e7/3e/83d4f71b4dde4f629115136a2ae7c33faa36c3e1a0a958ed1593b0c1f8fb/bids_validator_deno-2.1.0-py2.py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6aed9ff8a8faca29c87e7921c41c6342be1b2861943e5c603b3e80871517d3be",
"md5": "85b85e34546aba05f498e26c35ed9c9a",
"sha256": "2d7b2ae9fda83d8a7bf4fa99b605dc3b80e9f21a5dbee83d90af89c6ea950a4b"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "85b85e34546aba05f498e26c35ed9c9a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 42764659,
"upload_time": "2025-09-03T20:24:56",
"upload_time_iso_8601": "2025-09-03T20:24:56.809089Z",
"url": "https://files.pythonhosted.org/packages/6a/ed/9ff8a8faca29c87e7921c41c6342be1b2861943e5c603b3e80871517d3be/bids_validator_deno-2.1.0-py2.py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f0f2b43c26d01241af874c512ddda122d90facd69e097d7b1009f9671d27e54",
"md5": "087fd14f55fc9c1fbee8e8d8ec8391d7",
"sha256": "8a5ba0e3259aa0d9ecd5d270cab7452df0ec95c86d613cca227694939ca71752"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "087fd14f55fc9c1fbee8e8d8ec8391d7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 43906901,
"upload_time": "2025-09-03T20:24:59",
"upload_time_iso_8601": "2025-09-03T20:24:59.963550Z",
"url": "https://files.pythonhosted.org/packages/6f/0f/2b43c26d01241af874c512ddda122d90facd69e097d7b1009f9671d27e54/bids_validator_deno-2.1.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8719cd044c410baf6b7ef455a48d20a1974aa1b38b4912a91a4e806a4390f25e",
"md5": "b5327cc1b22a10f8de34d9b43a0e4292",
"sha256": "ffa4eac1d91d052aedd7dde093297e1bbaf3ca6836d0cd78bc49a852a3344ede"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0-py2.py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "b5327cc1b22a10f8de34d9b43a0e4292",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 43528104,
"upload_time": "2025-09-03T20:25:02",
"upload_time_iso_8601": "2025-09-03T20:25:02.842643Z",
"url": "https://files.pythonhosted.org/packages/87/19/cd044c410baf6b7ef455a48d20a1974aa1b38b4912a91a4e806a4390f25e/bids_validator_deno-2.1.0-py2.py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23bd0acc33caaf0b547e9e624270a1131f6e92f1be3ae64ca209cd992a9230c8",
"md5": "d064c70831df49231b4f7c8444eb424b",
"sha256": "7c24549f81dd21b4cd48f07da9e5aaf4da064f8fe1e5aaea9728ee99bd82c8bd"
},
"downloads": -1,
"filename": "bids_validator_deno-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d064c70831df49231b4f7c8444eb424b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 70482,
"upload_time": "2025-09-03T20:25:04",
"upload_time_iso_8601": "2025-09-03T20:25:04.973533Z",
"url": "https://files.pythonhosted.org/packages/23/bd/0acc33caaf0b547e9e624270a1131f6e92f1be3ae64ca209cd992a9230c8/bids_validator_deno-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 20:25:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bids-standard",
"github_project": "bids-validator",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bids-validator-deno"
}