gpp-client 26.5.0.dev2__tar.gz → 26.5.1.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/PKG-INFO +1 -1
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/client.py +2 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/scheduler.py +23 -1
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/__init__.py +42 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/client.py +41 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/fragments.py +50 -0
- gpp_client-26.5.1.dev2/src/gpp_client/generated/scheduler_observations_updates.py +76 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/.gitignore +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/LICENSE +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/README.md +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/graphql/README.md +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/pyproject.toml +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/__init__.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/__init__.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/cli.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/__init__.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/attachment.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/goats.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/observation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/program.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/scheduler.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/site_status.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/target.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/workflow_state.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/console.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/output.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/utils.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/constants.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/__init__.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/atom.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/attachment.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/base.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/goats.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/observation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/program.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/site_status.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/target.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/domains/workflow_state.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/environment.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/exceptions.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/async_base_client.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/base_model.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/base_operation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/clone_observation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/clone_target.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_call_for_proposals.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_observation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_program.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_target_by_program_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_target_by_program_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_target_by_proposal_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_fields.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_mutations.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_queries.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_typing_fields.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_call_for_proposals_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_observation_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_observation_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_program_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_target_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/enums.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/exceptions.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_call_for_proposals.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_calls_for_proposals.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_goats_observations.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_goats_programs.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation_attachments_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation_attachments_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation_workflow_state_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation_workflow_state_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observations.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_attachments_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_attachments_by_proposal_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_attachments_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_by_proposal_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_programs.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_scheduler_all_programs_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_scheduler_programs.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_target_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_targets.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/input_types.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/obs_calculation_update.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/observation_edit.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/package_environment.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/ping.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/program_edit.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_call_for_proposals_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_observation_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_observation_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_program_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_target_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/set_observation_workflow_state.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/target_edit.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_call_for_proposals_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_calls_for_proposals.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_observation_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_observation_by_reference.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_observations.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_program_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_programs.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_target_by_id.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_targets.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/logging_utils.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/rest/__init__.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/rest/client.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/rest/utils.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/settings.py +0 -0
- {gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/urls.py +0 -0
|
@@ -5,9 +5,10 @@ Module for retrieving scheduler information.
|
|
|
5
5
|
__all__ = ["SchedulerDomain"]
|
|
6
6
|
|
|
7
7
|
from datetime import datetime
|
|
8
|
-
from typing import Any
|
|
8
|
+
from typing import Any, AsyncIterator
|
|
9
9
|
|
|
10
10
|
from gpp_client.domains.base import BaseDomain
|
|
11
|
+
from gpp_client.generated import SchedulerObservationsUpdates
|
|
11
12
|
from gpp_client.generated.get_scheduler_all_programs_id import (
|
|
12
13
|
GetSchedulerAllProgramsId,
|
|
13
14
|
)
|
|
@@ -91,6 +92,8 @@ class SchedulerDomain(BaseDomain):
|
|
|
91
92
|
time_estimate,
|
|
92
93
|
step_types,
|
|
93
94
|
lamp_types,
|
|
95
|
+
step_index,
|
|
96
|
+
step_count,
|
|
94
97
|
) = atom_digest.split("\t")
|
|
95
98
|
obs_atoms_mapping.setdefault(obs_id, [])
|
|
96
99
|
obs_atoms_mapping[obs_id].append(
|
|
@@ -101,6 +104,8 @@ class SchedulerDomain(BaseDomain):
|
|
|
101
104
|
"time_estimate": time_estimate,
|
|
102
105
|
"step_types": step_types,
|
|
103
106
|
"lamp_types": lamp_types,
|
|
107
|
+
"step_index": step_index,
|
|
108
|
+
"step_count": step_count,
|
|
104
109
|
}
|
|
105
110
|
)
|
|
106
111
|
|
|
@@ -278,3 +283,20 @@ class SchedulerDomain(BaseDomain):
|
|
|
278
283
|
today = datetime.today().date().isoformat() if date is None else date
|
|
279
284
|
response = await self.get_program_ids(today=today)
|
|
280
285
|
return [(p.reference.label, p.id) for p in response.programs.matches]
|
|
286
|
+
|
|
287
|
+
async def subscribe_to_calculation_updates(
|
|
288
|
+
self,
|
|
289
|
+
) -> AsyncIterator[SchedulerObservationsUpdates]:
|
|
290
|
+
"""
|
|
291
|
+
Subscribe to observation calculation update events with the
|
|
292
|
+
execution flag set to true so only executed events are sent.
|
|
293
|
+
|
|
294
|
+
Yields
|
|
295
|
+
------
|
|
296
|
+
SchedulerObservationsUpdates
|
|
297
|
+
Observation calculation update events.
|
|
298
|
+
"""
|
|
299
|
+
async for event in self._graphql.scheduler_observations_updates(
|
|
300
|
+
executable_only=True
|
|
301
|
+
):
|
|
302
|
+
yield event
|
|
@@ -230,6 +230,15 @@ from .fragments import (
|
|
|
230
230
|
ConstraintSetDetailsElevationRange,
|
|
231
231
|
ConstraintSetDetailsElevationRangeAirMass,
|
|
232
232
|
ConstraintSetDetailsElevationRangeHourAngle,
|
|
233
|
+
ExecutionDetails,
|
|
234
|
+
ExecutionDetailsDigest,
|
|
235
|
+
ExecutionDetailsDigestValue,
|
|
236
|
+
ExecutionDetailsDigestValueAcquisition,
|
|
237
|
+
ExecutionDetailsDigestValueAcquisitionTimeEstimate,
|
|
238
|
+
ExecutionDetailsDigestValueAcquisitionTimeEstimateTotal,
|
|
239
|
+
ExecutionDetailsDigestValueSetup,
|
|
240
|
+
ExecutionDetailsDigestValueSetupFull,
|
|
241
|
+
ExecutionDetailsDigestValueSetupReacquisition,
|
|
233
242
|
ExposureTimeModeDetails,
|
|
234
243
|
ExposureTimeModeDetailsSignalToNoise,
|
|
235
244
|
ExposureTimeModeDetailsSignalToNoiseAt,
|
|
@@ -268,6 +277,8 @@ from .fragments import (
|
|
|
268
277
|
ObservationDetailsTargetEnvironment,
|
|
269
278
|
ObservationDetailsTimingWindows,
|
|
270
279
|
ObservationDetailsWorkflow,
|
|
280
|
+
ObservationExecution,
|
|
281
|
+
ObservationExecutionExecution,
|
|
271
282
|
ObservationWorkflowCore,
|
|
272
283
|
ObservationWorkflowDetails,
|
|
273
284
|
ObservationWorkflowDetailsValidationErrors,
|
|
@@ -1127,6 +1138,17 @@ from .restore_target_by_id import (
|
|
|
1127
1138
|
RestoreTargetByIdUpdateTargetsTargets,
|
|
1128
1139
|
RestoreTargetByIdUpdateTargetsTargetsProgram,
|
|
1129
1140
|
)
|
|
1141
|
+
from .scheduler_observations_updates import (
|
|
1142
|
+
SchedulerObservationsUpdates,
|
|
1143
|
+
SchedulerObservationsUpdatesObscalcUpdate,
|
|
1144
|
+
SchedulerObservationsUpdatesObscalcUpdateValue,
|
|
1145
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecution,
|
|
1146
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisits,
|
|
1147
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatches,
|
|
1148
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecords,
|
|
1149
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecordsMatches,
|
|
1150
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesObservation,
|
|
1151
|
+
)
|
|
1130
1152
|
from .set_observation_workflow_state import (
|
|
1131
1153
|
SetObservationWorkflowState,
|
|
1132
1154
|
SetObservationWorkflowStateSetObservationWorkflowState,
|
|
@@ -1324,6 +1346,15 @@ __all__ = [
|
|
|
1324
1346
|
"EmissionLinesSurfaceInput",
|
|
1325
1347
|
"EnumeratedTelescopeConfigGeneratorInput",
|
|
1326
1348
|
"EphemerisKeyType",
|
|
1349
|
+
"ExecutionDetails",
|
|
1350
|
+
"ExecutionDetailsDigest",
|
|
1351
|
+
"ExecutionDetailsDigestValue",
|
|
1352
|
+
"ExecutionDetailsDigestValueAcquisition",
|
|
1353
|
+
"ExecutionDetailsDigestValueAcquisitionTimeEstimate",
|
|
1354
|
+
"ExecutionDetailsDigestValueAcquisitionTimeEstimateTotal",
|
|
1355
|
+
"ExecutionDetailsDigestValueSetup",
|
|
1356
|
+
"ExecutionDetailsDigestValueSetupFull",
|
|
1357
|
+
"ExecutionDetailsDigestValueSetupReacquisition",
|
|
1327
1358
|
"ExecutionEventAddedInput",
|
|
1328
1359
|
"ExecutionEventType",
|
|
1329
1360
|
"ExecutionState",
|
|
@@ -1923,6 +1954,8 @@ __all__ = [
|
|
|
1923
1954
|
"ObservationEditObservationEditValueTimingWindowsEndTimingWindowEndAfterRepeat",
|
|
1924
1955
|
"ObservationEditObservationEditValueTimingWindowsEndTimingWindowEndAfterRepeatPeriod",
|
|
1925
1956
|
"ObservationEditObservationEditValueTimingWindowsEndTimingWindowEndAt",
|
|
1957
|
+
"ObservationExecution",
|
|
1958
|
+
"ObservationExecutionExecution",
|
|
1926
1959
|
"ObservationPropertiesInput",
|
|
1927
1960
|
"ObservationTimesInput",
|
|
1928
1961
|
"ObservationValidationCode",
|
|
@@ -2045,6 +2078,15 @@ __all__ = [
|
|
|
2045
2078
|
"RevokeUserInvitationInput",
|
|
2046
2079
|
"RightAscensionArcInput",
|
|
2047
2080
|
"RightAscensionInput",
|
|
2081
|
+
"SchedulerObservationsUpdates",
|
|
2082
|
+
"SchedulerObservationsUpdatesObscalcUpdate",
|
|
2083
|
+
"SchedulerObservationsUpdatesObscalcUpdateValue",
|
|
2084
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecution",
|
|
2085
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisits",
|
|
2086
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatches",
|
|
2087
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecords",
|
|
2088
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecordsMatches",
|
|
2089
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesObservation",
|
|
2048
2090
|
"ScienceBand",
|
|
2049
2091
|
"ScienceMode",
|
|
2050
2092
|
"ScienceRequirementsDetails",
|
|
@@ -80,6 +80,7 @@ from .restore_observation_by_id import RestoreObservationById
|
|
|
80
80
|
from .restore_observation_by_reference import RestoreObservationByReference
|
|
81
81
|
from .restore_program_by_id import RestoreProgramById
|
|
82
82
|
from .restore_target_by_id import RestoreTargetById
|
|
83
|
+
from .scheduler_observations_updates import SchedulerObservationsUpdates
|
|
83
84
|
from .set_observation_workflow_state import SetObservationWorkflowState
|
|
84
85
|
from .target_edit import TargetEdit
|
|
85
86
|
from .update_call_for_proposals_by_id import UpdateCallForProposalsById
|
|
@@ -98,6 +99,46 @@ def gql(q: str) -> str:
|
|
|
98
99
|
|
|
99
100
|
|
|
100
101
|
class GraphQLClient(AsyncBaseClient):
|
|
102
|
+
async def scheduler_observations_updates(
|
|
103
|
+
self, executable_only: Union[Optional[bool], UnsetType] = UNSET, **kwargs: Any
|
|
104
|
+
) -> AsyncIterator[SchedulerObservationsUpdates]:
|
|
105
|
+
query = gql("""
|
|
106
|
+
subscription SchedulerObservationsUpdates($executableOnly: Boolean) {
|
|
107
|
+
obscalcUpdate(input: {executableOnly: $executableOnly}) {
|
|
108
|
+
oldCalculationState
|
|
109
|
+
newCalculationState
|
|
110
|
+
editType
|
|
111
|
+
value {
|
|
112
|
+
id
|
|
113
|
+
observationTime
|
|
114
|
+
execution {
|
|
115
|
+
visits {
|
|
116
|
+
matches {
|
|
117
|
+
observation {
|
|
118
|
+
id
|
|
119
|
+
}
|
|
120
|
+
atomRecords {
|
|
121
|
+
matches {
|
|
122
|
+
executionState
|
|
123
|
+
id
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
""")
|
|
133
|
+
variables: dict[str, object] = {"executableOnly": executable_only}
|
|
134
|
+
async for data in self.execute_ws(
|
|
135
|
+
query=query,
|
|
136
|
+
operation_name="SchedulerObservationsUpdates",
|
|
137
|
+
variables=variables,
|
|
138
|
+
**kwargs,
|
|
139
|
+
):
|
|
140
|
+
yield SchedulerObservationsUpdates.model_validate(data)
|
|
141
|
+
|
|
101
142
|
async def get_observation_attachments_by_id(
|
|
102
143
|
self, observation_id: Any, **kwargs: Any
|
|
103
144
|
) -> GetObservationAttachmentsById:
|
|
@@ -101,6 +101,46 @@ class ConstraintSetDetailsElevationRangeHourAngle(BaseModel):
|
|
|
101
101
|
max_hours: Any = Field(alias="maxHours")
|
|
102
102
|
|
|
103
103
|
|
|
104
|
+
class ExecutionDetails(BaseModel):
|
|
105
|
+
digest: Optional["ExecutionDetailsDigest"]
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class ExecutionDetailsDigest(BaseModel):
|
|
109
|
+
value: Optional["ExecutionDetailsDigestValue"]
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class ExecutionDetailsDigestValue(BaseModel):
|
|
113
|
+
acquisition: Optional["ExecutionDetailsDigestValueAcquisition"]
|
|
114
|
+
setup: "ExecutionDetailsDigestValueSetup"
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class ExecutionDetailsDigestValueAcquisition(BaseModel):
|
|
118
|
+
time_estimate: "ExecutionDetailsDigestValueAcquisitionTimeEstimate" = Field(
|
|
119
|
+
alias="timeEstimate"
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class ExecutionDetailsDigestValueAcquisitionTimeEstimate(BaseModel):
|
|
124
|
+
total: "ExecutionDetailsDigestValueAcquisitionTimeEstimateTotal"
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class ExecutionDetailsDigestValueAcquisitionTimeEstimateTotal(BaseModel):
|
|
128
|
+
seconds: Any
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class ExecutionDetailsDigestValueSetup(BaseModel):
|
|
132
|
+
full: "ExecutionDetailsDigestValueSetupFull"
|
|
133
|
+
reacquisition: "ExecutionDetailsDigestValueSetupReacquisition"
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class ExecutionDetailsDigestValueSetupFull(BaseModel):
|
|
137
|
+
seconds: Any
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class ExecutionDetailsDigestValueSetupReacquisition(BaseModel):
|
|
141
|
+
seconds: Any
|
|
142
|
+
|
|
143
|
+
|
|
104
144
|
class ExposureTimeModeDetails(BaseModel):
|
|
105
145
|
signal_to_noise: Optional["ExposureTimeModeDetailsSignalToNoise"] = Field(
|
|
106
146
|
alias="signalToNoise"
|
|
@@ -490,6 +530,14 @@ class ObservationDetailsTargetEnvironment(TargetEnvironmentDetails):
|
|
|
490
530
|
pass
|
|
491
531
|
|
|
492
532
|
|
|
533
|
+
class ObservationExecution(BaseModel):
|
|
534
|
+
execution: "ObservationExecutionExecution"
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
class ObservationExecutionExecution(ExecutionDetails):
|
|
538
|
+
pass
|
|
539
|
+
|
|
540
|
+
|
|
493
541
|
class ObservationWorkflowCore(BaseModel):
|
|
494
542
|
state: ObservationWorkflowState
|
|
495
543
|
|
|
@@ -654,6 +702,7 @@ AttachmentDetails.model_rebuild()
|
|
|
654
702
|
CallForProposalsCore.model_rebuild()
|
|
655
703
|
CallForProposalsDetails.model_rebuild()
|
|
656
704
|
ConstraintSetDetails.model_rebuild()
|
|
705
|
+
ExecutionDetails.model_rebuild()
|
|
657
706
|
ExposureTimeModeDetails.model_rebuild()
|
|
658
707
|
Flamingos2LongSlitDetails.model_rebuild()
|
|
659
708
|
GmosNorthImagingDetails.model_rebuild()
|
|
@@ -671,6 +720,7 @@ TimingWindowDetails.model_rebuild()
|
|
|
671
720
|
WorkflowCore.model_rebuild()
|
|
672
721
|
WorkflowDetails.model_rebuild()
|
|
673
722
|
ObservationDetails.model_rebuild()
|
|
723
|
+
ObservationExecution.model_rebuild()
|
|
674
724
|
ObservationWorkflowCore.model_rebuild()
|
|
675
725
|
ObservationWorkflowDetails.model_rebuild()
|
|
676
726
|
OpportunityTargetDetails.model_rebuild()
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from typing import Any, Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import Field
|
|
4
|
+
|
|
5
|
+
from .base_model import BaseModel
|
|
6
|
+
from .enums import AtomExecutionState, CalculationState, EditType
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class SchedulerObservationsUpdates(BaseModel):
|
|
10
|
+
obscalc_update: "SchedulerObservationsUpdatesObscalcUpdate" = Field(
|
|
11
|
+
alias="obscalcUpdate"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SchedulerObservationsUpdatesObscalcUpdate(BaseModel):
|
|
16
|
+
old_calculation_state: Optional[CalculationState] = Field(
|
|
17
|
+
alias="oldCalculationState"
|
|
18
|
+
)
|
|
19
|
+
new_calculation_state: Optional[CalculationState] = Field(
|
|
20
|
+
alias="newCalculationState"
|
|
21
|
+
)
|
|
22
|
+
edit_type: EditType = Field(alias="editType")
|
|
23
|
+
value: Optional["SchedulerObservationsUpdatesObscalcUpdateValue"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class SchedulerObservationsUpdatesObscalcUpdateValue(BaseModel):
|
|
27
|
+
id: Any
|
|
28
|
+
observation_time: Optional[Any] = Field(alias="observationTime")
|
|
29
|
+
execution: "SchedulerObservationsUpdatesObscalcUpdateValueExecution"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecution(BaseModel):
|
|
33
|
+
visits: "SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisits"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisits(BaseModel):
|
|
37
|
+
matches: list[
|
|
38
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatches"
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatches(BaseModel):
|
|
43
|
+
observation: "SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesObservation"
|
|
44
|
+
atom_records: "SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecords" = Field(
|
|
45
|
+
alias="atomRecords"
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesObservation(
|
|
50
|
+
BaseModel
|
|
51
|
+
):
|
|
52
|
+
id: Any
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecords(
|
|
56
|
+
BaseModel
|
|
57
|
+
):
|
|
58
|
+
matches: list[
|
|
59
|
+
"SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecordsMatches"
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecordsMatches(
|
|
64
|
+
BaseModel
|
|
65
|
+
):
|
|
66
|
+
execution_state: AtomExecutionState = Field(alias="executionState")
|
|
67
|
+
id: Any
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
SchedulerObservationsUpdates.model_rebuild()
|
|
71
|
+
SchedulerObservationsUpdatesObscalcUpdate.model_rebuild()
|
|
72
|
+
SchedulerObservationsUpdatesObscalcUpdateValue.model_rebuild()
|
|
73
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecution.model_rebuild()
|
|
74
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisits.model_rebuild()
|
|
75
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatches.model_rebuild()
|
|
76
|
+
SchedulerObservationsUpdatesObscalcUpdateValueExecutionVisitsMatchesAtomRecords.model_rebuild()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/observation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/site_status.py
RENAMED
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/cli/commands/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/async_base_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/base_operation.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/clone_observation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_observation.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/create_program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_mutations.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_queries.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/custom_typing_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_program_by_id.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/delete_target_by_id.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_call_for_proposals.py
RENAMED
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_goats_observations.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_goats_programs.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_observations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_program_by_id.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_scheduler_programs.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/get_target_by_id.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/obs_calculation_update.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/observation_edit.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/package_environment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_program_by_id.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/restore_target_by_id.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_observations.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_program_by_id.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_programs.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_target_by_id.py
RENAMED
|
File without changes
|
{gpp_client-26.5.0.dev2 → gpp_client-26.5.1.dev2}/src/gpp_client/generated/update_targets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|