ourskyai-node-platform-api 1.3.9821__py3-none-any.whl
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.
- ourskyai_node_platform_api/__init__.py +301 -0
- ourskyai_node_platform_api/api/__init__.py +5 -0
- ourskyai_node_platform_api/api/default_api.py +22197 -0
- ourskyai_node_platform_api/api_client.py +758 -0
- ourskyai_node_platform_api/api_response.py +25 -0
- ourskyai_node_platform_api/configuration.py +456 -0
- ourskyai_node_platform_api/exceptions.py +166 -0
- ourskyai_node_platform_api/models/__init__.py +284 -0
- ourskyai_node_platform_api/models/all_sky_camera_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/astro_camera_diagnosis_report.py +79 -0
- ourskyai_node_platform_api/models/auto_stretch_image_completed.py +71 -0
- ourskyai_node_platform_api/models/auto_stretch_image_started.py +71 -0
- ourskyai_node_platform_api/models/autofocus_failed.py +71 -0
- ourskyai_node_platform_api/models/autofocus_finished.py +80 -0
- ourskyai_node_platform_api/models/autofocus_method.py +41 -0
- ourskyai_node_platform_api/models/autofocus_point_added.py +75 -0
- ourskyai_node_platform_api/models/autofocus_started.py +79 -0
- ourskyai_node_platform_api/models/bff_v1_all_sky_images.py +90 -0
- ourskyai_node_platform_api/models/camera_image_captured.py +75 -0
- ourskyai_node_platform_api/models/camera_status_updated.py +76 -0
- ourskyai_node_platform_api/models/camera_temperature_set.py +71 -0
- ourskyai_node_platform_api/models/capture_image_started.py +79 -0
- ourskyai_node_platform_api/models/connection_status.py +41 -0
- ourskyai_node_platform_api/models/create_mount_model_completed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_failed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_started.py +71 -0
- ourskyai_node_platform_api/models/custom_image_processing_container.py +81 -0
- ourskyai_node_platform_api/models/custom_image_processing_container_list.py +81 -0
- ourskyai_node_platform_api/models/debug_logged.py +73 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_completed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_failed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_started.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_point_added.py +75 -0
- ourskyai_node_platform_api/models/empty_success.py +71 -0
- ourskyai_node_platform_api/models/enclosure_shutter_label.py +40 -0
- ourskyai_node_platform_api/models/enclosure_shutter_state.py +46 -0
- ourskyai_node_platform_api/models/enclosure_shutter_statuses_updated.py +75 -0
- ourskyai_node_platform_api/models/enclosure_state.py +50 -0
- ourskyai_node_platform_api/models/event_type.py +94 -0
- ourskyai_node_platform_api/models/fits_header.py +73 -0
- ourskyai_node_platform_api/models/focus_operation.py +43 -0
- ourskyai_node_platform_api/models/focuser_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/focuser_position.py +81 -0
- ourskyai_node_platform_api/models/focuser_status_updated.py +72 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_home_completed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_failed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_started.py +71 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_started.py +73 -0
- ourskyai_node_platform_api/models/gps_data_updated.py +83 -0
- ourskyai_node_platform_api/models/hardware_daemon_logged.py +71 -0
- ourskyai_node_platform_api/models/ice_message.py +87 -0
- ourskyai_node_platform_api/models/image_file_format.py +42 -0
- ourskyai_node_platform_api/models/image_set_type.py +43 -0
- ourskyai_node_platform_api/models/location.py +75 -0
- ourskyai_node_platform_api/models/message_type.py +46 -0
- ourskyai_node_platform_api/models/message_type_wrapper.py +72 -0
- ourskyai_node_platform_api/models/metric_type.py +42 -0
- ourskyai_node_platform_api/models/motor_faulted.py +76 -0
- ourskyai_node_platform_api/models/motor_faults_cleared.py +72 -0
- ourskyai_node_platform_api/models/mount_diagnosis_report.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_added.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_failed.py +73 -0
- ourskyai_node_platform_api/models/mount_status_updated.py +72 -0
- ourskyai_node_platform_api/models/operation_status_updated.py +75 -0
- ourskyai_node_platform_api/models/optical_tube_status.py +71 -0
- ourskyai_node_platform_api/models/optical_tube_status_updated.py +72 -0
- ourskyai_node_platform_api/models/peer.py +78 -0
- ourskyai_node_platform_api/models/peer_role.py +40 -0
- ourskyai_node_platform_api/models/plate_solve_completed.py +75 -0
- ourskyai_node_platform_api/models/plate_solve_failed.py +71 -0
- ourskyai_node_platform_api/models/plate_solve_started.py +71 -0
- ourskyai_node_platform_api/models/platform_connection_diagnosis_report.py +71 -0
- ourskyai_node_platform_api/models/point2_d.py +73 -0
- ourskyai_node_platform_api/models/relay_channel.py +45 -0
- ourskyai_node_platform_api/models/relay_function.py +46 -0
- ourskyai_node_platform_api/models/relays_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/relays_status.py +71 -0
- ourskyai_node_platform_api/models/relays_updated.py +82 -0
- ourskyai_node_platform_api/models/roof_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/roof_state.py +50 -0
- ourskyai_node_platform_api/models/roof_status.py +71 -0
- ourskyai_node_platform_api/models/roof_updated.py +78 -0
- ourskyai_node_platform_api/models/rotator_position.py +73 -0
- ourskyai_node_platform_api/models/rotator_status_updated.py +72 -0
- ourskyai_node_platform_api/models/rotator_target_type.py +40 -0
- ourskyai_node_platform_api/models/safety_status_updated.py +75 -0
- ourskyai_node_platform_api/models/sdp_message.py +73 -0
- ourskyai_node_platform_api/models/slew_demo_enabled.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_failed.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_started.py +71 -0
- ourskyai_node_platform_api/models/stars_measured.py +75 -0
- ourskyai_node_platform_api/models/startup_wizard_step.py +76 -0
- ourskyai_node_platform_api/models/system_event_type.py +96 -0
- ourskyai_node_platform_api/models/task_cancelled.py +78 -0
- ourskyai_node_platform_api/models/task_completed.py +76 -0
- ourskyai_node_platform_api/models/task_scheduled.py +76 -0
- ourskyai_node_platform_api/models/task_started.py +76 -0
- ourskyai_node_platform_api/models/update_custom_image_processing_container_request.py +73 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification.py +74 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_image.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_images.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_keogram.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_keograms.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_prediction_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapse.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapses.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline_element.py +75 -0
- ourskyai_node_platform_api/models/v1_astro_target.py +83 -0
- ourskyai_node_platform_api/models/v1_camera_roll_image.py +86 -0
- ourskyai_node_platform_api/models/v1_camera_status.py +85 -0
- ourskyai_node_platform_api/models/v1_camera_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_cancel_all_tasks_request.py +71 -0
- ourskyai_node_platform_api/models/v1_cancel_task_request.py +73 -0
- ourskyai_node_platform_api/models/v1_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v1_capture_images_continuously_request.py +89 -0
- ourskyai_node_platform_api/models/v1_connected_camera.py +73 -0
- ourskyai_node_platform_api/models/v1_create_mount_model_request.py +77 -0
- ourskyai_node_platform_api/models/v1_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v1_delete_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_diagnose_system_request.py +85 -0
- ourskyai_node_platform_api/models/v1_disable_live_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_elevation_mask.py +81 -0
- ourskyai_node_platform_api/models/v1_elevation_mask_point.py +75 -0
- ourskyai_node_platform_api/models/v1_enable_live_video_request.py +81 -0
- ourskyai_node_platform_api/models/v1_enclosure_rotator_status.py +75 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_status.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_status.py +78 -0
- ourskyai_node_platform_api/models/v1_enclosure_window_status.py +75 -0
- ourskyai_node_platform_api/models/v1_end_session_request.py +73 -0
- ourskyai_node_platform_api/models/v1_event.py +80 -0
- ourskyai_node_platform_api/models/v1_event_data.py +911 -0
- ourskyai_node_platform_api/models/v1_filter.py +74 -0
- ourskyai_node_platform_api/models/v1_filter_type.py +65 -0
- ourskyai_node_platform_api/models/v1_filter_wheel_status.py +85 -0
- ourskyai_node_platform_api/models/v1_focuser_limit.py +73 -0
- ourskyai_node_platform_api/models/v1_focuser_status.py +79 -0
- ourskyai_node_platform_api/models/v1_follow_tle_request.py +73 -0
- ourskyai_node_platform_api/models/v1_get_component_status_response.py +145 -0
- ourskyai_node_platform_api/models/v1_get_health_check_response.py +83 -0
- ourskyai_node_platform_api/models/v1_get_storage_status_response.py +75 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status.py +88 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status_details.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_filter_wheel_position_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_go_to_m3_port_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_mount_coordinates_request.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_rotator_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_image.py +103 -0
- ourskyai_node_platform_api/models/v1_images.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_rotator_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutters_request.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_window_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_mount_request.py +73 -0
- ourskyai_node_platform_api/models/v1_last_sample.py +75 -0
- ourskyai_node_platform_api/models/v1_latest_image.py +89 -0
- ourskyai_node_platform_api/models/v1_list_producers_request.py +71 -0
- ourskyai_node_platform_api/models/v1_list_producers_response.py +81 -0
- ourskyai_node_platform_api/models/v1_m3_status.py +73 -0
- ourskyai_node_platform_api/models/v1_metric.py +82 -0
- ourskyai_node_platform_api/models/v1_motor.py +46 -0
- ourskyai_node_platform_api/models/v1_motor_status.py +87 -0
- ourskyai_node_platform_api/models/v1_mount_model.py +81 -0
- ourskyai_node_platform_api/models/v1_mount_model_point.py +77 -0
- ourskyai_node_platform_api/models/v1_mount_status.py +93 -0
- ourskyai_node_platform_api/models/v1_mount_system_settings.py +73 -0
- ourskyai_node_platform_api/models/v1_move_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_move_focuser_response.py +77 -0
- ourskyai_node_platform_api/models/v1_move_focuser_steps_request.py +74 -0
- ourskyai_node_platform_api/models/v1_node_history.py +73 -0
- ourskyai_node_platform_api/models/v1_node_overview.py +122 -0
- ourskyai_node_platform_api/models/v1_node_status.py +43 -0
- ourskyai_node_platform_api/models/v1_ntp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ntp_status_details.py +73 -0
- ourskyai_node_platform_api/models/v1_open_enclosure_shutters_request.py +71 -0
- ourskyai_node_platform_api/models/v1_open_roof_request.py +71 -0
- ourskyai_node_platform_api/models/v1_optical_tube_cover_status.py +73 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_role.py +46 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_role.py +41 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_status.py +87 -0
- ourskyai_node_platform_api/models/v1_peer_status_changed_request.py +81 -0
- ourskyai_node_platform_api/models/v1_ptp_data_set.py +75 -0
- ourskyai_node_platform_api/models/v1_ptp_port_properties.py +77 -0
- ourskyai_node_platform_api/models/v1_ptp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ptp_status_details.py +102 -0
- ourskyai_node_platform_api/models/v1_ptp_time_status.py +85 -0
- ourskyai_node_platform_api/models/v1_record_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_relay.py +74 -0
- ourskyai_node_platform_api/models/v1_reset_mount_system_settings_to_default_request.py +73 -0
- ourskyai_node_platform_api/models/v1_reset_system_settings_to_default_request.py +75 -0
- ourskyai_node_platform_api/models/v1_roof_status.py +78 -0
- ourskyai_node_platform_api/models/v1_rotator_status.py +81 -0
- ourskyai_node_platform_api/models/v1_run_autofocus_request.py +82 -0
- ourskyai_node_platform_api/models/v1_run_blind_autofocus_request.py +73 -0
- ourskyai_node_platform_api/models/v1_safety_status.py +83 -0
- ourskyai_node_platform_api/models/v1_save_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_set_mount_park_position_request.py +73 -0
- ourskyai_node_platform_api/models/v1_set_optical_tube_heater_power_request.py +74 -0
- ourskyai_node_platform_api/models/v1_set_peer_status_request.py +88 -0
- ourskyai_node_platform_api/models/v1_set_relay_state_request.py +74 -0
- ourskyai_node_platform_api/models/v1_signal_message_request.py +90 -0
- ourskyai_node_platform_api/models/v1_signalling_request.py +225 -0
- ourskyai_node_platform_api/models/v1_source_statistics.py +103 -0
- ourskyai_node_platform_api/models/v1_start_session_request.py +90 -0
- ourskyai_node_platform_api/models/v1_stop_capturing_images_continuously_request.py +71 -0
- ourskyai_node_platform_api/models/v1_stop_recording_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_suntimes.py +87 -0
- ourskyai_node_platform_api/models/v1_system_diagnosis_report.py +117 -0
- ourskyai_node_platform_api/models/v1_system_event.py +80 -0
- ourskyai_node_platform_api/models/v1_system_event_data.py +939 -0
- ourskyai_node_platform_api/models/v1_system_events.py +79 -0
- ourskyai_node_platform_api/models/v1_system_health_check.py +86 -0
- ourskyai_node_platform_api/models/v1_system_location.py +83 -0
- ourskyai_node_platform_api/models/v1_system_location_gps_details.py +77 -0
- ourskyai_node_platform_api/models/v1_system_metric.py +88 -0
- ourskyai_node_platform_api/models/v1_system_metric_names.py +71 -0
- ourskyai_node_platform_api/models/v1_system_metric_tag.py +73 -0
- ourskyai_node_platform_api/models/v1_system_metric_type.py +40 -0
- ourskyai_node_platform_api/models/v1_system_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_system_network_interface.py +83 -0
- ourskyai_node_platform_api/models/v1_system_network_interface_info.py +75 -0
- ourskyai_node_platform_api/models/v1_system_network_interfaces.py +79 -0
- ourskyai_node_platform_api/models/v1_system_operation_mode.py +41 -0
- ourskyai_node_platform_api/models/v1_system_operation_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_settings.py +75 -0
- ourskyai_node_platform_api/models/v1_system_status.py +135 -0
- ourskyai_node_platform_api/models/v1_system_storage_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_time.py +94 -0
- ourskyai_node_platform_api/models/v1_system_variant.py +43 -0
- ourskyai_node_platform_api/models/v1_task.py +78 -0
- ourskyai_node_platform_api/models/v1_task_type.py +47 -0
- ourskyai_node_platform_api/models/v1_time_source.py +42 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset.py +86 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset_type.py +40 -0
- ourskyai_node_platform_api/models/v1_turn_off_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_turn_on_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_ui_operation_mode.py +40 -0
- ourskyai_node_platform_api/models/v1_update_filter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_video.py +105 -0
- ourskyai_node_platform_api/models/v1_videos.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_forecast.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_city.py +73 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_item.py +103 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_temperature.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_weather.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_metric.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_station_status.py +71 -0
- ourskyai_node_platform_api/models/v2_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v2_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v2_enclosure_status.py +87 -0
- ourskyai_node_platform_api/models/v2_mount_status.py +94 -0
- ourskyai_node_platform_api/models/v2_relay_status.py +76 -0
- ourskyai_node_platform_api/models/v2_relay_statuses.py +79 -0
- ourskyai_node_platform_api/models/v2_turn_off_relay_request.py +72 -0
- ourskyai_node_platform_api/models/v2_turn_on_relay_request.py +72 -0
- ourskyai_node_platform_api/models/video_codec.py +39 -0
- ourskyai_node_platform_api/models/video_container_format.py +39 -0
- ourskyai_node_platform_api/models/wavefront_sensor_data_updated.py +110 -0
- ourskyai_node_platform_api/models/weather_station_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/weather_station_status_updated.py +72 -0
- ourskyai_node_platform_api/py.typed +0 -0
- ourskyai_node_platform_api/rest.py +303 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/METADATA +23 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/RECORD +282 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/WHEEL +5 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from typing import Optional, Union
|
|
22
|
+
from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, validator
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_all_sky_prediction_label import V1AllSkyPredictionLabel
|
|
24
|
+
|
|
25
|
+
class V1LatestImage(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
V1LatestImage
|
|
28
|
+
"""
|
|
29
|
+
image_id: StrictStr = Field(..., alias="imageId")
|
|
30
|
+
image_url: StrictStr = Field(..., alias="imageUrl")
|
|
31
|
+
captured_at: datetime = Field(..., alias="capturedAt")
|
|
32
|
+
type: StrictStr = Field(...)
|
|
33
|
+
prediction_label: Optional[V1AllSkyPredictionLabel] = Field(None, alias="predictionLabel")
|
|
34
|
+
prediction_confidence: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="predictionConfidence")
|
|
35
|
+
__properties = ["imageId", "imageUrl", "capturedAt", "type", "predictionLabel", "predictionConfidence"]
|
|
36
|
+
|
|
37
|
+
@validator('type')
|
|
38
|
+
def type_validate_enum(cls, value):
|
|
39
|
+
"""Validates the enum"""
|
|
40
|
+
if value not in ('ASTRONOMICAL', 'EARTH_ORBITAL', 'GNSS_CALIBRATION', 'SATELLITE_CALIBRATION', 'ALL_SKY', 'RESOLVED_SATELLITE'):
|
|
41
|
+
raise ValueError("must be one of enum values ('ASTRONOMICAL', 'EARTH_ORBITAL', 'GNSS_CALIBRATION', 'SATELLITE_CALIBRATION', 'ALL_SKY', 'RESOLVED_SATELLITE')")
|
|
42
|
+
return value
|
|
43
|
+
|
|
44
|
+
class Config:
|
|
45
|
+
"""Pydantic configuration"""
|
|
46
|
+
allow_population_by_field_name = True
|
|
47
|
+
validate_assignment = True
|
|
48
|
+
|
|
49
|
+
def to_str(self) -> str:
|
|
50
|
+
"""Returns the string representation of the model using alias"""
|
|
51
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
52
|
+
|
|
53
|
+
def to_json(self) -> str:
|
|
54
|
+
"""Returns the JSON representation of the model using alias"""
|
|
55
|
+
return json.dumps(self.to_dict())
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_json(cls, json_str: str) -> V1LatestImage:
|
|
59
|
+
"""Create an instance of V1LatestImage from a JSON string"""
|
|
60
|
+
return cls.from_dict(json.loads(json_str))
|
|
61
|
+
|
|
62
|
+
def to_dict(self):
|
|
63
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
64
|
+
_dict = self.dict(by_alias=True,
|
|
65
|
+
exclude={
|
|
66
|
+
},
|
|
67
|
+
exclude_none=True)
|
|
68
|
+
return _dict
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_dict(cls, obj: dict) -> V1LatestImage:
|
|
72
|
+
"""Create an instance of V1LatestImage from a dict"""
|
|
73
|
+
if obj is None:
|
|
74
|
+
return None
|
|
75
|
+
|
|
76
|
+
if not isinstance(obj, dict):
|
|
77
|
+
return V1LatestImage.parse_obj(obj)
|
|
78
|
+
|
|
79
|
+
_obj = V1LatestImage.parse_obj({
|
|
80
|
+
"image_id": obj.get("imageId"),
|
|
81
|
+
"image_url": obj.get("imageUrl"),
|
|
82
|
+
"captured_at": obj.get("capturedAt"),
|
|
83
|
+
"type": obj.get("type"),
|
|
84
|
+
"prediction_label": obj.get("predictionLabel"),
|
|
85
|
+
"prediction_confidence": obj.get("predictionConfidence")
|
|
86
|
+
})
|
|
87
|
+
return _obj
|
|
88
|
+
|
|
89
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, Field, StrictStr
|
|
23
|
+
|
|
24
|
+
class V1ListProducersRequest(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
list available producers # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
type: StrictStr = Field(..., description="Type of message")
|
|
29
|
+
__properties = ["type"]
|
|
30
|
+
|
|
31
|
+
class Config:
|
|
32
|
+
"""Pydantic configuration"""
|
|
33
|
+
allow_population_by_field_name = True
|
|
34
|
+
validate_assignment = True
|
|
35
|
+
|
|
36
|
+
def to_str(self) -> str:
|
|
37
|
+
"""Returns the string representation of the model using alias"""
|
|
38
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
39
|
+
|
|
40
|
+
def to_json(self) -> str:
|
|
41
|
+
"""Returns the JSON representation of the model using alias"""
|
|
42
|
+
return json.dumps(self.to_dict())
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_json(cls, json_str: str) -> V1ListProducersRequest:
|
|
46
|
+
"""Create an instance of V1ListProducersRequest from a JSON string"""
|
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
|
48
|
+
|
|
49
|
+
def to_dict(self):
|
|
50
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
51
|
+
_dict = self.dict(by_alias=True,
|
|
52
|
+
exclude={
|
|
53
|
+
},
|
|
54
|
+
exclude_none=True)
|
|
55
|
+
return _dict
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_dict(cls, obj: dict) -> V1ListProducersRequest:
|
|
59
|
+
"""Create an instance of V1ListProducersRequest from a dict"""
|
|
60
|
+
if obj is None:
|
|
61
|
+
return None
|
|
62
|
+
|
|
63
|
+
if not isinstance(obj, dict):
|
|
64
|
+
return V1ListProducersRequest.parse_obj(obj)
|
|
65
|
+
|
|
66
|
+
_obj = V1ListProducersRequest.parse_obj({
|
|
67
|
+
"type": obj.get("type")
|
|
68
|
+
})
|
|
69
|
+
return _obj
|
|
70
|
+
|
|
71
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import List
|
|
22
|
+
from pydantic import BaseModel, Field, StrictStr, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.peer import Peer
|
|
24
|
+
|
|
25
|
+
class V1ListProducersResponse(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
List Producers response # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
type: StrictStr = Field(..., description="Type of message")
|
|
30
|
+
producers: conlist(Peer) = Field(..., description="list of peers")
|
|
31
|
+
__properties = ["type", "producers"]
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
"""Pydantic configuration"""
|
|
35
|
+
allow_population_by_field_name = True
|
|
36
|
+
validate_assignment = True
|
|
37
|
+
|
|
38
|
+
def to_str(self) -> str:
|
|
39
|
+
"""Returns the string representation of the model using alias"""
|
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
41
|
+
|
|
42
|
+
def to_json(self) -> str:
|
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> V1ListProducersResponse:
|
|
48
|
+
"""Create an instance of V1ListProducersResponse from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self):
|
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
53
|
+
_dict = self.dict(by_alias=True,
|
|
54
|
+
exclude={
|
|
55
|
+
},
|
|
56
|
+
exclude_none=True)
|
|
57
|
+
# override the default output from pydantic by calling `to_dict()` of each item in producers (list)
|
|
58
|
+
_items = []
|
|
59
|
+
if self.producers:
|
|
60
|
+
for _item in self.producers:
|
|
61
|
+
if _item:
|
|
62
|
+
_items.append(_item.to_dict())
|
|
63
|
+
_dict['producers'] = _items
|
|
64
|
+
return _dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls, obj: dict) -> V1ListProducersResponse:
|
|
68
|
+
"""Create an instance of V1ListProducersResponse from a dict"""
|
|
69
|
+
if obj is None:
|
|
70
|
+
return None
|
|
71
|
+
|
|
72
|
+
if not isinstance(obj, dict):
|
|
73
|
+
return V1ListProducersResponse.parse_obj(obj)
|
|
74
|
+
|
|
75
|
+
_obj = V1ListProducersResponse.parse_obj({
|
|
76
|
+
"type": obj.get("type"),
|
|
77
|
+
"producers": [Peer.from_dict(_item) for _item in obj.get("producers")] if obj.get("producers") is not None else None
|
|
78
|
+
})
|
|
79
|
+
return _obj
|
|
80
|
+
|
|
81
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool, StrictInt
|
|
23
|
+
|
|
24
|
+
class V1M3Status(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Current status of the M3 tertiary mirror port selector including connection state and active port position. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
connected: StrictBool = Field(..., description="Indicates whether communication with the M3 mechanism is active. When false, the M3 mirror cannot be controlled and port position may be unknown.")
|
|
29
|
+
port: StrictInt = Field(..., description="Current port position indicating which instrument port the M3 mirror is directing light to. Use this to verify the active instrument before imaging.")
|
|
30
|
+
__properties = ["connected", "port"]
|
|
31
|
+
|
|
32
|
+
class Config:
|
|
33
|
+
"""Pydantic configuration"""
|
|
34
|
+
allow_population_by_field_name = True
|
|
35
|
+
validate_assignment = True
|
|
36
|
+
|
|
37
|
+
def to_str(self) -> str:
|
|
38
|
+
"""Returns the string representation of the model using alias"""
|
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
40
|
+
|
|
41
|
+
def to_json(self) -> str:
|
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
|
43
|
+
return json.dumps(self.to_dict())
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_json(cls, json_str: str) -> V1M3Status:
|
|
47
|
+
"""Create an instance of V1M3Status from a JSON string"""
|
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
|
49
|
+
|
|
50
|
+
def to_dict(self):
|
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
52
|
+
_dict = self.dict(by_alias=True,
|
|
53
|
+
exclude={
|
|
54
|
+
},
|
|
55
|
+
exclude_none=True)
|
|
56
|
+
return _dict
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_dict(cls, obj: dict) -> V1M3Status:
|
|
60
|
+
"""Create an instance of V1M3Status from a dict"""
|
|
61
|
+
if obj is None:
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
if not isinstance(obj, dict):
|
|
65
|
+
return V1M3Status.parse_obj(obj)
|
|
66
|
+
|
|
67
|
+
_obj = V1M3Status.parse_obj({
|
|
68
|
+
"connected": obj.get("connected"),
|
|
69
|
+
"port": obj.get("port")
|
|
70
|
+
})
|
|
71
|
+
return _obj
|
|
72
|
+
|
|
73
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from typing import List, Optional, Union
|
|
22
|
+
from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.metric_type import MetricType
|
|
24
|
+
|
|
25
|
+
class V1Metric(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
V1Metric
|
|
28
|
+
"""
|
|
29
|
+
name: StrictStr = Field(...)
|
|
30
|
+
value: Union[StrictFloat, StrictInt] = Field(...)
|
|
31
|
+
tags: Optional[conlist(StrictStr)] = Field(None, description="List of colon separated key value pairs, i.e. [\"tag1:value1\",\"tag2:value2\"]")
|
|
32
|
+
description: Optional[StrictStr] = None
|
|
33
|
+
type: MetricType = Field(...)
|
|
34
|
+
measured_at: datetime = Field(..., alias="measuredAt")
|
|
35
|
+
__properties = ["name", "value", "tags", "description", "type", "measuredAt"]
|
|
36
|
+
|
|
37
|
+
class Config:
|
|
38
|
+
"""Pydantic configuration"""
|
|
39
|
+
allow_population_by_field_name = True
|
|
40
|
+
validate_assignment = True
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> V1Metric:
|
|
52
|
+
"""Create an instance of V1Metric from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self):
|
|
56
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
57
|
+
_dict = self.dict(by_alias=True,
|
|
58
|
+
exclude={
|
|
59
|
+
},
|
|
60
|
+
exclude_none=True)
|
|
61
|
+
return _dict
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def from_dict(cls, obj: dict) -> V1Metric:
|
|
65
|
+
"""Create an instance of V1Metric from a dict"""
|
|
66
|
+
if obj is None:
|
|
67
|
+
return None
|
|
68
|
+
|
|
69
|
+
if not isinstance(obj, dict):
|
|
70
|
+
return V1Metric.parse_obj(obj)
|
|
71
|
+
|
|
72
|
+
_obj = V1Metric.parse_obj({
|
|
73
|
+
"name": obj.get("name"),
|
|
74
|
+
"value": obj.get("value"),
|
|
75
|
+
"tags": obj.get("tags"),
|
|
76
|
+
"description": obj.get("description"),
|
|
77
|
+
"type": obj.get("type"),
|
|
78
|
+
"measured_at": obj.get("measuredAt")
|
|
79
|
+
})
|
|
80
|
+
return _obj
|
|
81
|
+
|
|
82
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
import json
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
from aenum import Enum, no_arg
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class V1Motor(str, Enum):
|
|
25
|
+
"""
|
|
26
|
+
Identifies a specific motor in the telescope system for fault reporting and control purposes.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
allowed enum values
|
|
31
|
+
"""
|
|
32
|
+
MOUNT_MOTOR_A = 'MOUNT_MOTOR_A'
|
|
33
|
+
MOUNT_MOTOR_B = 'MOUNT_MOTOR_B'
|
|
34
|
+
ENCLOSURE_ROTATOR_MOTOR = 'ENCLOSURE_ROTATOR_MOTOR'
|
|
35
|
+
ENCLOSURE_WINDOW_MOTOR = 'ENCLOSURE_WINDOW_MOTOR'
|
|
36
|
+
ENCLOSURE_SHUTTER_MOTOR_A = 'ENCLOSURE_SHUTTER_MOTOR_A'
|
|
37
|
+
ENCLOSURE_SHUTTER_MOTOR_B = 'ENCLOSURE_SHUTTER_MOTOR_B'
|
|
38
|
+
ROTATOR1_MOTOR = 'ROTATOR1_MOTOR'
|
|
39
|
+
FOCUSER1_MOTOR = 'FOCUSER1_MOTOR'
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def from_json(cls, json_str: str) -> V1Motor:
|
|
43
|
+
"""Create an instance of V1Motor from a JSON string"""
|
|
44
|
+
return V1Motor(json.loads(json_str))
|
|
45
|
+
|
|
46
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import Optional, Union
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
|
23
|
+
|
|
24
|
+
class V1MotorStatus(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Detailed telemetry and status information for a single mount motor axis, providing low-level diagnostic data. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
connected: StrictBool = Field(..., description="Indicates whether communication with this motor controller is active. When false, the motor cannot be commanded and telemetry may be unavailable.")
|
|
29
|
+
is_emergency_stop_pressed: StrictBool = Field(..., alias="isEmergencyStopPressed", description="Indicates whether the emergency stop signal is active for this motor. When true, the motor is inhibited from any movement.")
|
|
30
|
+
is_enabled: StrictBool = Field(..., alias="isEnabled", description="Indicates whether the motor is enabled and ready to accept motion commands. Motors must be enabled before slewing or tracking can occur.")
|
|
31
|
+
has_error: StrictBool = Field(..., alias="hasError", description="Indicates whether the motor controller has detected a fault condition. Check errorDescription for details when this is true.")
|
|
32
|
+
error_description: Optional[StrictStr] = Field(None, alias="errorDescription", description="Human-readable description of the current motor error condition. Only populated when hasError is true. Use this for troubleshooting motor faults.")
|
|
33
|
+
position_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="positionDegrees", description="Current angular position of the motor axis in degrees. This is the raw motor position before any pointing model corrections are applied.")
|
|
34
|
+
acceleration_degrees_per_second_squared: Union[StrictFloat, StrictInt] = Field(..., alias="accelerationDegreesPerSecondSquared", description="Current acceleration of the motor axis in degrees per second squared. Useful for monitoring motion profile and detecting mechanical issues.")
|
|
35
|
+
distance_to_target_arcseconds: Union[StrictFloat, StrictInt] = Field(..., alias="distanceToTargetArcseconds", description="Remaining angular distance to the target position in arcseconds. Approaches zero as the motor reaches its commanded position during slews.")
|
|
36
|
+
measured_velocity_degrees_per_second: Union[StrictFloat, StrictInt] = Field(..., alias="measuredVelocityDegreesPerSecond", description="Current measured angular velocity of the motor in degrees per second. During tracking, this reflects the sidereal rate; during slews, it shows slew speed.")
|
|
37
|
+
__properties = ["connected", "isEmergencyStopPressed", "isEnabled", "hasError", "errorDescription", "positionDegrees", "accelerationDegreesPerSecondSquared", "distanceToTargetArcseconds", "measuredVelocityDegreesPerSecond"]
|
|
38
|
+
|
|
39
|
+
class Config:
|
|
40
|
+
"""Pydantic configuration"""
|
|
41
|
+
allow_population_by_field_name = True
|
|
42
|
+
validate_assignment = True
|
|
43
|
+
|
|
44
|
+
def to_str(self) -> str:
|
|
45
|
+
"""Returns the string representation of the model using alias"""
|
|
46
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
47
|
+
|
|
48
|
+
def to_json(self) -> str:
|
|
49
|
+
"""Returns the JSON representation of the model using alias"""
|
|
50
|
+
return json.dumps(self.to_dict())
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> V1MotorStatus:
|
|
54
|
+
"""Create an instance of V1MotorStatus from a JSON string"""
|
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
|
56
|
+
|
|
57
|
+
def to_dict(self):
|
|
58
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
59
|
+
_dict = self.dict(by_alias=True,
|
|
60
|
+
exclude={
|
|
61
|
+
},
|
|
62
|
+
exclude_none=True)
|
|
63
|
+
return _dict
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def from_dict(cls, obj: dict) -> V1MotorStatus:
|
|
67
|
+
"""Create an instance of V1MotorStatus from a dict"""
|
|
68
|
+
if obj is None:
|
|
69
|
+
return None
|
|
70
|
+
|
|
71
|
+
if not isinstance(obj, dict):
|
|
72
|
+
return V1MotorStatus.parse_obj(obj)
|
|
73
|
+
|
|
74
|
+
_obj = V1MotorStatus.parse_obj({
|
|
75
|
+
"connected": obj.get("connected"),
|
|
76
|
+
"is_emergency_stop_pressed": obj.get("isEmergencyStopPressed"),
|
|
77
|
+
"is_enabled": obj.get("isEnabled"),
|
|
78
|
+
"has_error": obj.get("hasError"),
|
|
79
|
+
"error_description": obj.get("errorDescription"),
|
|
80
|
+
"position_degrees": obj.get("positionDegrees"),
|
|
81
|
+
"acceleration_degrees_per_second_squared": obj.get("accelerationDegreesPerSecondSquared"),
|
|
82
|
+
"distance_to_target_arcseconds": obj.get("distanceToTargetArcseconds"),
|
|
83
|
+
"measured_velocity_degrees_per_second": obj.get("measuredVelocityDegreesPerSecond")
|
|
84
|
+
})
|
|
85
|
+
return _obj
|
|
86
|
+
|
|
87
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from typing import List
|
|
22
|
+
from pydantic import BaseModel, Field, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_mount_model_point import V1MountModelPoint
|
|
24
|
+
|
|
25
|
+
class V1MountModel(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Pointing model data containing calibration points used to correct mount pointing accuracy. Built through automated plate solving at multiple sky positions. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
points: conlist(V1MountModelPoint) = Field(..., description="Array of calibration points where plate solving determined the actual vs commanded position. More points generally yield better accuracy.")
|
|
30
|
+
created_at: datetime = Field(..., alias="createdAt", description="ISO 8601 timestamp indicating when this pointing model was created. Models may need rebuilding if mount mechanics change significantly.")
|
|
31
|
+
__properties = ["points", "createdAt"]
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
"""Pydantic configuration"""
|
|
35
|
+
allow_population_by_field_name = True
|
|
36
|
+
validate_assignment = True
|
|
37
|
+
|
|
38
|
+
def to_str(self) -> str:
|
|
39
|
+
"""Returns the string representation of the model using alias"""
|
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
41
|
+
|
|
42
|
+
def to_json(self) -> str:
|
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> V1MountModel:
|
|
48
|
+
"""Create an instance of V1MountModel from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self):
|
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
53
|
+
_dict = self.dict(by_alias=True,
|
|
54
|
+
exclude={
|
|
55
|
+
},
|
|
56
|
+
exclude_none=True)
|
|
57
|
+
# override the default output from pydantic by calling `to_dict()` of each item in points (list)
|
|
58
|
+
_items = []
|
|
59
|
+
if self.points:
|
|
60
|
+
for _item in self.points:
|
|
61
|
+
if _item:
|
|
62
|
+
_items.append(_item.to_dict())
|
|
63
|
+
_dict['points'] = _items
|
|
64
|
+
return _dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls, obj: dict) -> V1MountModel:
|
|
68
|
+
"""Create an instance of V1MountModel from a dict"""
|
|
69
|
+
if obj is None:
|
|
70
|
+
return None
|
|
71
|
+
|
|
72
|
+
if not isinstance(obj, dict):
|
|
73
|
+
return V1MountModel.parse_obj(obj)
|
|
74
|
+
|
|
75
|
+
_obj = V1MountModel.parse_obj({
|
|
76
|
+
"points": [V1MountModelPoint.from_dict(_item) for _item in obj.get("points")] if obj.get("points") is not None else None,
|
|
77
|
+
"created_at": obj.get("createdAt")
|
|
78
|
+
})
|
|
79
|
+
return _obj
|
|
80
|
+
|
|
81
|
+
|