Skip to main content

openPMD Validator Scripts

Supported Python Versions License

This repository contains scripts to validate existing files that (claim to) implement the openPMD Standard in version 1.1.*.

Additional scripts to create random/empty files with the valid markup of the standard are also provided.

Rationale

These tools are intended for developers that want to implementent the standard. They were written to allow an easy implement-test-correct workflow without the hazzle to check every word of the written standard twice.

Nevertheless, these scripts can not validate 100% of the standard and uncovered sections shall be cross-checked manually with the words of the written standard.

For more information on requirements for implementations, please refer to the section Implementations of the openPMD standard. The repository openPMD-projects also lists a large collection of open source projects that already implement the openPMD standard.

Install

pypi version Spack Package Conda Package

Choose one of the install methods below to get started:

PyPI

# optional: append --user
pip install openPMD-validator==1.1.0.6

Spack

spack install py-openpmd-validator@1.1.0.6 ^py-h5py~mpi
spack load --dependencies py-openpmd-validator@1.1.0.6 ^py-h5py~mpi

Conda

conda install -c conda-forge openpmd-validator

From Source

wget https://github.com/openPMD/openPMD-validator/archive/1.1.0.6.tar.gz
tar -xf 1.1.0.6.tar.gz
cd openPMD-validator-1.1.0.6/

# optional: append --user
python setup.py install

Usage

CLI

We provide the command-line tools for individual files:

# optional: create dummy example files
openPMD_createExamples_h5

# validate
openPMD_check_h5 -i example.h5
#   optional: append --EDPIC for the Partice-in-Cell Extension

Module

Additionally, the validator tools can be used as Python module in your projects, e.g. to verify a file before opening it for reading.

Create:

from openpmd_validator import createExamples_h5


# create "example.h5"
createExamples_h5.main()

Check:

from openpmd_validator import check_h5


result_array = check_h5.check_file("example.h5", verbose=False)

print("Result: %d Errors and %d Warnings."
      %( result_array[0], result_array[1]))

Development

The development of these scripts is carried out per-branch. Each branch corresponds to a certain version of the standard and might be updated in case tests did contain bugs or we found a way to cover more sections of the standard.

Metadata

Release files for openPMD-validator 1.1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openPMD-validator 1.1.0.6
File Size Uploaded
openPMD-validator-1.1.0.6.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openPMD-validator 1.1.0.6
File Interpreter ABI Platform
openPMD_validator-1.1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 33.6 kB

Release files / openPMD-validator-1.1.0.6.tar.gz

Download URL openPMD-validator-1.1.0.6.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6ac3c744b2e0f5cdb6d89ee265b8c5d33bc2bf0fcbbd71a75dfd1d82f5d292ca
BLAKE2b-256 checksum
How to use checksums
8fdc43d986b4230920f59e8764fad1302769e9cb77864079d2296f762816749b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / openPMD_validator-1.1.0.6-py3-none-any.whl

Download URL openPMD_validator-1.1.0.6-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a3de687ef98d0054d5484a4c27951b6a0c51fa87db608a312e89ec4f002bb73
BLAKE2b-256 checksum
How to use checksums
8c55ef3f3ceb1db7938e92117f952e23d0348cad3dfdc98d55adbf915621efe2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.1.0.6 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page