Source code for orsopy.fileio.reduction

"""
The reduction elements for the ORSO header
"""

import datetime

from dataclasses import field
from typing import List, Optional, Union

from .base import Header, Person, orsodataclass


[docs]@orsodataclass class Software(Header): """ Software description. :param name: Software name. :param version: Version identified for the software. :param platform: Operating system. """ name: str version: Optional[str] = None platform: Optional[str] = None yaml_representer = Header.yaml_representer_compact
[docs]@orsodataclass class Reduction(Header): """ A description of the reduction that has been performed. :param software: Software used for reduction. :param timestamp: Datetime of reduced file creation. :param creator: The person or routine who created the reduced file. :param corrections: A list of the corrections that have been performed. :param computer: Name of the reduction machine. :param call: Command line call or similar. :param script: Path to reduction script or notebook. :param binary: Path to full reduction information file. """ software: Software timestamp: Optional[datetime.datetime] = field( default=None, metadata={"description": "Timestamp string, formatted as ISO 8601 datetime"} ) creator: Optional[Person] = None corrections: Optional[List[str]] = None computer: Optional[str] = field(default=None, metadata={"description": "Computer used for reduction"}) call: Optional[str] = field(default=None, metadata={"description": "The command line call used"}) script: Optional[str] = field(default=None, metadata={"description": "Path to reduction script or notebook"}) binary: Optional[str] = field(default=None, metadata={"description": "Path to full information file"}) __repr__ = Header._staggered_repr