Source code for gpp_client.generated.fragments

from typing import Annotated, Any, Literal, Optional, Union

from pydantic import Field

from .base_model import BaseModel
from .enums import (
    AttachmentType,
    CalculationState,
    CalibrationRole,
    CallForProposalsType,
    CloudExtinctionPreset,
    EphemerisKeyType,
    Existence,
    Flamingos2Decker,
    Flamingos2Disperser,
    Flamingos2Filter,
    Flamingos2Fpu,
    Flamingos2ReadMode,
    Flamingos2ReadoutMode,
    Flamingos2Reads,
    GmosBinning,
    GmosNorthBuiltinFpu,
    GmosNorthFilter,
    GmosNorthGrating,
    GmosSouthBuiltinFpu,
    GmosSouthFilter,
    GmosSouthGrating,
    ImageQualityPreset,
    Instrument,
    ObservationValidationCode,
    ObservationWorkflowState,
    ObservingModeType,
    ProgramType,
    ProposalStatus,
    ScienceBand,
    ScienceMode,
    SkyBackground,
    TelluricTag,
    TimingWindowInclusion,
    WaterVapor,
)


[docs] class AttachmentDetails(BaseModel): id: Any file_name: Any = Field(alias="fileName") attachment_type: AttachmentType = Field(alias="attachmentType") file_size: Any = Field(alias="fileSize") checked: bool description: Optional[Any] updated_at: Any = Field(alias="updatedAt")
[docs] class CallForProposalsCore(BaseModel): id: Any title: Any
[docs] class CallForProposalsDetails(CallForProposalsCore): type_: CallForProposalsType = Field(alias="type") semester: Any active: "CallForProposalsDetailsActive" submission_deadline_default: Optional[Any] = Field( alias="submissionDeadlineDefault" ) instruments: list[Instrument] existence: Existence
[docs] class CallForProposalsDetailsActive(BaseModel): start: Any end: Any
[docs] class ConstraintSetDetails(BaseModel): image_quality: ImageQualityPreset = Field(alias="imageQuality") cloud_extinction: CloudExtinctionPreset = Field(alias="cloudExtinction") sky_background: SkyBackground = Field(alias="skyBackground") water_vapor: WaterVapor = Field(alias="waterVapor") elevation_range: "ConstraintSetDetailsElevationRange" = Field( alias="elevationRange" )
[docs] class ConstraintSetDetailsElevationRange(BaseModel): air_mass: Optional["ConstraintSetDetailsElevationRangeAirMass"] = Field( alias="airMass" ) hour_angle: Optional["ConstraintSetDetailsElevationRangeHourAngle"] = Field( alias="hourAngle" )
[docs] class ConstraintSetDetailsElevationRangeAirMass(BaseModel): min: Any max: Any
[docs] class ConstraintSetDetailsElevationRangeHourAngle(BaseModel): min_hours: Any = Field(alias="minHours") max_hours: Any = Field(alias="maxHours")
[docs] class ExposureTimeModeDetails(BaseModel): signal_to_noise: Optional["ExposureTimeModeDetailsSignalToNoise"] = Field( alias="signalToNoise" ) time_and_count: Optional["ExposureTimeModeDetailsTimeAndCount"] = Field( alias="timeAndCount" )
[docs] class ExposureTimeModeDetailsSignalToNoise(BaseModel): value: Any at: "ExposureTimeModeDetailsSignalToNoiseAt"
[docs] class ExposureTimeModeDetailsSignalToNoiseAt(BaseModel): nanometers: Any
[docs] class ExposureTimeModeDetailsTimeAndCount(BaseModel): time: "ExposureTimeModeDetailsTimeAndCountTime" count: Any at: "ExposureTimeModeDetailsTimeAndCountAt"
[docs] class ExposureTimeModeDetailsTimeAndCountTime(BaseModel): seconds: Any
[docs] class ExposureTimeModeDetailsTimeAndCountAt(BaseModel): nanometers: Any
[docs] class Flamingos2LongSlitDetails(BaseModel): decker: Flamingos2Decker default_decker: Flamingos2Decker = Field(alias="defaultDecker") default_offsets: list["Flamingos2LongSlitDetailsDefaultOffsets"] = Field( alias="defaultOffsets" ) disperser: Flamingos2Disperser filter_: Flamingos2Filter = Field(alias="filter") fpu: Flamingos2Fpu telluric_type: "Flamingos2LongSlitDetailsTelluricType" = Field(alias="telluricType") exposure_time_mode: "Flamingos2LongSlitDetailsExposureTimeMode" = Field( alias="exposureTimeMode" ) explicit_read_mode: Optional[Flamingos2ReadMode] = Field(alias="explicitReadMode") explicit_reads: Optional[Flamingos2Reads] = Field(alias="explicitReads") explicit_decker: Optional[Flamingos2Decker] = Field(alias="explicitDecker") readout_mode: Flamingos2ReadoutMode = Field(alias="readoutMode") default_readout_mode: Flamingos2ReadoutMode = Field(alias="defaultReadoutMode") offsets: list["Flamingos2LongSlitDetailsOffsets"] acquisition: "Flamingos2LongSlitDetailsAcquisition" initial_disperser: Flamingos2Disperser = Field(alias="initialDisperser") initial_filter: Flamingos2Filter = Field(alias="initialFilter") initial_fpu: Flamingos2Fpu = Field(alias="initialFpu")
[docs] class Flamingos2LongSlitDetailsDefaultOffsets(BaseModel): q: "Flamingos2LongSlitDetailsDefaultOffsetsQ" p: "Flamingos2LongSlitDetailsDefaultOffsetsP"
[docs] class Flamingos2LongSlitDetailsDefaultOffsetsQ(BaseModel): arcseconds: Any
[docs] class Flamingos2LongSlitDetailsDefaultOffsetsP(BaseModel): arcseconds: Any
[docs] class Flamingos2LongSlitDetailsTelluricType(BaseModel): tag: TelluricTag star_types: Optional[list[str]] = Field(alias="starTypes")
[docs] class Flamingos2LongSlitDetailsExposureTimeMode(ExposureTimeModeDetails): pass
[docs] class Flamingos2LongSlitDetailsOffsets(BaseModel): q: "Flamingos2LongSlitDetailsOffsetsQ" p: "Flamingos2LongSlitDetailsOffsetsP"
[docs] class Flamingos2LongSlitDetailsOffsetsQ(BaseModel): arcseconds: Any
[docs] class Flamingos2LongSlitDetailsOffsetsP(BaseModel): arcseconds: Any
[docs] class Flamingos2LongSlitDetailsAcquisition(BaseModel): exposure_time_mode: "Flamingos2LongSlitDetailsAcquisitionExposureTimeMode" = Field( alias="exposureTimeMode" )
[docs] class Flamingos2LongSlitDetailsAcquisitionExposureTimeMode(ExposureTimeModeDetails): pass
[docs] class GmosNorthImagingDetails(BaseModel): filters: list["GmosNorthImagingDetailsFilters"] bin: GmosBinning
[docs] class GmosNorthImagingDetailsFilters(BaseModel): filter_: GmosNorthFilter = Field(alias="filter")
[docs] class GmosNorthLongSlitDetails(BaseModel): grating: GmosNorthGrating filter_: Optional[GmosNorthFilter] = Field(alias="filter") fpu: GmosNorthBuiltinFpu central_wavelength: "GmosNorthLongSlitDetailsCentralWavelength" = Field( alias="centralWavelength" ) offsets: list["GmosNorthLongSlitDetailsOffsets"] x_bin: GmosBinning = Field(alias="xBin") y_bin: GmosBinning = Field(alias="yBin")
[docs] class GmosNorthLongSlitDetailsCentralWavelength(BaseModel): nanometers: Any
[docs] class GmosNorthLongSlitDetailsOffsets(BaseModel): arcseconds: Any
[docs] class GmosSouthImagingDetails(BaseModel): filters: list["GmosSouthImagingDetailsFilters"] bin: GmosBinning
[docs] class GmosSouthImagingDetailsFilters(BaseModel): filter_: GmosSouthFilter = Field(alias="filter")
[docs] class GmosSouthLongSlitDetails(BaseModel): grating: GmosSouthGrating filter_: Optional[GmosSouthFilter] = Field(alias="filter") fpu: GmosSouthBuiltinFpu central_wavelength: "GmosSouthLongSlitDetailsCentralWavelength" = Field( alias="centralWavelength" ) offsets: list["GmosSouthLongSlitDetailsOffsets"] x_bin: GmosBinning = Field(alias="xBin") y_bin: GmosBinning = Field(alias="yBin")
[docs] class GmosSouthLongSlitDetailsCentralWavelength(BaseModel): nanometers: Any
[docs] class GmosSouthLongSlitDetailsOffsets(BaseModel): arcseconds: Any
[docs] class NonsiderealTargetDetails(BaseModel): des: str key_type: EphemerisKeyType = Field(alias="keyType") key: str
[docs] class ObservationCore(BaseModel): id: Any existence: Existence reference: Optional["ObservationCoreReference"] title: Any instrument: Optional[Instrument] calibration_role: Optional[CalibrationRole] = Field(alias="calibrationRole")
[docs] class ObservationCoreReference(BaseModel): label: Any
[docs] class ObservingModeDetails(BaseModel): instrument: Instrument mode: ObservingModeType gmos_north_long_slit: Optional["ObservingModeDetailsGmosNorthLongSlit"] = Field( alias="gmosNorthLongSlit" ) gmos_south_long_slit: Optional["ObservingModeDetailsGmosSouthLongSlit"] = Field( alias="gmosSouthLongSlit" ) gmos_north_imaging: Optional["ObservingModeDetailsGmosNorthImaging"] = Field( alias="gmosNorthImaging" ) gmos_south_imaging: Optional["ObservingModeDetailsGmosSouthImaging"] = Field( alias="gmosSouthImaging" ) flamingos_2_long_slit: Optional["ObservingModeDetailsFlamingos2LongSlit"] = Field( alias="flamingos2LongSlit" )
[docs] class ObservingModeDetailsGmosNorthLongSlit(GmosNorthLongSlitDetails): pass
[docs] class ObservingModeDetailsGmosSouthLongSlit(GmosSouthLongSlitDetails): pass
[docs] class ObservingModeDetailsGmosNorthImaging(GmosNorthImagingDetails): pass
[docs] class ObservingModeDetailsGmosSouthImaging(GmosSouthImagingDetails): pass
[docs] class ObservingModeDetailsFlamingos2LongSlit(Flamingos2LongSlitDetails): pass
[docs] class ProgramCore(BaseModel): id: Any name: Optional[Any] existence: Existence description: Optional[Any]
[docs] class ScienceRequirementsDetails(BaseModel): mode: Optional[ScienceMode]
[docs] class SiderealTargetDetails(BaseModel): ra: "SiderealTargetDetailsRa" dec: "SiderealTargetDetailsDec" epoch: Any
[docs] class SiderealTargetDetailsRa(BaseModel): hours: Any hms: Any degrees: Any
[docs] class SiderealTargetDetailsDec(BaseModel): degrees: Any dms: Any
[docs] class TargetEnvironmentDetails(BaseModel): asterism: list["TargetEnvironmentDetailsAsterism"] explicit_base: Optional["TargetEnvironmentDetailsExplicitBase"] = Field( alias="explicitBase" )
[docs] class TargetEnvironmentDetailsAsterism(BaseModel): name: Any sidereal: Optional["TargetEnvironmentDetailsAsterismSidereal"] nonsidereal: Optional["TargetEnvironmentDetailsAsterismNonsidereal"]
[docs] class TargetEnvironmentDetailsAsterismSidereal(SiderealTargetDetails): pass
[docs] class TargetEnvironmentDetailsAsterismNonsidereal(NonsiderealTargetDetails): pass
[docs] class TargetEnvironmentDetailsExplicitBase(BaseModel): ra: "TargetEnvironmentDetailsExplicitBaseRa" dec: "TargetEnvironmentDetailsExplicitBaseDec"
[docs] class TargetEnvironmentDetailsExplicitBaseRa(BaseModel): hms: Any
[docs] class TargetEnvironmentDetailsExplicitBaseDec(BaseModel): dms: Any
[docs] class TimingWindowDetails(BaseModel): inclusion: TimingWindowInclusion start_utc: Any = Field(alias="startUtc") end: Optional[ Annotated[ Union[ "TimingWindowDetailsEndTimingWindowEndAt", "TimingWindowDetailsEndTimingWindowEndAfter", ], Field(discriminator="typename__"), ] ]
[docs] class TimingWindowDetailsEndTimingWindowEndAt(BaseModel): typename__: Literal["TimingWindowEndAt"] = Field(alias="__typename") at_utc: Any = Field(alias="atUtc")
[docs] class TimingWindowDetailsEndTimingWindowEndAfter(BaseModel): typename__: Literal["TimingWindowEndAfter"] = Field(alias="__typename") after: "TimingWindowDetailsEndTimingWindowEndAfterAfter" repeat: Optional["TimingWindowDetailsEndTimingWindowEndAfterRepeat"]
[docs] class TimingWindowDetailsEndTimingWindowEndAfterAfter(BaseModel): seconds: Any
[docs] class TimingWindowDetailsEndTimingWindowEndAfterRepeat(BaseModel): period: "TimingWindowDetailsEndTimingWindowEndAfterRepeatPeriod" times: Optional[Any]
[docs] class TimingWindowDetailsEndTimingWindowEndAfterRepeatPeriod(BaseModel): seconds: Any
[docs] class WorkflowCore(BaseModel): state: CalculationState
[docs] class WorkflowDetails(WorkflowCore): value: "WorkflowDetailsValue"
[docs] class WorkflowDetailsValue(BaseModel): state: ObservationWorkflowState valid_transitions: list[ObservationWorkflowState] = Field(alias="validTransitions") validation_errors: list["WorkflowDetailsValueValidationErrors"] = Field( alias="validationErrors" )
[docs] class WorkflowDetailsValueValidationErrors(BaseModel): code: ObservationValidationCode messages: list[str]
[docs] class ObservationDetails(ObservationCore): observer_notes: Optional[Any] = Field(alias="observerNotes") subtitle: Optional[Any] program: "ObservationDetailsProgram" science_requirements: "ObservationDetailsScienceRequirements" = Field( alias="scienceRequirements" ) science_band: Optional[ScienceBand] = Field(alias="scienceBand") workflow: Optional["ObservationDetailsWorkflow"] observing_mode: Optional["ObservationDetailsObservingMode"] = Field( alias="observingMode" ) constraint_set: "ObservationDetailsConstraintSet" = Field(alias="constraintSet") timing_windows: list["ObservationDetailsTimingWindows"] = Field( alias="timingWindows" ) target_environment: "ObservationDetailsTargetEnvironment" = Field( alias="targetEnvironment" )
[docs] class ObservationDetailsProgram(ProgramCore): pass
[docs] class ObservationDetailsScienceRequirements(ScienceRequirementsDetails): pass
[docs] class ObservationDetailsWorkflow(WorkflowDetails): pass
[docs] class ObservationDetailsObservingMode(ObservingModeDetails): pass
[docs] class ObservationDetailsConstraintSet(ConstraintSetDetails): pass
[docs] class ObservationDetailsTimingWindows(TimingWindowDetails): pass
[docs] class ObservationDetailsTargetEnvironment(TargetEnvironmentDetails): pass
[docs] class ObservationWorkflowCore(BaseModel): state: ObservationWorkflowState
[docs] class ObservationWorkflowDetails(ObservationWorkflowCore): valid_transitions: list[ObservationWorkflowState] = Field(alias="validTransitions") validation_errors: list["ObservationWorkflowDetailsValidationErrors"] = Field( alias="validationErrors" )
[docs] class ObservationWorkflowDetailsValidationErrors(BaseModel): code: ObservationValidationCode messages: list[str]
[docs] class OpportunityTargetDetails(BaseModel): region: "OpportunityTargetDetailsRegion"
[docs] class OpportunityTargetDetailsRegion(BaseModel): right_ascension_arc: "OpportunityTargetDetailsRegionRightAscensionArc" = Field( alias="rightAscensionArc" ) declination_arc: "OpportunityTargetDetailsRegionDeclinationArc" = Field( alias="declinationArc" )
[docs] class OpportunityTargetDetailsRegionRightAscensionArc(BaseModel): start: Optional["OpportunityTargetDetailsRegionRightAscensionArcStart"] end: Optional["OpportunityTargetDetailsRegionRightAscensionArcEnd"]
[docs] class OpportunityTargetDetailsRegionRightAscensionArcStart(BaseModel): degrees: Any
[docs] class OpportunityTargetDetailsRegionRightAscensionArcEnd(BaseModel): degrees: Any
[docs] class OpportunityTargetDetailsRegionDeclinationArc(BaseModel): start: Optional["OpportunityTargetDetailsRegionDeclinationArcStart"] end: Optional["OpportunityTargetDetailsRegionDeclinationArcEnd"]
[docs] class OpportunityTargetDetailsRegionDeclinationArcStart(BaseModel): degrees: Any
[docs] class OpportunityTargetDetailsRegionDeclinationArcEnd(BaseModel): degrees: Any
[docs] class ProgramDetail(ProgramCore): type_: ProgramType = Field(alias="type") active: "ProgramDetailActive" proposal_status: ProposalStatus = Field(alias="proposalStatus") proposal: Optional["ProgramDetailProposal"] pi: Optional["ProgramDetailPi"]
[docs] class ProgramDetailActive(BaseModel): start: Any end: Any
[docs] class ProgramDetailProposal(BaseModel): call: Optional["ProgramDetailProposalCall"]
[docs] class ProgramDetailProposalCall(BaseModel): semester: Any active: "ProgramDetailProposalCallActive"
[docs] class ProgramDetailProposalCallActive(BaseModel): start: Any end: Any
[docs] class ProgramDetailPi(BaseModel): id: Any
[docs] class ProgramGroupElements(BaseModel): all_group_elements: list["ProgramGroupElementsAllGroupElements"] = Field( alias="allGroupElements" )
[docs] class ProgramGroupElementsAllGroupElements(BaseModel): parent_group_id: Optional[Any] = Field(alias="parentGroupId") observation: Optional["ProgramGroupElementsAllGroupElementsObservation"] group: Optional["ProgramGroupElementsAllGroupElementsGroup"]
[docs] class ProgramGroupElementsAllGroupElementsObservation(BaseModel): id: Any group_id: Optional[Any] = Field(alias="groupId")
[docs] class ProgramGroupElementsAllGroupElementsGroup(BaseModel): id: Any name: Optional[Any] minimum_required: Optional[Any] = Field(alias="minimumRequired") ordered: bool parent_id: Optional[Any] = Field(alias="parentId") parent_index: Any = Field(alias="parentIndex") minimum_interval: Optional[ "ProgramGroupElementsAllGroupElementsGroupMinimumInterval" ] = Field(alias="minimumInterval") maximum_interval: Optional[ "ProgramGroupElementsAllGroupElementsGroupMaximumInterval" ] = Field(alias="maximumInterval") system: bool
[docs] class ProgramGroupElementsAllGroupElementsGroupMinimumInterval(BaseModel): seconds: Any
[docs] class ProgramGroupElementsAllGroupElementsGroupMaximumInterval(BaseModel): seconds: Any
[docs] class TargetCore(BaseModel): id: Any existence: Existence name: Any calibration_role: Optional[CalibrationRole] = Field(alias="calibrationRole")
[docs] class TargetDetails(TargetCore): opportunity: Optional["TargetDetailsOpportunity"] sidereal: Optional["TargetDetailsSidereal"] nonsidereal: Optional["TargetDetailsNonsidereal"]
[docs] class TargetDetailsOpportunity(OpportunityTargetDetails): pass
[docs] class TargetDetailsSidereal(SiderealTargetDetails): pass
[docs] class TargetDetailsNonsidereal(NonsiderealTargetDetails): pass
[docs] class TargetProgramSummary(BaseModel): program: "TargetProgramSummaryProgram"
[docs] class TargetProgramSummaryProgram(ProgramCore): pass
AttachmentDetails.model_rebuild() CallForProposalsCore.model_rebuild() CallForProposalsDetails.model_rebuild() ConstraintSetDetails.model_rebuild() ExposureTimeModeDetails.model_rebuild() Flamingos2LongSlitDetails.model_rebuild() GmosNorthImagingDetails.model_rebuild() GmosNorthLongSlitDetails.model_rebuild() GmosSouthImagingDetails.model_rebuild() GmosSouthLongSlitDetails.model_rebuild() NonsiderealTargetDetails.model_rebuild() ObservationCore.model_rebuild() ObservingModeDetails.model_rebuild() ProgramCore.model_rebuild() ScienceRequirementsDetails.model_rebuild() SiderealTargetDetails.model_rebuild() TargetEnvironmentDetails.model_rebuild() TimingWindowDetails.model_rebuild() WorkflowCore.model_rebuild() WorkflowDetails.model_rebuild() ObservationDetails.model_rebuild() ObservationWorkflowCore.model_rebuild() ObservationWorkflowDetails.model_rebuild() OpportunityTargetDetails.model_rebuild() ProgramDetail.model_rebuild() ProgramGroupElements.model_rebuild() TargetCore.model_rebuild() TargetDetails.model_rebuild() TargetProgramSummary.model_rebuild()