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.
Files changed (282) hide show
  1. ourskyai_node_platform_api/__init__.py +301 -0
  2. ourskyai_node_platform_api/api/__init__.py +5 -0
  3. ourskyai_node_platform_api/api/default_api.py +22197 -0
  4. ourskyai_node_platform_api/api_client.py +758 -0
  5. ourskyai_node_platform_api/api_response.py +25 -0
  6. ourskyai_node_platform_api/configuration.py +456 -0
  7. ourskyai_node_platform_api/exceptions.py +166 -0
  8. ourskyai_node_platform_api/models/__init__.py +284 -0
  9. ourskyai_node_platform_api/models/all_sky_camera_diagnosis_report.py +73 -0
  10. ourskyai_node_platform_api/models/astro_camera_diagnosis_report.py +79 -0
  11. ourskyai_node_platform_api/models/auto_stretch_image_completed.py +71 -0
  12. ourskyai_node_platform_api/models/auto_stretch_image_started.py +71 -0
  13. ourskyai_node_platform_api/models/autofocus_failed.py +71 -0
  14. ourskyai_node_platform_api/models/autofocus_finished.py +80 -0
  15. ourskyai_node_platform_api/models/autofocus_method.py +41 -0
  16. ourskyai_node_platform_api/models/autofocus_point_added.py +75 -0
  17. ourskyai_node_platform_api/models/autofocus_started.py +79 -0
  18. ourskyai_node_platform_api/models/bff_v1_all_sky_images.py +90 -0
  19. ourskyai_node_platform_api/models/camera_image_captured.py +75 -0
  20. ourskyai_node_platform_api/models/camera_status_updated.py +76 -0
  21. ourskyai_node_platform_api/models/camera_temperature_set.py +71 -0
  22. ourskyai_node_platform_api/models/capture_image_started.py +79 -0
  23. ourskyai_node_platform_api/models/connection_status.py +41 -0
  24. ourskyai_node_platform_api/models/create_mount_model_completed.py +71 -0
  25. ourskyai_node_platform_api/models/create_mount_model_failed.py +71 -0
  26. ourskyai_node_platform_api/models/create_mount_model_started.py +71 -0
  27. ourskyai_node_platform_api/models/custom_image_processing_container.py +81 -0
  28. ourskyai_node_platform_api/models/custom_image_processing_container_list.py +81 -0
  29. ourskyai_node_platform_api/models/debug_logged.py +73 -0
  30. ourskyai_node_platform_api/models/elevation_mask_diagnostic_completed.py +71 -0
  31. ourskyai_node_platform_api/models/elevation_mask_diagnostic_failed.py +71 -0
  32. ourskyai_node_platform_api/models/elevation_mask_diagnostic_started.py +71 -0
  33. ourskyai_node_platform_api/models/elevation_mask_point_added.py +75 -0
  34. ourskyai_node_platform_api/models/empty_success.py +71 -0
  35. ourskyai_node_platform_api/models/enclosure_shutter_label.py +40 -0
  36. ourskyai_node_platform_api/models/enclosure_shutter_state.py +46 -0
  37. ourskyai_node_platform_api/models/enclosure_shutter_statuses_updated.py +75 -0
  38. ourskyai_node_platform_api/models/enclosure_state.py +50 -0
  39. ourskyai_node_platform_api/models/event_type.py +94 -0
  40. ourskyai_node_platform_api/models/fits_header.py +73 -0
  41. ourskyai_node_platform_api/models/focus_operation.py +43 -0
  42. ourskyai_node_platform_api/models/focuser_diagnosis_report.py +73 -0
  43. ourskyai_node_platform_api/models/focuser_position.py +81 -0
  44. ourskyai_node_platform_api/models/focuser_status_updated.py +72 -0
  45. ourskyai_node_platform_api/models/go_to_altitude_azimuth_completed.py +73 -0
  46. ourskyai_node_platform_api/models/go_to_altitude_azimuth_failed.py +73 -0
  47. ourskyai_node_platform_api/models/go_to_altitude_azimuth_started.py +73 -0
  48. ourskyai_node_platform_api/models/go_to_home_completed.py +71 -0
  49. ourskyai_node_platform_api/models/go_to_home_failed.py +71 -0
  50. ourskyai_node_platform_api/models/go_to_home_started.py +71 -0
  51. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_completed.py +73 -0
  52. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_failed.py +73 -0
  53. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_started.py +73 -0
  54. ourskyai_node_platform_api/models/go_to_ra_dec_completed.py +73 -0
  55. ourskyai_node_platform_api/models/go_to_ra_dec_failed.py +73 -0
  56. ourskyai_node_platform_api/models/go_to_ra_dec_started.py +73 -0
  57. ourskyai_node_platform_api/models/gps_data_updated.py +83 -0
  58. ourskyai_node_platform_api/models/hardware_daemon_logged.py +71 -0
  59. ourskyai_node_platform_api/models/ice_message.py +87 -0
  60. ourskyai_node_platform_api/models/image_file_format.py +42 -0
  61. ourskyai_node_platform_api/models/image_set_type.py +43 -0
  62. ourskyai_node_platform_api/models/location.py +75 -0
  63. ourskyai_node_platform_api/models/message_type.py +46 -0
  64. ourskyai_node_platform_api/models/message_type_wrapper.py +72 -0
  65. ourskyai_node_platform_api/models/metric_type.py +42 -0
  66. ourskyai_node_platform_api/models/motor_faulted.py +76 -0
  67. ourskyai_node_platform_api/models/motor_faults_cleared.py +72 -0
  68. ourskyai_node_platform_api/models/mount_diagnosis_report.py +77 -0
  69. ourskyai_node_platform_api/models/mount_model_point_added.py +77 -0
  70. ourskyai_node_platform_api/models/mount_model_point_failed.py +73 -0
  71. ourskyai_node_platform_api/models/mount_status_updated.py +72 -0
  72. ourskyai_node_platform_api/models/operation_status_updated.py +75 -0
  73. ourskyai_node_platform_api/models/optical_tube_status.py +71 -0
  74. ourskyai_node_platform_api/models/optical_tube_status_updated.py +72 -0
  75. ourskyai_node_platform_api/models/peer.py +78 -0
  76. ourskyai_node_platform_api/models/peer_role.py +40 -0
  77. ourskyai_node_platform_api/models/plate_solve_completed.py +75 -0
  78. ourskyai_node_platform_api/models/plate_solve_failed.py +71 -0
  79. ourskyai_node_platform_api/models/plate_solve_started.py +71 -0
  80. ourskyai_node_platform_api/models/platform_connection_diagnosis_report.py +71 -0
  81. ourskyai_node_platform_api/models/point2_d.py +73 -0
  82. ourskyai_node_platform_api/models/relay_channel.py +45 -0
  83. ourskyai_node_platform_api/models/relay_function.py +46 -0
  84. ourskyai_node_platform_api/models/relays_diagnosis_report.py +75 -0
  85. ourskyai_node_platform_api/models/relays_status.py +71 -0
  86. ourskyai_node_platform_api/models/relays_updated.py +82 -0
  87. ourskyai_node_platform_api/models/roof_diagnosis_report.py +75 -0
  88. ourskyai_node_platform_api/models/roof_state.py +50 -0
  89. ourskyai_node_platform_api/models/roof_status.py +71 -0
  90. ourskyai_node_platform_api/models/roof_updated.py +78 -0
  91. ourskyai_node_platform_api/models/rotator_position.py +73 -0
  92. ourskyai_node_platform_api/models/rotator_status_updated.py +72 -0
  93. ourskyai_node_platform_api/models/rotator_target_type.py +40 -0
  94. ourskyai_node_platform_api/models/safety_status_updated.py +75 -0
  95. ourskyai_node_platform_api/models/sdp_message.py +73 -0
  96. ourskyai_node_platform_api/models/slew_demo_enabled.py +71 -0
  97. ourskyai_node_platform_api/models/star_measurement_failed.py +71 -0
  98. ourskyai_node_platform_api/models/star_measurement_started.py +71 -0
  99. ourskyai_node_platform_api/models/stars_measured.py +75 -0
  100. ourskyai_node_platform_api/models/startup_wizard_step.py +76 -0
  101. ourskyai_node_platform_api/models/system_event_type.py +96 -0
  102. ourskyai_node_platform_api/models/task_cancelled.py +78 -0
  103. ourskyai_node_platform_api/models/task_completed.py +76 -0
  104. ourskyai_node_platform_api/models/task_scheduled.py +76 -0
  105. ourskyai_node_platform_api/models/task_started.py +76 -0
  106. ourskyai_node_platform_api/models/update_custom_image_processing_container_request.py +73 -0
  107. ourskyai_node_platform_api/models/v1_all_sky_classification.py +74 -0
  108. ourskyai_node_platform_api/models/v1_all_sky_classification_label.py +43 -0
  109. ourskyai_node_platform_api/models/v1_all_sky_image.py +81 -0
  110. ourskyai_node_platform_api/models/v1_all_sky_images.py +79 -0
  111. ourskyai_node_platform_api/models/v1_all_sky_keogram.py +81 -0
  112. ourskyai_node_platform_api/models/v1_all_sky_keograms.py +79 -0
  113. ourskyai_node_platform_api/models/v1_all_sky_prediction_label.py +43 -0
  114. ourskyai_node_platform_api/models/v1_all_sky_timelapse.py +81 -0
  115. ourskyai_node_platform_api/models/v1_all_sky_timelapses.py +79 -0
  116. ourskyai_node_platform_api/models/v1_apex_charts_timeline.py +79 -0
  117. ourskyai_node_platform_api/models/v1_apex_charts_timeline_element.py +75 -0
  118. ourskyai_node_platform_api/models/v1_astro_target.py +83 -0
  119. ourskyai_node_platform_api/models/v1_camera_roll_image.py +86 -0
  120. ourskyai_node_platform_api/models/v1_camera_status.py +85 -0
  121. ourskyai_node_platform_api/models/v1_camera_statuses.py +79 -0
  122. ourskyai_node_platform_api/models/v1_cancel_all_tasks_request.py +71 -0
  123. ourskyai_node_platform_api/models/v1_cancel_task_request.py +73 -0
  124. ourskyai_node_platform_api/models/v1_capture_image_request.py +89 -0
  125. ourskyai_node_platform_api/models/v1_capture_images_continuously_request.py +89 -0
  126. ourskyai_node_platform_api/models/v1_connected_camera.py +73 -0
  127. ourskyai_node_platform_api/models/v1_create_mount_model_request.py +77 -0
  128. ourskyai_node_platform_api/models/v1_cycle_relays_request.py +74 -0
  129. ourskyai_node_platform_api/models/v1_delete_image_request.py +71 -0
  130. ourskyai_node_platform_api/models/v1_diagnose_system_request.py +85 -0
  131. ourskyai_node_platform_api/models/v1_disable_live_video_request.py +71 -0
  132. ourskyai_node_platform_api/models/v1_elevation_mask.py +81 -0
  133. ourskyai_node_platform_api/models/v1_elevation_mask_point.py +75 -0
  134. ourskyai_node_platform_api/models/v1_enable_live_video_request.py +81 -0
  135. ourskyai_node_platform_api/models/v1_enclosure_rotator_status.py +75 -0
  136. ourskyai_node_platform_api/models/v1_enclosure_shutter_status.py +79 -0
  137. ourskyai_node_platform_api/models/v1_enclosure_shutter_statuses.py +79 -0
  138. ourskyai_node_platform_api/models/v1_enclosure_status.py +78 -0
  139. ourskyai_node_platform_api/models/v1_enclosure_window_status.py +75 -0
  140. ourskyai_node_platform_api/models/v1_end_session_request.py +73 -0
  141. ourskyai_node_platform_api/models/v1_event.py +80 -0
  142. ourskyai_node_platform_api/models/v1_event_data.py +911 -0
  143. ourskyai_node_platform_api/models/v1_filter.py +74 -0
  144. ourskyai_node_platform_api/models/v1_filter_type.py +65 -0
  145. ourskyai_node_platform_api/models/v1_filter_wheel_status.py +85 -0
  146. ourskyai_node_platform_api/models/v1_focuser_limit.py +73 -0
  147. ourskyai_node_platform_api/models/v1_focuser_status.py +79 -0
  148. ourskyai_node_platform_api/models/v1_follow_tle_request.py +73 -0
  149. ourskyai_node_platform_api/models/v1_get_component_status_response.py +145 -0
  150. ourskyai_node_platform_api/models/v1_get_health_check_response.py +83 -0
  151. ourskyai_node_platform_api/models/v1_get_storage_status_response.py +75 -0
  152. ourskyai_node_platform_api/models/v1_gnss_pps_status.py +88 -0
  153. ourskyai_node_platform_api/models/v1_gnss_pps_status_details.py +77 -0
  154. ourskyai_node_platform_api/models/v1_go_to_filter_wheel_position_request.py +71 -0
  155. ourskyai_node_platform_api/models/v1_go_to_focuser_position_request.py +74 -0
  156. ourskyai_node_platform_api/models/v1_go_to_m3_port_request.py +71 -0
  157. ourskyai_node_platform_api/models/v1_go_to_mount_coordinates_request.py +77 -0
  158. ourskyai_node_platform_api/models/v1_go_to_rotator_position_request.py +74 -0
  159. ourskyai_node_platform_api/models/v1_image.py +103 -0
  160. ourskyai_node_platform_api/models/v1_images.py +79 -0
  161. ourskyai_node_platform_api/models/v1_jog_enclosure_rotator_request.py +71 -0
  162. ourskyai_node_platform_api/models/v1_jog_enclosure_shutter_request.py +74 -0
  163. ourskyai_node_platform_api/models/v1_jog_enclosure_shutters_request.py +79 -0
  164. ourskyai_node_platform_api/models/v1_jog_enclosure_window_request.py +71 -0
  165. ourskyai_node_platform_api/models/v1_jog_mount_request.py +73 -0
  166. ourskyai_node_platform_api/models/v1_last_sample.py +75 -0
  167. ourskyai_node_platform_api/models/v1_latest_image.py +89 -0
  168. ourskyai_node_platform_api/models/v1_list_producers_request.py +71 -0
  169. ourskyai_node_platform_api/models/v1_list_producers_response.py +81 -0
  170. ourskyai_node_platform_api/models/v1_m3_status.py +73 -0
  171. ourskyai_node_platform_api/models/v1_metric.py +82 -0
  172. ourskyai_node_platform_api/models/v1_motor.py +46 -0
  173. ourskyai_node_platform_api/models/v1_motor_status.py +87 -0
  174. ourskyai_node_platform_api/models/v1_mount_model.py +81 -0
  175. ourskyai_node_platform_api/models/v1_mount_model_point.py +77 -0
  176. ourskyai_node_platform_api/models/v1_mount_status.py +93 -0
  177. ourskyai_node_platform_api/models/v1_mount_system_settings.py +73 -0
  178. ourskyai_node_platform_api/models/v1_move_focuser_position_request.py +74 -0
  179. ourskyai_node_platform_api/models/v1_move_focuser_response.py +77 -0
  180. ourskyai_node_platform_api/models/v1_move_focuser_steps_request.py +74 -0
  181. ourskyai_node_platform_api/models/v1_node_history.py +73 -0
  182. ourskyai_node_platform_api/models/v1_node_overview.py +122 -0
  183. ourskyai_node_platform_api/models/v1_node_status.py +43 -0
  184. ourskyai_node_platform_api/models/v1_ntp_status.py +88 -0
  185. ourskyai_node_platform_api/models/v1_ntp_status_details.py +73 -0
  186. ourskyai_node_platform_api/models/v1_open_enclosure_shutters_request.py +71 -0
  187. ourskyai_node_platform_api/models/v1_open_roof_request.py +71 -0
  188. ourskyai_node_platform_api/models/v1_optical_tube_cover_status.py +73 -0
  189. ourskyai_node_platform_api/models/v1_optical_tube_fan_role.py +46 -0
  190. ourskyai_node_platform_api/models/v1_optical_tube_fan_status.py +76 -0
  191. ourskyai_node_platform_api/models/v1_optical_tube_fan_statuses.py +79 -0
  192. ourskyai_node_platform_api/models/v1_optical_tube_heater_role.py +41 -0
  193. ourskyai_node_platform_api/models/v1_optical_tube_heater_status.py +76 -0
  194. ourskyai_node_platform_api/models/v1_optical_tube_heater_statuses.py +79 -0
  195. ourskyai_node_platform_api/models/v1_optical_tube_status.py +87 -0
  196. ourskyai_node_platform_api/models/v1_peer_status_changed_request.py +81 -0
  197. ourskyai_node_platform_api/models/v1_ptp_data_set.py +75 -0
  198. ourskyai_node_platform_api/models/v1_ptp_port_properties.py +77 -0
  199. ourskyai_node_platform_api/models/v1_ptp_status.py +88 -0
  200. ourskyai_node_platform_api/models/v1_ptp_status_details.py +102 -0
  201. ourskyai_node_platform_api/models/v1_ptp_time_status.py +85 -0
  202. ourskyai_node_platform_api/models/v1_record_video_request.py +71 -0
  203. ourskyai_node_platform_api/models/v1_relay.py +74 -0
  204. ourskyai_node_platform_api/models/v1_reset_mount_system_settings_to_default_request.py +73 -0
  205. ourskyai_node_platform_api/models/v1_reset_system_settings_to_default_request.py +75 -0
  206. ourskyai_node_platform_api/models/v1_roof_status.py +78 -0
  207. ourskyai_node_platform_api/models/v1_rotator_status.py +81 -0
  208. ourskyai_node_platform_api/models/v1_run_autofocus_request.py +82 -0
  209. ourskyai_node_platform_api/models/v1_run_blind_autofocus_request.py +73 -0
  210. ourskyai_node_platform_api/models/v1_safety_status.py +83 -0
  211. ourskyai_node_platform_api/models/v1_save_image_request.py +71 -0
  212. ourskyai_node_platform_api/models/v1_set_mount_park_position_request.py +73 -0
  213. ourskyai_node_platform_api/models/v1_set_optical_tube_heater_power_request.py +74 -0
  214. ourskyai_node_platform_api/models/v1_set_peer_status_request.py +88 -0
  215. ourskyai_node_platform_api/models/v1_set_relay_state_request.py +74 -0
  216. ourskyai_node_platform_api/models/v1_signal_message_request.py +90 -0
  217. ourskyai_node_platform_api/models/v1_signalling_request.py +225 -0
  218. ourskyai_node_platform_api/models/v1_source_statistics.py +103 -0
  219. ourskyai_node_platform_api/models/v1_start_session_request.py +90 -0
  220. ourskyai_node_platform_api/models/v1_stop_capturing_images_continuously_request.py +71 -0
  221. ourskyai_node_platform_api/models/v1_stop_recording_video_request.py +71 -0
  222. ourskyai_node_platform_api/models/v1_suntimes.py +87 -0
  223. ourskyai_node_platform_api/models/v1_system_diagnosis_report.py +117 -0
  224. ourskyai_node_platform_api/models/v1_system_event.py +80 -0
  225. ourskyai_node_platform_api/models/v1_system_event_data.py +939 -0
  226. ourskyai_node_platform_api/models/v1_system_events.py +79 -0
  227. ourskyai_node_platform_api/models/v1_system_health_check.py +86 -0
  228. ourskyai_node_platform_api/models/v1_system_location.py +83 -0
  229. ourskyai_node_platform_api/models/v1_system_location_gps_details.py +77 -0
  230. ourskyai_node_platform_api/models/v1_system_metric.py +88 -0
  231. ourskyai_node_platform_api/models/v1_system_metric_names.py +71 -0
  232. ourskyai_node_platform_api/models/v1_system_metric_tag.py +73 -0
  233. ourskyai_node_platform_api/models/v1_system_metric_type.py +40 -0
  234. ourskyai_node_platform_api/models/v1_system_metrics.py +79 -0
  235. ourskyai_node_platform_api/models/v1_system_network_interface.py +83 -0
  236. ourskyai_node_platform_api/models/v1_system_network_interface_info.py +75 -0
  237. ourskyai_node_platform_api/models/v1_system_network_interfaces.py +79 -0
  238. ourskyai_node_platform_api/models/v1_system_operation_mode.py +41 -0
  239. ourskyai_node_platform_api/models/v1_system_operation_status.py +75 -0
  240. ourskyai_node_platform_api/models/v1_system_settings.py +75 -0
  241. ourskyai_node_platform_api/models/v1_system_status.py +135 -0
  242. ourskyai_node_platform_api/models/v1_system_storage_status.py +75 -0
  243. ourskyai_node_platform_api/models/v1_system_time.py +94 -0
  244. ourskyai_node_platform_api/models/v1_system_variant.py +43 -0
  245. ourskyai_node_platform_api/models/v1_task.py +78 -0
  246. ourskyai_node_platform_api/models/v1_task_type.py +47 -0
  247. ourskyai_node_platform_api/models/v1_time_source.py +42 -0
  248. ourskyai_node_platform_api/models/v1_time_windowed_asset.py +86 -0
  249. ourskyai_node_platform_api/models/v1_time_windowed_asset_type.py +40 -0
  250. ourskyai_node_platform_api/models/v1_turn_off_optical_tube_fans_request.py +72 -0
  251. ourskyai_node_platform_api/models/v1_turn_on_optical_tube_fans_request.py +72 -0
  252. ourskyai_node_platform_api/models/v1_ui_operation_mode.py +40 -0
  253. ourskyai_node_platform_api/models/v1_update_filter_request.py +74 -0
  254. ourskyai_node_platform_api/models/v1_video.py +105 -0
  255. ourskyai_node_platform_api/models/v1_videos.py +79 -0
  256. ourskyai_node_platform_api/models/v1_weather_forecast.py +85 -0
  257. ourskyai_node_platform_api/models/v1_weather_forecast_city.py +73 -0
  258. ourskyai_node_platform_api/models/v1_weather_forecast_item.py +103 -0
  259. ourskyai_node_platform_api/models/v1_weather_forecast_temperature.py +77 -0
  260. ourskyai_node_platform_api/models/v1_weather_forecast_weather.py +77 -0
  261. ourskyai_node_platform_api/models/v1_weather_metric.py +85 -0
  262. ourskyai_node_platform_api/models/v1_weather_metrics.py +79 -0
  263. ourskyai_node_platform_api/models/v1_weather_station_status.py +71 -0
  264. ourskyai_node_platform_api/models/v2_capture_image_request.py +89 -0
  265. ourskyai_node_platform_api/models/v2_cycle_relays_request.py +74 -0
  266. ourskyai_node_platform_api/models/v2_enclosure_status.py +87 -0
  267. ourskyai_node_platform_api/models/v2_mount_status.py +94 -0
  268. ourskyai_node_platform_api/models/v2_relay_status.py +76 -0
  269. ourskyai_node_platform_api/models/v2_relay_statuses.py +79 -0
  270. ourskyai_node_platform_api/models/v2_turn_off_relay_request.py +72 -0
  271. ourskyai_node_platform_api/models/v2_turn_on_relay_request.py +72 -0
  272. ourskyai_node_platform_api/models/video_codec.py +39 -0
  273. ourskyai_node_platform_api/models/video_container_format.py +39 -0
  274. ourskyai_node_platform_api/models/wavefront_sensor_data_updated.py +110 -0
  275. ourskyai_node_platform_api/models/weather_station_diagnosis_report.py +73 -0
  276. ourskyai_node_platform_api/models/weather_station_status_updated.py +72 -0
  277. ourskyai_node_platform_api/py.typed +0 -0
  278. ourskyai_node_platform_api/rest.py +303 -0
  279. ourskyai_node_platform_api-1.3.9821.dist-info/METADATA +23 -0
  280. ourskyai_node_platform_api-1.3.9821.dist-info/RECORD +282 -0
  281. ourskyai_node_platform_api-1.3.9821.dist-info/WHEEL +5 -0
  282. ourskyai_node_platform_api-1.3.9821.dist-info/top_level.txt +1 -0
