README
IMAS-Validator is a tool to validate IMAS IDS's through the use of general and case-specific validation rules.
Installation
Installation guide readthedocs
CLI
After installation process is completed one can run CLI application by executing imas_validator command in bash console
See imas_validator -h for more information
Documentation
Documentation is autogenerated from the source using Sphinx and can be found at the readthedocs
The documentation can be manually generated by installing sphinx and running:
make -C docs html
Examples
@validator("*")
def validate_ids_plugins_metadata(ids):
"""Validate mandatory attributes in the ids_properties.plugins."""
plugins = ids.ids_properties.plugins
for node in plugins.node:
assert node.path != ""
for name in node.put_operation:
assert name != ""
# etc.
@validator("gyrokinetics_local")
def validate_gyrokinetics_electron_definition(gk):
"""Validate that there is an electron species in the species AoS."""
for species in gk.species:
if species.charge_norm != -1:
continue
assert species.mass_norm == 2.724437108e-4
assert species.temperature_norm == 1.0
assert species.density_norm == 1.0
break
else:
assert False, "No electron species found"
@validator("core_profiles")
def validate_ion_charge(cp):
"""Validate that profiles_1d/ion/z_ion is defined."""
for p1d in cp.profiles_1d:
for ion in p1d.ion:
assert ion.z_ion.has_value
Metadata
Release files for imas-validator 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| imas_validator-1.0.0.tar.gz | 85.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| imas_validator-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 149.6 kB
Release files / imas_validator-1.0.0.tar.gz
| Download URL | imas_validator-1.0.0.tar.gz |
|---|---|
| Size | 85.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
132d73b7b7f24628e8e12a60381fc8c65bf1ed996f817c442a0a4d1124e8c63b
|
|
BLAKE2b-256 checksum How to use checksums |
cc899c8078134ac670815815cb0f89813324eeb26c65e1fe80bafd7e3d9327e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.
Transparency logRelease files / imas_validator-1.0.0-py3-none-any.whl
| Download URL | imas_validator-1.0.0-py3-none-any.whl |
|---|---|
| Size | 63.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c2e482aaf6988e74d71204a4dd3e1a7987dd7a38aa0c00fbf87d204a76f7719
|
|
BLAKE2b-256 checksum How to use checksums |
58ca17a035ddae1bbb6a0d42b91e2aea4092790be553dc337a0626636b7c49dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.
Transparency log