Source code for across.client.apis.observation

from datetime import datetime

import across.sdk.v1 as sdk
from across.sdk.v1.api_client_wrapper import ApiClientWrapper


[docs] class Observation: """ Client for interacting with Observation resources in the Across API. Provides methods to retrieve single or multiple observations by ID, name, observation information, or creation date. """ def __init__(self, across_client: ApiClientWrapper): """ Initialize an Observation client. Args: across_client (ApiClientWrapper): API client wrapper used to make requests to the Across API. """
[docs] self.across_client = across_client
[docs] def get(self, id: str) -> sdk.Observation: """ Retrieve a single Observation by ID. Args: id (str): The unique identifier of the Observation to retrieve. Returns: sdk.Observation: The requested Observation object. """ return sdk.ObservationApi(self.across_client).get_observation(observation_id=id)
[docs] def get_many( self, page: int | None = None, page_limit: int | None = None, external_id: str | None = None, schedule_ids: list[str | None] | None = None, observatory_ids: list[str] | None = None, telescope_ids: list[str] | None = None, instrument_ids: list[str] | None = None, status: sdk.ObservationStatus | None = None, proposal: str | None = None, object_name: str | None = None, date_range_begin: datetime | None = None, date_range_end: datetime | None = None, bandpass_min: float | None = None, bandpass_max: float | None = None, bandpass_type: sdk.WavelengthBandpass | sdk.EnergyBandpass | sdk.FrequencyBandpass | None = None, cone_search_ra: float | None = None, cone_search_dec: float | None = None, cone_search_radius: float | None = None, type: sdk.ObservationType | None = None, depth_value: float | None = None, depth_unit: sdk.DepthUnit | None = None, ) -> sdk.PageObservation: """ Retrieve multiple observations filtered by optional criteria. Args: page (int | None): Filter by pagination page page_limit (int | None): Filter by number of records per page external_id (str | None): Filter by an external identifier. schedule_ids (list[str | None] | None): Filter by one or more schedule IDs. observatory_ids (list[str] | None): Filter by one or more observatory IDs. telescope_ids (list[str] | None): Filter by one or more telescope IDs. instrument_ids (list[str] | None): Filter by one or more instrument IDs. status (sdk.ObservationStatus | None): Filter by observation status. proposal (str | None): Filter by proposal identifier or name. object_name (str | None): Filter by target object name. date_range_begin (datetime | None): Filter for observations starting on or after this date. date_range_end (datetime | None): Filter for observations ending on or before this date. bandpass_min (float | None): Minimum bandpass value (in the unit defined by `bandpass_type`). bandpass_max (float | None): Maximum bandpass value (in the unit defined by `bandpass_type`). bandpass_type (sdk.WavelengthBandpass | sdk.EnergyBandpass | sdk.FrequencyBandpass | None): Type of bandpass measurement (wavelength, energy, or frequency). cone_search_ra (float | None): Right Ascension (RA) for cone search, in degrees. cone_search_dec (float | None): Declination (Dec) for cone search, in degrees. cone_search_radius (float | None): Search radius for cone search, in degrees. type (sdk.ObservationType | None): Filter by observation type. depth_value (float | None): Sensitivity or depth threshold value. depth_unit (sdk.DepthUnit | None): Unit for `depth_value`. Returns: list[sdk.Observation]: A list of observations matching the given filters. """ return sdk.ObservationApi(self.across_client).get_observations( page=page, page_limit=page_limit, external_id=external_id, schedule_ids=schedule_ids, observatory_ids=observatory_ids, telescope_ids=telescope_ids, instrument_ids=instrument_ids, status=status, proposal=proposal, object_name=object_name, date_range_begin=date_range_begin, date_range_end=date_range_end, bandpass_min=bandpass_min, bandpass_max=bandpass_max, bandpass_type=bandpass_type, cone_search_ra=cone_search_ra, cone_search_dec=cone_search_dec, cone_search_radius=cone_search_radius, type=type, depth_value=depth_value, depth_unit=depth_unit, )