@@ -0,0 +1,74 @@
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, StrictInt
23
+ from ourskyai_node_platform_api.models.v1_filter_type import V1FilterType
24
+
25
+ class V1UpdateFilterRequest(BaseModel):
26
+ """
27
+ Request to update the filter type configuration for a specific wheel position. # noqa: E501
28
+ """
29
+ position: StrictInt = Field(..., description="Filter wheel slot position to update as a zero-based index. Valid values range from 0 to (capacity - 1).")
30
+ type: V1FilterType = Field(...)
31
+ __properties = ["position", "type"]
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) -> V1UpdateFilterRequest:
48
+ """Create an instance of V1UpdateFilterRequest 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
+ return _dict
58
+
59
+ @classmethod
60
+ def from_dict(cls, obj: dict) -> V1UpdateFilterRequest:
61
+ """Create an instance of V1UpdateFilterRequest from a dict"""
62
+ if obj is None:
63
+ return None
64
+
65
+ if not isinstance(obj, dict):
66
+ return V1UpdateFilterRequest.parse_obj(obj)
67
+
68
+ _obj = V1UpdateFilterRequest.parse_obj({
69
+ "position": obj.get("position"),
70
+ "type": obj.get("type")
71
+ })
72
+ return _obj
73
+
74
+
@@ -0,0 +1,105 @@
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, StrictBool, StrictFloat, StrictInt, StrictStr
23
+ from ourskyai_node_platform_api.models.video_codec import VideoCodec
24
+ from ourskyai_node_platform_api.models.video_container_format import VideoContainerFormat
25
+
26
+ class V1Video(BaseModel):
27
+ """
28
+ Complete metadata for a recorded video including capture settings, file information, codec details, and timing data. Use this object to understand the recording parameters and locate the video file. # noqa: E501
29
+ """
30
+ id: StrictStr = Field(..., description="Unique identifier for this video recording. Use this ID for any video-specific operations such as download or deletion.")
31
+ camera_id: StrictStr = Field(..., alias="cameraId", description="Identifier of the camera that recorded this video. Useful for filtering videos by camera source.")
32
+ exposure_count: Optional[StrictInt] = Field(None, alias="exposureCount", description="Total number of individual frames or exposures contained in the video file. Useful for estimating total integration time.")
33
+ saved_from_deletion: StrictBool = Field(..., alias="savedFromDeletion", description="Indicates whether this video has been marked as saved to prevent automatic deletion. True means the video is protected from storage cleanup operations.")
34
+ exposure_seconds: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="exposureSeconds", description="Exposure duration in seconds for each individual frame in the video. Longer exposures capture more light per frame but reduce the effective frame rate.")
35
+ frame_seconds: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="frameSeconds", description="Duration in seconds between the start of consecutive frames. This determines the effective capture rate and may differ from exposure time if there is readout overhead.")
36
+ gain: Optional[StrictInt] = Field(None, description="Sensor gain setting that was applied during recording. Higher values indicate more signal amplification was used.")
37
+ binning: Optional[StrictInt] = Field(None, description="Pixel binning factor that was used during recording. A value of 1 indicates full resolution capture.")
38
+ offset: Optional[StrictInt] = Field(None, description="Sensor offset or black level setting that was applied during recording.")
39
+ file_path: StrictStr = Field(..., alias="filePath", description="Absolute file system path where the video file is stored on the node. Use this path for direct file access or to construct download URLs.")
40
+ file_size_mb: Union[StrictFloat, StrictInt] = Field(..., alias="fileSizeMb", description="Size of the video file in megabytes. Useful for estimating download times and managing storage space.")
41
+ codec: VideoCodec = Field(...)
42
+ container_format: VideoContainerFormat = Field(..., alias="containerFormat")
43
+ capture_started_at: datetime = Field(..., alias="captureStartedAt", description="ISO 8601 timestamp indicating when video recording began and the first frame was captured.")
44
+ capture_ended_at: datetime = Field(..., alias="captureEndedAt", description="ISO 8601 timestamp indicating when video recording ended and the last frame was captured.")
45
+ created_at: datetime = Field(..., alias="createdAt", description="ISO 8601 timestamp indicating when this video record was created in the database. Used for pagination with the before parameter.")
46
+ updated_at: datetime = Field(..., alias="updatedAt", description="ISO 8601 timestamp indicating when this video record was last modified.")
47
+ __properties = ["id", "cameraId", "exposureCount", "savedFromDeletion", "exposureSeconds", "frameSeconds", "gain", "binning", "offset", "filePath", "fileSizeMb", "codec", "containerFormat", "captureStartedAt", "captureEndedAt", "createdAt", "updatedAt"]
48
+
49
+ class Config:
50
+ """Pydantic configuration"""
51
+ allow_population_by_field_name = True
52
+ validate_assignment = True
53
+
54
+ def to_str(self) -> str:
55
+ """Returns the string representation of the model using alias"""
56
+ return pprint.pformat(self.dict(by_alias=True))
57
+
58
+ def to_json(self) -> str:
59
+ """Returns the JSON representation of the model using alias"""
60
+ return json.dumps(self.to_dict())
61
+
62
+ @classmethod
63
+ def from_json(cls, json_str: str) -> V1Video:
64
+ """Create an instance of V1Video from a JSON string"""
65
+ return cls.from_dict(json.loads(json_str))
66
+
67
+ def to_dict(self):
68
+ """Returns the dictionary representation of the model using alias"""
69
+ _dict = self.dict(by_alias=True,
70
+ exclude={
71
+ },
72
+ exclude_none=True)
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: dict) -> V1Video:
77
+ """Create an instance of V1Video from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return V1Video.parse_obj(obj)
83
+
84
+ _obj = V1Video.parse_obj({
85
+ "id": obj.get("id"),
86
+ "camera_id": obj.get("cameraId"),
87
+ "exposure_count": obj.get("exposureCount"),
88
+ "saved_from_deletion": obj.get("savedFromDeletion"),
89
+ "exposure_seconds": obj.get("exposureSeconds"),
90
+ "frame_seconds": obj.get("frameSeconds"),
91
+ "gain": obj.get("gain"),
92
+ "binning": obj.get("binning"),
93
+ "offset": obj.get("offset"),
94
+ "file_path": obj.get("filePath"),
95
+ "file_size_mb": obj.get("fileSizeMb"),
96
+ "codec": obj.get("codec"),
97
+ "container_format": obj.get("containerFormat"),
98
+ "capture_started_at": obj.get("captureStartedAt"),
99
+ "capture_ended_at": obj.get("captureEndedAt"),
100
+ "created_at": obj.get("createdAt"),
101
+ "updated_at": obj.get("updatedAt")
102
+ })
103
+ return _obj
104
+
105
+
@@ -0,0 +1,79 @@
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, conlist
23
+ from ourskyai_node_platform_api.models.v1_video import V1Video
24
+
25
+ class V1Videos(BaseModel):
26
+ """
27
+ Container object holding a paginated list of recorded videos. Use the before parameter with the last video's createdAt timestamp to retrieve the next page of results. # noqa: E501
28
+ """
29
+ videos: conlist(V1Video) = Field(..., description="Array of video metadata objects sorted by creation time in descending order (newest first). May be empty if no videos match the query criteria.")
30
+ __properties = ["videos"]
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) -> V1Videos:
47
+ """Create an instance of V1Videos 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
+ # override the default output from pydantic by calling `to_dict()` of each item in videos (list)
57
+ _items = []
58
+ if self.videos:
59
+ for _item in self.videos:
60
+ if _item:
61
+ _items.append(_item.to_dict())
62
+ _dict['videos'] = _items
63
+ return _dict
64
+
65
+ @classmethod
66
+ def from_dict(cls, obj: dict) -> V1Videos:
67
+ """Create an instance of V1Videos from a dict"""
68
+ if obj is None:
69
+ return None
70
+
71
+ if not isinstance(obj, dict):
72
+ return V1Videos.parse_obj(obj)
73
+
74
+ _obj = V1Videos.parse_obj({
75
+ "videos": [V1Video.from_dict(_item) for _item in obj.get("videos")] if obj.get("videos") is not None else None
76
+ })
77
+ return _obj
78
+
79
+
@@ -0,0 +1,85 @@
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, Optional
22
+ from pydantic import BaseModel, conlist
23
+ from ourskyai_node_platform_api.models.v1_weather_forecast_city import V1WeatherForecastCity
24
+ from ourskyai_node_platform_api.models.v1_weather_forecast_item import V1WeatherForecastItem
25
+
26
+ class V1WeatherForecast(BaseModel):
27
+ """
28
+ V1WeatherForecast
29
+ """
30
+ city: Optional[V1WeatherForecastCity] = None
31
+ days: Optional[conlist(V1WeatherForecastItem)] = None
32
+ __properties = ["city", "days"]
33
+
34
+ class Config:
35
+ """Pydantic configuration"""
36
+ allow_population_by_field_name = True
37
+ validate_assignment = True
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.dict(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ return json.dumps(self.to_dict())
46
+
47
+ @classmethod
48
+ def from_json(cls, json_str: str) -> V1WeatherForecast:
49
+ """Create an instance of V1WeatherForecast from a JSON string"""
50
+ return cls.from_dict(json.loads(json_str))
51
+
52
+ def to_dict(self):
53
+ """Returns the dictionary representation of the model using alias"""
54
+ _dict = self.dict(by_alias=True,
55
+ exclude={
56
+ },
57
+ exclude_none=True)
58
+ # override the default output from pydantic by calling `to_dict()` of city
59
+ if self.city:
60
+ _dict['city'] = self.city.to_dict()
61
+ # override the default output from pydantic by calling `to_dict()` of each item in days (list)
62
+ _items = []
63
+ if self.days:
64
+ for _item in self.days:
65
+ if _item:
66
+ _items.append(_item.to_dict())
67
+ _dict['days'] = _items
68
+ return _dict
69
+
70
+ @classmethod
71
+ def from_dict(cls, obj: dict) -> V1WeatherForecast:
72
+ """Create an instance of V1WeatherForecast from a dict"""
73
+ if obj is None:
74
+ return None
75
+
76
+ if not isinstance(obj, dict):
77
+ return V1WeatherForecast.parse_obj(obj)
78
+
79
+ _obj = V1WeatherForecast.parse_obj({
80
+ "city": V1WeatherForecastCity.from_dict(obj.get("city")) if obj.get("city") is not None else None,
81
+ "days": [V1WeatherForecastItem.from_dict(_item) for _item in obj.get("days")] if obj.get("days") is not None else None
82
+ })
83
+ return _obj
84
+
85
+
@@ -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
+ from typing import Optional
22
+ from pydantic import BaseModel, Field, StrictStr
23
+
24
+ class V1WeatherForecastCity(BaseModel):
25
+ """
26
+ V1WeatherForecastCity
27
+ """
28
+ name: Optional[StrictStr] = Field(None, description="City name")
29
+ country: Optional[StrictStr] = Field(None, description="Country code")
30
+ __properties = ["name", "country"]
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) -> V1WeatherForecastCity:
47
+ """Create an instance of V1WeatherForecastCity 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) -> V1WeatherForecastCity:
60
+ """Create an instance of V1WeatherForecastCity from a dict"""
61
+ if obj is None:
62
+ return None
63
+
64
+ if not isinstance(obj, dict):
65
+ return V1WeatherForecastCity.parse_obj(obj)
66
+
67
+ _obj = V1WeatherForecastCity.parse_obj({
68
+ "name": obj.get("name"),
69
+ "country": obj.get("country")
70
+ })
71
+ return _obj
72
+
73
+
@@ -0,0 +1,103 @@
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, Optional, Union
22
+ from pydantic import BaseModel, Field, StrictFloat, StrictInt, conlist
23
+ from ourskyai_node_platform_api.models.v1_weather_forecast_temperature import V1WeatherForecastTemperature
24
+ from ourskyai_node_platform_api.models.v1_weather_forecast_weather import V1WeatherForecastWeather
25
+
26
+ class V1WeatherForecastItem(BaseModel):
27
+ """
28
+ V1WeatherForecastItem
29
+ """
30
+ timestamp: Optional[StrictInt] = Field(None, description="Timestamp of the weather data in UNIX timestamp")
31
+ sunrise: Optional[StrictInt] = Field(None, description="Sunrise time in UNIX timestamp")
32
+ sunset: Optional[StrictInt] = Field(None, description="Sunset time in UNIX timestamp")
33
+ temperature: Optional[V1WeatherForecastTemperature] = None
34
+ humidity: Optional[StrictInt] = Field(None, description="Humidity percentage")
35
+ weather: Optional[conlist(V1WeatherForecastWeather)] = None
36
+ speed: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Wind speed in m/s")
37
+ deg: Optional[StrictInt] = Field(None, description="Wind direction in degrees")
38
+ clouds: Optional[StrictInt] = Field(None, description="Cloudiness percentage")
39
+ pop: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Probability of precipitation in %")
40
+ rain: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Rain volume for the last 3 hours in mm/h")
41
+ __properties = ["timestamp", "sunrise", "sunset", "temperature", "humidity", "weather", "speed", "deg", "clouds", "pop", "rain"]
42
+
43
+ class Config:
44
+ """Pydantic configuration"""
45
+ allow_population_by_field_name = True
46
+ validate_assignment = True
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.dict(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ return json.dumps(self.to_dict())
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> V1WeatherForecastItem:
58
+ """Create an instance of V1WeatherForecastItem from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self):
62
+ """Returns the dictionary representation of the model using alias"""
63
+ _dict = self.dict(by_alias=True,
64
+ exclude={
65
+ },
66
+ exclude_none=True)
67
+ # override the default output from pydantic by calling `to_dict()` of temperature
68
+ if self.temperature:
69
+ _dict['temperature'] = self.temperature.to_dict()
70
+ # override the default output from pydantic by calling `to_dict()` of each item in weather (list)
71
+ _items = []
72
+ if self.weather:
73
+ for _item in self.weather:
74
+ if _item:
75
+ _items.append(_item.to_dict())
76
+ _dict['weather'] = _items
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: dict) -> V1WeatherForecastItem:
81
+ """Create an instance of V1WeatherForecastItem from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return V1WeatherForecastItem.parse_obj(obj)
87
+
88
+ _obj = V1WeatherForecastItem.parse_obj({
89
+ "timestamp": obj.get("timestamp"),
90
+ "sunrise": obj.get("sunrise"),
91
+ "sunset": obj.get("sunset"),
92
+ "temperature": V1WeatherForecastTemperature.from_dict(obj.get("temperature")) if obj.get("temperature") is not None else None,
93
+ "humidity": obj.get("humidity"),
94
+ "weather": [V1WeatherForecastWeather.from_dict(_item) for _item in obj.get("weather")] if obj.get("weather") is not None else None,
95
+ "speed": obj.get("speed"),
96
+ "deg": obj.get("deg"),
97
+ "clouds": obj.get("clouds"),
98
+ "pop": obj.get("pop"),
99
+ "rain": obj.get("rain")
100
+ })
101
+ return _obj
102
+
103
+
@@ -0,0 +1,77 @@
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, StrictFloat, StrictInt
23
+
24
+ class V1WeatherForecastTemperature(BaseModel):
25
+ """
26
+ V1WeatherForecastTemperature
27
+ """
28
+ day: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Day temperature in Celcius")
29
+ min: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Minimum temperature in Celcius")
30
+ max: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Maximum temperature in Celcius")
31
+ night: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Night temperature in Celcius")
32
+ __properties = ["day", "min", "max", "night"]
33
+
34
+ class Config:
35
+ """Pydantic configuration"""
36
+ allow_population_by_field_name = True
37
+ validate_assignment = True
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.dict(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ return json.dumps(self.to_dict())
46
+
47
+ @classmethod
48
+ def from_json(cls, json_str: str) -> V1WeatherForecastTemperature:
49
+ """Create an instance of V1WeatherForecastTemperature from a JSON string"""
50
+ return cls.from_dict(json.loads(json_str))
51
+
52
+ def to_dict(self):
53
+ """Returns the dictionary representation of the model using alias"""
54
+ _dict = self.dict(by_alias=True,
55
+ exclude={
56
+ },
57
+ exclude_none=True)
58
+ return _dict
59
+
60
+ @classmethod
61
+ def from_dict(cls, obj: dict) -> V1WeatherForecastTemperature:
62
+ """Create an instance of V1WeatherForecastTemperature from a dict"""
63
+ if obj is None:
64
+ return None
65
+
66
+ if not isinstance(obj, dict):
67
+ return V1WeatherForecastTemperature.parse_obj(obj)
68
+
69
+ _obj = V1WeatherForecastTemperature.parse_obj({
70
+ "day": obj.get("day"),
71
+ "min": obj.get("min"),
72
+ "max": obj.get("max"),
73
+ "night": obj.get("night")
74
+ })
75
+ return _obj
76
+
77
+
@@ -0,0 +1,77 @@
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
22
+ from pydantic import BaseModel, Field, StrictInt, StrictStr
23
+
24
+ class V1WeatherForecastWeather(BaseModel):
25
+ """
26
+ V1WeatherForecastWeather
27
+ """
28
+ id: Optional[StrictInt] = Field(None, description="Weather condition id")
29
+ main: Optional[StrictStr] = Field(None, description="Group of weather parameters")
30
+ description: Optional[StrictStr] = Field(None, description="Weather condition description")
31
+ icon: Optional[StrictStr] = Field(None, description="Weather icon id")
32
+ __properties = ["id", "main", "description", "icon"]
33
+
34
+ class Config:
35
+ """Pydantic configuration"""
36
+ allow_population_by_field_name = True
37
+ validate_assignment = True
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.dict(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ return json.dumps(self.to_dict())
46
+
47
+ @classmethod
48
+ def from_json(cls, json_str: str) -> V1WeatherForecastWeather:
49
+ """Create an instance of V1WeatherForecastWeather from a JSON string"""
50
+ return cls.from_dict(json.loads(json_str))
51
+
52
+ def to_dict(self):
53
+ """Returns the dictionary representation of the model using alias"""
54
+ _dict = self.dict(by_alias=True,
55
+ exclude={
56
+ },
57
+ exclude_none=True)
58
+ return _dict
59
+
60
+ @classmethod
61
+ def from_dict(cls, obj: dict) -> V1WeatherForecastWeather:
62
+ """Create an instance of V1WeatherForecastWeather from a dict"""
63
+ if obj is None:
64
+ return None
65
+
66
+ if not isinstance(obj, dict):
67
+ return V1WeatherForecastWeather.parse_obj(obj)
68
+
69
+ _obj = V1WeatherForecastWeather.parse_obj({
70
+ "id": obj.get("id"),
71
+ "main": obj.get("main"),
72
+ "description": obj.get("description"),
73
+ "icon": obj.get("icon")
74
+ })
75
+ return _obj
76
+
77
+