Skip to main content

DKIST data validator

Project description

An interface containing a validator, and a spec translator for DKIST specs:

  • SPEC-0122 Rev C: Data received from the summit

  • SPEC-0214 Rev ?: Data published by the Data Center (incomplete)

Features

  • Uses voluptuous schemas to validate a given input header against dkist specifications

  • 3 keyword validations: type validation, required-ness validation, and value validation

  • Failure exceptions include a dictionary of validation failure causes

  • SPEC-0122 to SPEC-0214 translation

Installation

pip install dkist-header-validator

Usage

Currently, this package can be used to validate SPEC122 data or SPEC214 data. Please import the corresponding methods (spec122_validator and Spec122ValidationException, or spec214_validator, Spec214ValidationException).

This package can be used for validating data, or for validating and translating data (SPEC122 input only).

Input data can be one of:
  • string file path

  • File like object

  • HDUList object

  • fits.header.Header object

  • Dictionary of header keys and values

To validate data:

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException

>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits')

To validate and translate data:

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException

>>> spec122_validator.validate_and_translate('dkist_rosa0181200000_observation.fits')
Within the validate and validate_and_translate methods, a series of flags can be set, otherwise they will take their default values:
  • extra: Default value is true (allow extra keys). This flag determines if extra keywords are allowed in the schema to be validated. Ingest validation should allow extra keys.

  • return_dict: Default value is false. If set to true, validation will return a dictionary of validated headers.

Examples

  1. Validate a file:

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits', return_dict=True)

2. Validate and translate a file:
>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits', return_dict=True)
  1. Validate and translate a file:

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> spec122_validator.validate_and_translate('dkist_rosa0181200000_observation.fits')

3. Validate headers:
>>> spec122_validator.validate_and_translate('dkist_rosa0181200000_observation.fits')
  1. Validate headers:

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> from astropy.io import fits
>>> hdus = fits.open('dkist_rosa0181200000_observation.fits')
>>> spec122_validator.validate(hdus[0].header, return_dict=True)


This project is Copyright (c) AURA/NSO.
>>> from astropy.io import fits
>>> hdus = fits.open('dkist_rosa0181200000_observation.fits')
>>> spec122_validator.validate(hdus[0].header, return_dict=True)

This project is Copyright (c) AURA/NSO.

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

dkist-header-validator-0.1rc3.tar.gz (22.2 kB view details)

Uploaded Source

File details

Details for the file dkist-header-validator-0.1rc3.tar.gz.

File metadata

  • Download URL: dkist-header-validator-0.1rc3.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for dkist-header-validator-0.1rc3.tar.gz
Algorithm Hash digest
SHA256 6b9eafd3befd28adac3ab4662aabc7bedf7913e3b8caea716714276210d726f4
MD5 80455215f02a0823d5897f010f08f96d
BLAKE2b-256 015c4789b546587d6f1655fd0d2a60e47f10adf09aed8e48d397c36a20b1c212

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page