Validator and examples for openPMD format
Project description
# openPMD Validator Scripts
[![Build Status 1.1.X](https://img.shields.io/travis/openPMD/openPMD-validator/1.1.X.svg?label=1.1.X)](https://travis-ci.org/openPMD/openPMD-validator/branches)
![Supported Python Versions](https://img.shields.io/pypi/pyversions/openPMD-validator.svg)
[![License](https://img.shields.io/badge/license-ISC-blue.svg)](https://opensource.org/licenses/ISC)
This repository contains scripts to validate existing files that (claim to)
implement the [openPMD Standard](https://github.com/openPMD/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*](https://github.com/openPMD/openPMD-standard/blob/1.1.0/STANDARD.md#implementations)
of the openPMD standard. The repository
[openPMD-projects](https://github.com/openPMD/openPMD-projects)
also lists a large collection of open source projects that already implement
the openPMD standard.
## Install
[![pypi version](https://img.shields.io/pypi/v/openPMD-validator.svg)](https://pypi.python.org/pypi/openPMD-validator)
[![Spack Package](https://img.shields.io/badge/spack-py--openpmd--validator-blue.svg)](https://spack.io)
[![Conda Package](https://anaconda.org/ax3l/openpmd_validator/badges/version.svg)](https://anaconda.org/ax3l/openpmd_validator)
Choose *one* of the install methods below to get started:
### PyPI
```bash
# optional: append --user
pip install openPMD-validator==1.1.0.1
```
### Spack
```bash
spack install py-openpmd-validator@1.1.0.1 ^py-h5py~mpi
spack load --dependencies py-openpmd-validator@1.1.0.1 ^py-h5py~mpi
```
### Conda
```bash
conda install -c ax3l openpmd_validator==1.1.0.1
```
### From Source
```bash
wget https://github.com/openPMD/openPMD-validator/archive/1.1.0.1.tar.gz
tar -xf 1.1.0.1.tar.gz
cd openPMD-validator-1.1.0.1/
# optional: append --user
python setup.py install
```
## Usage
### CLI
We provide the command-line tools for individual files:
```bash
# 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:**
```python
from openpmd_validator import createExamples_h5
# create "example.h5"
createExamples_h5.main()
```
**Check:**
```python
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.
[![Build Status 1.1.X](https://img.shields.io/travis/openPMD/openPMD-validator/1.1.X.svg?label=1.1.X)](https://travis-ci.org/openPMD/openPMD-validator/branches)
![Supported Python Versions](https://img.shields.io/pypi/pyversions/openPMD-validator.svg)
[![License](https://img.shields.io/badge/license-ISC-blue.svg)](https://opensource.org/licenses/ISC)
This repository contains scripts to validate existing files that (claim to)
implement the [openPMD Standard](https://github.com/openPMD/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*](https://github.com/openPMD/openPMD-standard/blob/1.1.0/STANDARD.md#implementations)
of the openPMD standard. The repository
[openPMD-projects](https://github.com/openPMD/openPMD-projects)
also lists a large collection of open source projects that already implement
the openPMD standard.
## Install
[![pypi version](https://img.shields.io/pypi/v/openPMD-validator.svg)](https://pypi.python.org/pypi/openPMD-validator)
[![Spack Package](https://img.shields.io/badge/spack-py--openpmd--validator-blue.svg)](https://spack.io)
[![Conda Package](https://anaconda.org/ax3l/openpmd_validator/badges/version.svg)](https://anaconda.org/ax3l/openpmd_validator)
Choose *one* of the install methods below to get started:
### PyPI
```bash
# optional: append --user
pip install openPMD-validator==1.1.0.1
```
### Spack
```bash
spack install py-openpmd-validator@1.1.0.1 ^py-h5py~mpi
spack load --dependencies py-openpmd-validator@1.1.0.1 ^py-h5py~mpi
```
### Conda
```bash
conda install -c ax3l openpmd_validator==1.1.0.1
```
### From Source
```bash
wget https://github.com/openPMD/openPMD-validator/archive/1.1.0.1.tar.gz
tar -xf 1.1.0.1.tar.gz
cd openPMD-validator-1.1.0.1/
# optional: append --user
python setup.py install
```
## Usage
### CLI
We provide the command-line tools for individual files:
```bash
# 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:**
```python
from openpmd_validator import createExamples_h5
# create "example.h5"
createExamples_h5.main()
```
**Check:**
```python
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
openPMD-validator-1.1.0.1.tar.gz
(14.8 kB
view details)
Built Distributions
File details
Details for the file openPMD-validator-1.1.0.1.tar.gz
.
File metadata
- Download URL: openPMD-validator-1.1.0.1.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7585abbd32523ae6b8065772e1cc27a45e232c526a9fc0bd8ce85182d1b4b325 |
|
MD5 | 9e9907447568d924059d17f59bc509ff |
|
BLAKE2b-256 | 11db589cd5ddcc8d60a74e8ffaaf43e19af3b1bb91e6ef8996bd0531bfdb470c |
File details
Details for the file openPMD_validator-1.1.0.1-py3-none-any.whl
.
File metadata
- Download URL: openPMD_validator-1.1.0.1-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 473a9d61bdc919ca970cbf347dbbafe54f50c5da9e5d17b86fa31b5c1d4925dd |
|
MD5 | aa01f51d4fd0ad3fc08b5c6e1939e8f8 |
|
BLAKE2b-256 | 08289d63b538af46fb87772388828d4233a3461a458cd9e8e4feee0bb589d0b6 |
File details
Details for the file openPMD_validator-1.1.0.1-py2-none-any.whl
.
File metadata
- Download URL: openPMD_validator-1.1.0.1-py2-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b8e5760b07f2ca70f56139596c324bc20f879929ff3d9dfe3e993879c63f9d |
|
MD5 | 8bc7454616a3ce4087552bef8d8e0b6b |
|
BLAKE2b-256 | e223dd7957915cb40743795cf03ff7b56fdfac83c379abff47031943fa2da111 |