frogml 1.1.62__py3-none-any.whl → 1.2.19__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 (530) hide show
  1. frogml/__init__.py +3 -1
  2. frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.py +3 -3
  3. frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.pyi +6 -4
  4. frogml/_proto/jfml/hosting_gateway/v1/hosting_gateway_service_pb2.py +3 -3
  5. frogml/_proto/jfml/hosting_gateway/v1/hosting_gateway_service_pb2.pyi +8 -9
  6. frogml/_proto/jfml/model_version/v1/artifact_pb2.py +3 -3
  7. frogml/_proto/jfml/model_version/v1/artifact_pb2.pyi +8 -9
  8. frogml/_proto/jfml/model_version/v1/build_spec_pb2.py +3 -3
  9. frogml/_proto/jfml/model_version/v1/build_spec_pb2.pyi +24 -20
  10. frogml/_proto/jfml/model_version/v1/model_repository_spec_pb2.py +3 -3
  11. frogml/_proto/jfml/model_version/v1/model_repository_spec_pb2.pyi +6 -9
  12. frogml/_proto/jfml/model_version/v1/model_version_framework_pb2.py +3 -3
  13. frogml/_proto/jfml/model_version/v1/model_version_framework_pb2.pyi +13 -10
  14. frogml/_proto/jfml/model_version/v1/model_version_manager_service_pb2.py +3 -3
  15. frogml/_proto/jfml/model_version/v1/model_version_manager_service_pb2.pyi +43 -30
  16. frogml/_proto/jfml/model_version/v1/model_version_pb2.py +11 -11
  17. frogml/_proto/jfml/model_version/v1/model_version_pb2.pyi +48 -32
  18. frogml/_proto/qwak/administration/account/v1/account_pb2.py +25 -23
  19. frogml/_proto/qwak/administration/account/v1/account_pb2.pyi +55 -21
  20. frogml/_proto/qwak/administration/account/v1/account_service_pb2.py +3 -3
  21. frogml/_proto/qwak/administration/account/v1/account_service_pb2.pyi +63 -36
  22. frogml/_proto/qwak/administration/account/v1/jfrog_tenant_details_pb2.py +5 -5
  23. frogml/_proto/qwak/administration/account/v1/jfrog_tenant_details_pb2.pyi +35 -22
  24. frogml/_proto/qwak/administration/account/v1/personalization_pb2.py +3 -3
  25. frogml/_proto/qwak/administration/account/v1/personalization_pb2.pyi +7 -9
  26. frogml/_proto/qwak/administration/account/v1/preferences_pb2.py +3 -3
  27. frogml/_proto/qwak/administration/account/v1/preferences_pb2.pyi +6 -8
  28. frogml/_proto/qwak/administration/account/v1/terms_pb2.py +3 -3
  29. frogml/_proto/qwak/administration/account/v1/terms_pb2.pyi +16 -11
  30. frogml/_proto/qwak/administration/authenticated_user/v1/authenticated_user_service_pb2.py +3 -3
  31. frogml/_proto/qwak/administration/authenticated_user/v1/authenticated_user_service_pb2.pyi +20 -14
  32. frogml/_proto/qwak/administration/authenticated_user/v1/credentials_pb2.py +3 -3
  33. frogml/_proto/qwak/administration/authenticated_user/v1/credentials_pb2.pyi +11 -12
  34. frogml/_proto/qwak/administration/authenticated_user/v1/details_pb2.py +3 -3
  35. frogml/_proto/qwak/administration/authenticated_user/v1/details_pb2.pyi +18 -15
  36. frogml/_proto/qwak/administration/cluster/v2/cluster_pb2.py +3 -3
  37. frogml/_proto/qwak/administration/cluster/v2/cluster_pb2.pyi +62 -39
  38. frogml/_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.py +3 -3
  39. frogml/_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.pyi +12 -13
  40. frogml/_proto/qwak/administration/runtime_configuration/v0/creds/auth_pb2.py +3 -3
  41. frogml/_proto/qwak/administration/runtime_configuration/v0/creds/auth_pb2.pyi +5 -8
  42. frogml/_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2.py +3 -3
  43. frogml/_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2.pyi +8 -10
  44. frogml/_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.py +3 -3
  45. frogml/_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.pyi +11 -11
  46. frogml/_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.py +11 -7
  47. frogml/_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.pyi +58 -12
  48. frogml/_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.py +3 -3
  49. frogml/_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.pyi +8 -11
  50. frogml/_proto/qwak/administration/runtime_configuration/v0/external/kafka_config_pb2.py +3 -3
  51. frogml/_proto/qwak/administration/runtime_configuration/v0/external/kafka_config_pb2.pyi +12 -12
  52. frogml/_proto/qwak/administration/runtime_configuration/v0/external/prometheus_config_pb2.py +3 -3
  53. frogml/_proto/qwak/administration/runtime_configuration/v0/external/prometheus_config_pb2.pyi +8 -10
  54. frogml/_proto/qwak/administration/runtime_configuration/v0/external/redis_config_pb2.py +3 -3
  55. frogml/_proto/qwak/administration/runtime_configuration/v0/external/redis_config_pb2.pyi +8 -11
  56. frogml/_proto/qwak/administration/runtime_configuration/v0/external/victoriametrics_config_pb2.py +3 -3
  57. frogml/_proto/qwak/administration/runtime_configuration/v0/external/victoriametrics_config_pb2.pyi +6 -9
  58. frogml/_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb2.py +3 -3
  59. frogml/_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb2.pyi +13 -14
  60. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.py +3 -3
  61. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.pyi +29 -25
  62. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.py +11 -7
  63. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.pyi +57 -17
  64. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.py +5 -5
  65. frogml/_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.pyi +29 -24
  66. frogml/_proto/qwak/administration/runtime_configuration/v0/logs_storage_config_pb2.py +3 -3
  67. frogml/_proto/qwak/administration/runtime_configuration/v0/logs_storage_config_pb2.pyi +6 -9
  68. frogml/_proto/qwak/administration/runtime_configuration/v0/model_analytics_storage_config_pb2.py +3 -3
  69. frogml/_proto/qwak/administration/runtime_configuration/v0/model_analytics_storage_config_pb2.pyi +6 -9
  70. frogml/_proto/qwak/administration/runtime_configuration/v0/network_config_pb2.py +3 -3
  71. frogml/_proto/qwak/administration/runtime_configuration/v0/network_config_pb2.pyi +22 -21
  72. frogml/_proto/qwak/administration/runtime_configuration/v0/object_storage_config_pb2.py +3 -3
  73. frogml/_proto/qwak/administration/runtime_configuration/v0/object_storage_config_pb2.pyi +12 -12
  74. frogml/_proto/qwak/administration/runtime_configuration/v0/observability_config_pb2.py +3 -3
  75. frogml/_proto/qwak/administration/runtime_configuration/v0/observability_config_pb2.pyi +13 -14
  76. frogml/_proto/qwak/administration/runtime_configuration/v0/runtime_config_pb2.py +3 -3
  77. frogml/_proto/qwak/administration/runtime_configuration/v0/runtime_config_pb2.pyi +5 -8
  78. frogml/_proto/qwak/administration/runtime_configuration/v0/sql_engine_config_pb2.py +3 -3
  79. frogml/_proto/qwak/administration/runtime_configuration/v0/sql_engine_config_pb2.pyi +11 -11
  80. frogml/_proto/qwak/administration/v0/authentication/authentication_service_pb2.py +3 -3
  81. frogml/_proto/qwak/administration/v0/authentication/authentication_service_pb2.pyi +14 -13
  82. frogml/_proto/qwak/administration/v0/environments/configuration_pb2.py +3 -3
  83. frogml/_proto/qwak/administration/v0/environments/configuration_pb2.pyi +33 -20
  84. frogml/_proto/qwak/administration/v0/environments/environment_pb2.py +5 -5
  85. frogml/_proto/qwak/administration/v0/environments/environment_pb2.pyi +17 -8
  86. frogml/_proto/qwak/administration/v0/environments/environment_service_pb2.py +5 -5
  87. frogml/_proto/qwak/administration/v0/environments/environment_service_pb2.pyi +46 -26
  88. frogml/_proto/qwak/administration/v0/environments/personalization_pb2.py +3 -3
  89. frogml/_proto/qwak/administration/v0/environments/personalization_pb2.pyi +7 -9
  90. frogml/_proto/qwak/administration/v0/users/user_pb2.py +7 -7
  91. frogml/_proto/qwak/administration/v0/users/user_pb2.pyi +18 -11
  92. frogml/_proto/qwak/admiral/secret/v0/secret_pb2.py +21 -19
  93. frogml/_proto/qwak/admiral/secret/v0/secret_pb2.pyi +65 -24
  94. frogml/_proto/qwak/admiral/secret/v0/secret_service_pb2.py +3 -3
  95. frogml/_proto/qwak/admiral/secret/v0/secret_service_pb2.pyi +16 -12
  96. frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.py +3 -3
  97. frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.pyi +19 -14
  98. frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.py +3 -3
  99. frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.pyi +83 -48
  100. frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_service_pb2.py +3 -3
  101. frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_service_pb2.pyi +25 -16
  102. frogml/_proto/qwak/analytics/analytics_pb2.py +3 -3
  103. frogml/_proto/qwak/analytics/analytics_pb2.pyi +33 -16
  104. frogml/_proto/qwak/analytics/analytics_service_pb2.py +3 -3
  105. frogml/_proto/qwak/analytics/analytics_service_pb2.pyi +46 -26
  106. frogml/_proto/qwak/artifactory_settings/artifactory_settings_pb2.py +3 -3
  107. frogml/_proto/qwak/artifactory_settings/artifactory_settings_pb2.pyi +7 -9
  108. frogml/_proto/qwak/audience/v1/audience_api_pb2.py +3 -3
  109. frogml/_proto/qwak/audience/v1/audience_api_pb2.pyi +25 -17
  110. frogml/_proto/qwak/audience/v1/audience_pb2.py +5 -5
  111. frogml/_proto/qwak/audience/v1/audience_pb2.pyi +38 -23
  112. frogml/_proto/qwak/auto_scaling/v1/auto_scaling_pb2.py +3 -3
  113. frogml/_proto/qwak/auto_scaling/v1/auto_scaling_pb2.pyi +22 -13
  114. frogml/_proto/qwak/auto_scaling/v1/auto_scaling_service_pb2.py +3 -3
  115. frogml/_proto/qwak/auto_scaling/v1/auto_scaling_service_pb2.pyi +8 -9
  116. frogml/_proto/qwak/automation/v1/action_pb2.py +17 -17
  117. frogml/_proto/qwak/automation/v1/action_pb2.pyi +76 -47
  118. frogml/_proto/qwak/automation/v1/auto_scaling_pb2.py +3 -3
  119. frogml/_proto/qwak/automation/v1/auto_scaling_pb2.pyi +22 -13
  120. frogml/_proto/qwak/automation/v1/automation_execution_pb2.py +3 -3
  121. frogml/_proto/qwak/automation/v1/automation_execution_pb2.pyi +23 -13
  122. frogml/_proto/qwak/automation/v1/automation_management_service_pb2.py +5 -5
  123. frogml/_proto/qwak/automation/v1/automation_management_service_pb2.pyi +56 -32
  124. frogml/_proto/qwak/automation/v1/automation_pb2.py +3 -3
  125. frogml/_proto/qwak/automation/v1/automation_pb2.pyi +28 -25
  126. frogml/_proto/qwak/automation/v1/common_pb2.py +3 -3
  127. frogml/_proto/qwak/automation/v1/common_pb2.pyi +8 -5
  128. frogml/_proto/qwak/automation/v1/notification_pb2.py +7 -7
  129. frogml/_proto/qwak/automation/v1/notification_pb2.pyi +14 -8
  130. frogml/_proto/qwak/automation/v1/trigger_pb2.py +3 -3
  131. frogml/_proto/qwak/automation/v1/trigger_pb2.pyi +17 -16
  132. frogml/_proto/qwak/batch_job/v1/batch_job_events_pb2.py +13 -13
  133. frogml/_proto/qwak/batch_job/v1/batch_job_events_pb2.pyi +22 -14
  134. frogml/_proto/qwak/batch_job/v1/batch_job_resources_pb2.py +3 -3
  135. frogml/_proto/qwak/batch_job/v1/batch_job_resources_pb2.pyi +4 -2
  136. frogml/_proto/qwak/batch_job/v1/batch_job_service_pb2.py +127 -127
  137. frogml/_proto/qwak/batch_job/v1/batch_job_service_pb2.pyi +196 -101
  138. frogml/_proto/qwak/build/v1/build_api_pb2.py +17 -17
  139. frogml/_proto/qwak/build/v1/build_api_pb2.pyi +87 -46
  140. frogml/_proto/qwak/build/v1/build_pb2.py +9 -9
  141. frogml/_proto/qwak/build/v1/build_pb2.pyi +187 -118
  142. frogml/_proto/qwak/build_settings/build_settings_api_pb2.py +3 -3
  143. frogml/_proto/qwak/build_settings/build_settings_api_pb2.pyi +15 -13
  144. frogml/_proto/qwak/build_settings/build_settings_pb2.py +3 -3
  145. frogml/_proto/qwak/build_settings/build_settings_pb2.pyi +24 -19
  146. frogml/_proto/qwak/builds/build_pb2.py +49 -48
  147. frogml/_proto/qwak/builds/build_pb2.pyi +113 -53
  148. frogml/_proto/qwak/builds/build_url_pb2.py +5 -5
  149. frogml/_proto/qwak/builds/build_url_pb2.pyi +39 -21
  150. frogml/_proto/qwak/builds/build_values_pb2.py +82 -0
  151. frogml/_proto/qwak/builds/build_values_pb2.pyi +582 -0
  152. frogml/_proto/qwak/builds/build_values_pb2_grpc.py +4 -0
  153. frogml/_proto/qwak/builds/builds_orchestrator_service_pb2.py +80 -52
  154. frogml/_proto/qwak/builds/builds_orchestrator_service_pb2.pyi +261 -40
  155. frogml/_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py +66 -0
  156. frogml/_proto/qwak/builds/builds_pb2.py +7 -7
  157. frogml/_proto/qwak/builds/builds_pb2.pyi +177 -105
  158. frogml/_proto/qwak/builds/internal_builds_orchestrator_service_pb2.py +3 -3
  159. frogml/_proto/qwak/builds/internal_builds_orchestrator_service_pb2.pyi +12 -10
  160. frogml/_proto/qwak/data_versioning/data_versioning_pb2.py +3 -3
  161. frogml/_proto/qwak/data_versioning/data_versioning_pb2.pyi +8 -10
  162. frogml/_proto/qwak/data_versioning/data_versioning_service_pb2.py +3 -3
  163. frogml/_proto/qwak/data_versioning/data_versioning_service_pb2.pyi +12 -11
  164. frogml/_proto/qwak/deployment/alert_pb2.py +5 -5
  165. frogml/_proto/qwak/deployment/alert_pb2.pyi +31 -20
  166. frogml/_proto/qwak/deployment/alert_service_pb2.py +7 -7
  167. frogml/_proto/qwak/deployment/alert_service_pb2.pyi +34 -21
  168. frogml/_proto/qwak/deployment/deployment_messages_pb2.py +3 -3
  169. frogml/_proto/qwak/deployment/deployment_messages_pb2.pyi +9 -11
  170. frogml/_proto/qwak/deployment/deployment_pb2.py +33 -33
  171. frogml/_proto/qwak/deployment/deployment_pb2.pyi +225 -139
  172. frogml/_proto/qwak/deployment/deployment_service_pb2.py +81 -81
  173. frogml/_proto/qwak/deployment/deployment_service_pb2.pyi +139 -78
  174. frogml/_proto/qwak/ecosystem/jfrog/v0/jfrog_tenant_info_service_pb2.py +3 -3
  175. frogml/_proto/qwak/ecosystem/jfrog/v0/jfrog_tenant_info_service_pb2.pyi +11 -9
  176. frogml/_proto/qwak/ecosystem/jfrog/v0/jfrog_tenant_pb2.py +3 -3
  177. frogml/_proto/qwak/ecosystem/jfrog/v0/jfrog_tenant_pb2.pyi +6 -8
  178. frogml/_proto/qwak/ecosystem/jfrog/v0/token_pb2.py +41 -31
  179. frogml/_proto/qwak/ecosystem/jfrog/v0/token_pb2.pyi +168 -36
  180. frogml/_proto/qwak/ecosystem/jfrog/v0/token_service_pb2.py +3 -3
  181. frogml/_proto/qwak/ecosystem/jfrog/v0/token_service_pb2.pyi +29 -19
  182. frogml/_proto/qwak/ecosystem/v0/auth_pb2.py +28 -0
  183. frogml/_proto/qwak/ecosystem/v0/auth_pb2.pyi +35 -0
  184. frogml/_proto/qwak/ecosystem/v0/auth_pb2_grpc.py +4 -0
  185. frogml/_proto/qwak/ecosystem/v0/azure_credentials_pb2.py +37 -0
  186. frogml/_proto/qwak/ecosystem/v0/azure_credentials_pb2.pyi +119 -0
  187. frogml/_proto/qwak/ecosystem/v0/azure_credentials_pb2_grpc.py +4 -0
  188. frogml/_proto/qwak/ecosystem/v0/credentials_pb2.py +11 -10
  189. frogml/_proto/qwak/ecosystem/v0/credentials_pb2.pyi +21 -15
  190. frogml/_proto/qwak/ecosystem/v0/ecosystem_pb2.py +11 -11
  191. frogml/_proto/qwak/ecosystem/v0/ecosystem_pb2.pyi +63 -40
  192. frogml/_proto/qwak/ecosystem/v0/ecosystem_runtime_service_pb2.py +5 -5
  193. frogml/_proto/qwak/ecosystem/v0/ecosystem_runtime_service_pb2.pyi +74 -41
  194. frogml/_proto/qwak/execution/v1/backfill_pb2.py +3 -3
  195. frogml/_proto/qwak/execution/v1/backfill_pb2.pyi +34 -24
  196. frogml/_proto/qwak/execution/v1/batch_pb2.py +3 -3
  197. frogml/_proto/qwak/execution/v1/batch_pb2.pyi +16 -13
  198. frogml/_proto/qwak/execution/v1/deletion_pb2.py +3 -3
  199. frogml/_proto/qwak/execution/v1/deletion_pb2.pyi +9 -9
  200. frogml/_proto/qwak/execution/v1/execution_pb2.py +3 -3
  201. frogml/_proto/qwak/execution/v1/execution_pb2.pyi +28 -12
  202. frogml/_proto/qwak/execution/v1/execution_service_pb2.py +5 -5
  203. frogml/_proto/qwak/execution/v1/execution_service_pb2.pyi +69 -43
  204. frogml/_proto/qwak/execution/v1/internal/deployment/platform_details_pb2.py +3 -3
  205. frogml/_proto/qwak/execution/v1/internal/deployment/platform_details_pb2.pyi +4 -7
  206. frogml/_proto/qwak/execution/v1/jobs/job_pb2.py +5 -5
  207. frogml/_proto/qwak/execution/v1/jobs/job_pb2.pyi +45 -22
  208. frogml/_proto/qwak/execution/v1/jobs/job_service_pb2.py +3 -3
  209. frogml/_proto/qwak/execution/v1/jobs/job_service_pb2.pyi +62 -37
  210. frogml/_proto/qwak/execution/v1/jobs/reports/report_pb2.py +5 -5
  211. frogml/_proto/qwak/execution/v1/jobs/reports/report_pb2.pyi +49 -29
  212. frogml/_proto/qwak/execution/v1/state/execution_state_pb2.py +3 -3
  213. frogml/_proto/qwak/execution/v1/state/execution_state_pb2.pyi +6 -9
  214. frogml/_proto/qwak/execution/v1/state/execution_state_service_pb2.py +3 -3
  215. frogml/_proto/qwak/execution/v1/state/execution_state_service_pb2.pyi +27 -19
  216. frogml/_proto/qwak/execution/v1/state/featureset_state_pb2.py +3 -3
  217. frogml/_proto/qwak/execution/v1/state/featureset_state_pb2.pyi +4 -7
  218. frogml/_proto/qwak/execution/v1/state/spark_execution_state_pb2.py +5 -5
  219. frogml/_proto/qwak/execution/v1/state/spark_execution_state_pb2.pyi +13 -7
  220. frogml/_proto/qwak/execution/v1/streaming_aggregation_pb2.py +21 -14
  221. frogml/_proto/qwak/execution/v1/streaming_aggregation_pb2.pyi +83 -11
  222. frogml/_proto/qwak/execution/v1/streaming_pb2.py +3 -3
  223. frogml/_proto/qwak/execution/v1/streaming_pb2.pyi +10 -10
  224. frogml/_proto/qwak/feature_store/entities/entity_pb2.py +3 -3
  225. frogml/_proto/qwak/feature_store/entities/entity_pb2.pyi +29 -16
  226. frogml/_proto/qwak/feature_store/entities/entity_service_pb2.py +3 -3
  227. frogml/_proto/qwak/feature_store/entities/entity_service_pb2.pyi +37 -22
  228. frogml/_proto/qwak/feature_store/features/aggregation_pb2.py +3 -3
  229. frogml/_proto/qwak/feature_store/features/aggregation_pb2.pyi +39 -21
  230. frogml/_proto/qwak/feature_store/features/deployment_pb2.py +3 -3
  231. frogml/_proto/qwak/feature_store/features/deployment_pb2.pyi +51 -27
  232. frogml/_proto/qwak/feature_store/features/deployment_service_pb2.py +3 -3
  233. frogml/_proto/qwak/feature_store/features/deployment_service_pb2.pyi +5 -7
  234. frogml/_proto/qwak/feature_store/features/execution_pb2.py +3 -3
  235. frogml/_proto/qwak/feature_store/features/execution_pb2.pyi +18 -13
  236. frogml/_proto/qwak/feature_store/features/feature_set_attribute_pb2.py +3 -3
  237. frogml/_proto/qwak/feature_store/features/feature_set_attribute_pb2.pyi +6 -8
  238. frogml/_proto/qwak/feature_store/features/feature_set_pb2.py +21 -21
  239. frogml/_proto/qwak/feature_store/features/feature_set_pb2.pyi +85 -48
  240. frogml/_proto/qwak/feature_store/features/feature_set_service_pb2.py +9 -9
  241. frogml/_proto/qwak/feature_store/features/feature_set_service_pb2.pyi +107 -53
  242. frogml/_proto/qwak/feature_store/features/feature_set_state_pb2.py +3 -3
  243. frogml/_proto/qwak/feature_store/features/feature_set_state_pb2.pyi +46 -23
  244. frogml/_proto/qwak/feature_store/features/feature_set_state_service_pb2.py +3 -3
  245. frogml/_proto/qwak/feature_store/features/feature_set_state_service_pb2.pyi +27 -17
  246. frogml/_proto/qwak/feature_store/features/feature_set_types_pb2.py +73 -71
  247. frogml/_proto/qwak/feature_store/features/feature_set_types_pb2.pyi +181 -99
  248. frogml/_proto/qwak/feature_store/features/monitoring_pb2.py +3 -3
  249. frogml/_proto/qwak/feature_store/features/monitoring_pb2.pyi +11 -11
  250. frogml/_proto/qwak/feature_store/features/real_time_feature_extractor_pb2.py +3 -3
  251. frogml/_proto/qwak/feature_store/features/real_time_feature_extractor_pb2.pyi +63 -37
  252. frogml/_proto/qwak/feature_store/jobs/job_pb2.py +3 -3
  253. frogml/_proto/qwak/feature_store/jobs/job_pb2.pyi +26 -14
  254. frogml/_proto/qwak/feature_store/jobs/job_service_pb2.py +3 -3
  255. frogml/_proto/qwak/feature_store/jobs/job_service_pb2.pyi +36 -25
  256. frogml/_proto/qwak/feature_store/jobs/v1/job_pb2.py +3 -3
  257. frogml/_proto/qwak/feature_store/jobs/v1/job_pb2.pyi +23 -12
  258. frogml/_proto/qwak/feature_store/jobs/v1/job_service_pb2.py +3 -3
  259. frogml/_proto/qwak/feature_store/jobs/v1/job_service_pb2.pyi +51 -30
  260. frogml/_proto/qwak/feature_store/platform/platform_details_pb2.py +3 -3
  261. frogml/_proto/qwak/feature_store/platform/platform_details_pb2.pyi +11 -11
  262. frogml/_proto/qwak/feature_store/reports/report_pb2.py +3 -3
  263. frogml/_proto/qwak/feature_store/reports/report_pb2.pyi +28 -18
  264. frogml/_proto/qwak/feature_store/repository/common/platform_pb2.py +3 -3
  265. frogml/_proto/qwak/feature_store/repository/common/platform_pb2.pyi +13 -12
  266. frogml/_proto/qwak/feature_store/serving/management_pb2.py +3 -3
  267. frogml/_proto/qwak/feature_store/serving/management_pb2.pyi +10 -10
  268. frogml/_proto/qwak/feature_store/serving/metadata_pb2.py +3 -3
  269. frogml/_proto/qwak/feature_store/serving/metadata_pb2.pyi +21 -15
  270. frogml/_proto/qwak/feature_store/serving/serving_pb2.py +13 -13
  271. frogml/_proto/qwak/feature_store/serving/serving_pb2.pyi +67 -37
  272. frogml/_proto/qwak/feature_store/serving/v1/value_pb2.py +3 -3
  273. frogml/_proto/qwak/feature_store/serving/v1/value_pb2.pyi +8 -10
  274. frogml/_proto/qwak/feature_store/sinks/sink_pb2.py +3 -3
  275. frogml/_proto/qwak/feature_store/sinks/sink_pb2.pyi +20 -16
  276. frogml/_proto/qwak/feature_store/sources/batch_pb2.py +83 -77
  277. frogml/_proto/qwak/feature_store/sources/batch_pb2.pyi +188 -62
  278. frogml/_proto/qwak/feature_store/sources/data_source_attribute_pb2.py +3 -3
  279. frogml/_proto/qwak/feature_store/sources/data_source_attribute_pb2.pyi +6 -8
  280. frogml/_proto/qwak/feature_store/sources/data_source_pb2.py +7 -7
  281. frogml/_proto/qwak/feature_store/sources/data_source_pb2.pyi +37 -30
  282. frogml/_proto/qwak/feature_store/sources/data_source_service_pb2.py +5 -5
  283. frogml/_proto/qwak/feature_store/sources/data_source_service_pb2.pyi +45 -25
  284. frogml/_proto/qwak/feature_store/sources/streaming_pb2.py +11 -11
  285. frogml/_proto/qwak/feature_store/sources/streaming_pb2.pyi +41 -21
  286. frogml/_proto/qwak/feature_store/v1/common/jfrog_artifact/jfrog_artifact_pb2.py +3 -3
  287. frogml/_proto/qwak/feature_store/v1/common/jfrog_artifact/jfrog_artifact_pb2.pyi +4 -7
  288. frogml/_proto/qwak/feature_store/v1/common/source_code/source_code_pb2.py +3 -3
  289. frogml/_proto/qwak/feature_store/v1/common/source_code/source_code_pb2.pyi +17 -17
  290. frogml/_proto/qwak/feature_store/v1/internal/data_source/data_source_service_pb2.py +5 -5
  291. frogml/_proto/qwak/feature_store/v1/internal/data_source/data_source_service_pb2.pyi +15 -13
  292. frogml/_proto/qwak/feature_store/v1/internal/featureset/featureset_token_service_pb2.py +3 -3
  293. frogml/_proto/qwak/feature_store/v1/internal/featureset/featureset_token_service_pb2.pyi +6 -8
  294. frogml/_proto/qwak/features_operator/v1/features_operator_pb2.py +3 -3
  295. frogml/_proto/qwak/features_operator/v1/features_operator_pb2.pyi +15 -11
  296. frogml/_proto/qwak/features_operator/v1/features_operator_service_pb2.py +3 -3
  297. frogml/_proto/qwak/features_operator/v1/features_operator_service_pb2.pyi +18 -16
  298. frogml/_proto/qwak/features_operator/v2/features_operator_pb2.py +3 -3
  299. frogml/_proto/qwak/features_operator/v2/features_operator_pb2.pyi +16 -11
  300. frogml/_proto/qwak/features_operator/v2/features_operator_service_pb2.py +3 -3
  301. frogml/_proto/qwak/features_operator/v2/features_operator_service_pb2.pyi +20 -19
  302. frogml/_proto/qwak/features_operator/v3/features_operator_async_service_pb2.py +3 -3
  303. frogml/_proto/qwak/features_operator/v3/features_operator_async_service_pb2.pyi +41 -34
  304. frogml/_proto/qwak/features_operator/v3/features_operator_pb2.py +3 -3
  305. frogml/_proto/qwak/features_operator/v3/features_operator_pb2.pyi +19 -13
  306. frogml/_proto/qwak/file_versioning/file_versioning_pb2.py +5 -5
  307. frogml/_proto/qwak/file_versioning/file_versioning_pb2.pyi +8 -5
  308. frogml/_proto/qwak/file_versioning/file_versioning_service_pb2.py +3 -3
  309. frogml/_proto/qwak/file_versioning/file_versioning_service_pb2.pyi +12 -11
  310. frogml/_proto/qwak/fitness_service/constructs_pb2.py +5 -5
  311. frogml/_proto/qwak/fitness_service/constructs_pb2.pyi +51 -16
  312. frogml/_proto/qwak/fitness_service/fitness_pb2.py +3 -3
  313. frogml/_proto/qwak/fitness_service/fitness_pb2.pyi +24 -18
  314. frogml/_proto/qwak/fitness_service/fitness_service_pb2.py +3 -3
  315. frogml/_proto/qwak/fitness_service/fitness_service_pb2.pyi +18 -13
  316. frogml/_proto/qwak/fitness_service/status_pb2.py +3 -3
  317. frogml/_proto/qwak/fitness_service/status_pb2.pyi +26 -16
  318. frogml/_proto/qwak/inference/feedback/feedback_pb2.py +3 -3
  319. frogml/_proto/qwak/inference/feedback/feedback_pb2.pyi +28 -15
  320. frogml/_proto/qwak/instance_template/instance_template_pb2.py +11 -11
  321. frogml/_proto/qwak/instance_template/instance_template_pb2.pyi +13 -7
  322. frogml/_proto/qwak/instance_template/instance_template_service_pb2.py +3 -3
  323. frogml/_proto/qwak/instance_template/instance_template_service_pb2.pyi +12 -12
  324. frogml/_proto/qwak/integration/hugging_face_integration_pb2.py +3 -3
  325. frogml/_proto/qwak/integration/hugging_face_integration_pb2.pyi +19 -17
  326. frogml/_proto/qwak/integration/integration_pb2.py +3 -3
  327. frogml/_proto/qwak/integration/integration_pb2.pyi +50 -32
  328. frogml/_proto/qwak/integration/integration_service_pb2.py +3 -3
  329. frogml/_proto/qwak/integration/integration_service_pb2.pyi +39 -23
  330. frogml/_proto/qwak/integration/open_a_i_integration_pb2.py +3 -3
  331. frogml/_proto/qwak/integration/open_a_i_integration_pb2.pyi +20 -17
  332. frogml/_proto/qwak/integration/opsgenie_integration_pb2.py +5 -5
  333. frogml/_proto/qwak/integration/opsgenie_integration_pb2.pyi +29 -16
  334. frogml/_proto/qwak/integration/pagerduty_integration_pb2.py +5 -5
  335. frogml/_proto/qwak/integration/pagerduty_integration_pb2.pyi +39 -26
  336. frogml/_proto/qwak/integration/slack_app_integration_pb2.py +5 -5
  337. frogml/_proto/qwak/integration/slack_app_integration_pb2.pyi +30 -20
  338. frogml/_proto/qwak/jfrog/gateway/v0/repository_pb2.py +3 -3
  339. frogml/_proto/qwak/jfrog/gateway/v0/repository_pb2.pyi +19 -16
  340. frogml/_proto/qwak/jfrog/gateway/v0/repository_service_pb2.py +3 -3
  341. frogml/_proto/qwak/jfrog/gateway/v0/repository_service_pb2.pyi +11 -11
  342. frogml/_proto/qwak/kube_deployment_captain/alert_pb2.py +5 -5
  343. frogml/_proto/qwak/kube_deployment_captain/alert_pb2.pyi +25 -15
  344. frogml/_proto/qwak/kube_deployment_captain/alerting_pb2.py +3 -3
  345. frogml/_proto/qwak/kube_deployment_captain/alerting_pb2.pyi +14 -12
  346. frogml/_proto/qwak/kube_deployment_captain/batch_job_pb2.py +67 -67
  347. frogml/_proto/qwak/kube_deployment_captain/batch_job_pb2.pyi +106 -59
  348. frogml/_proto/qwak/kube_deployment_captain/deployment_pb2.py +3 -3
  349. frogml/_proto/qwak/kube_deployment_captain/deployment_pb2.pyi +63 -40
  350. frogml/_proto/qwak/kube_deployment_captain/feature_set_deployment_pb2.py +7 -7
  351. frogml/_proto/qwak/kube_deployment_captain/feature_set_deployment_pb2.pyi +63 -39
  352. frogml/_proto/qwak/kube_deployment_captain/kube_deployment_captain_service_pb2.py +17 -17
  353. frogml/_proto/qwak/kube_deployment_captain/kube_deployment_captain_service_pb2.pyi +146 -72
  354. frogml/_proto/qwak/kube_deployment_captain/traffic_mapping_pb2.py +3 -3
  355. frogml/_proto/qwak/kube_deployment_captain/traffic_mapping_pb2.pyi +8 -10
  356. frogml/_proto/qwak/logging/log_filter_pb2.py +3 -3
  357. frogml/_proto/qwak/logging/log_filter_pb2.pyi +18 -13
  358. frogml/_proto/qwak/logging/log_line_pb2.py +5 -5
  359. frogml/_proto/qwak/logging/log_line_pb2.pyi +7 -8
  360. frogml/_proto/qwak/logging/log_reader_service_pb2.py +3 -3
  361. frogml/_proto/qwak/logging/log_reader_service_pb2.pyi +19 -18
  362. frogml/_proto/qwak/logging/log_source_pb2.py +3 -3
  363. frogml/_proto/qwak/logging/log_source_pb2.pyi +39 -29
  364. frogml/_proto/qwak/model_descriptor/open_ai_descriptor_pb2.py +3 -3
  365. frogml/_proto/qwak/model_descriptor/open_ai_descriptor_pb2.pyi +48 -44
  366. frogml/_proto/qwak/model_group/model_group_pb2.py +24 -16
  367. frogml/_proto/qwak/model_group/model_group_pb2.pyi +90 -12
  368. frogml/_proto/qwak/model_group/model_group_pb2_grpc.py +37 -0
  369. frogml/_proto/qwak/model_group/model_group_repository_details_pb2.py +3 -3
  370. frogml/_proto/qwak/model_group/model_group_repository_details_pb2.pyi +28 -18
  371. frogml/_proto/qwak/models/models_pb2.py +38 -28
  372. frogml/_proto/qwak/models/models_pb2.pyi +229 -84
  373. frogml/_proto/qwak/models/models_pb2_grpc.py +34 -0
  374. frogml/_proto/qwak/models/models_query_pb2.py +3 -3
  375. frogml/_proto/qwak/models/models_query_pb2.pyi +18 -13
  376. frogml/_proto/qwak/monitoring/v0/alerting_channel_management_service_pb2.py +3 -3
  377. frogml/_proto/qwak/monitoring/v0/alerting_channel_management_service_pb2.pyi +31 -18
  378. frogml/_proto/qwak/monitoring/v0/alerting_channel_pb2.py +3 -3
  379. frogml/_proto/qwak/monitoring/v0/alerting_channel_pb2.pyi +62 -28
  380. frogml/_proto/qwak/monitoring/v0/alerting_channel_sync_service_pb2.py +3 -3
  381. frogml/_proto/qwak/monitoring/v0/alerting_channel_sync_service_pb2.pyi +18 -14
  382. frogml/_proto/qwak/offline/serving/v1/feature_values_pb2.py +3 -3
  383. frogml/_proto/qwak/offline/serving/v1/feature_values_pb2.pyi +5 -7
  384. frogml/_proto/qwak/offline/serving/v1/offline_serving_async_service_pb2.py +3 -3
  385. frogml/_proto/qwak/offline/serving/v1/offline_serving_async_service_pb2.pyi +43 -23
  386. frogml/_proto/qwak/offline/serving/v1/options_pb2.py +3 -3
  387. frogml/_proto/qwak/offline/serving/v1/options_pb2.pyi +4 -7
  388. frogml/_proto/qwak/offline/serving/v1/population_pb2.py +3 -3
  389. frogml/_proto/qwak/offline/serving/v1/population_pb2.pyi +18 -15
  390. frogml/_proto/qwak/projects/jfrog_project_spec_pb2.py +3 -3
  391. frogml/_proto/qwak/projects/jfrog_project_spec_pb2.pyi +6 -9
  392. frogml/_proto/qwak/projects/projects_pb2.py +22 -20
  393. frogml/_proto/qwak/projects/projects_pb2.pyi +74 -36
  394. frogml/_proto/qwak/secret_service/secret_service_pb2.py +3 -3
  395. frogml/_proto/qwak/secret_service/secret_service_pb2.pyi +13 -11
  396. frogml/_proto/qwak/self_service/account/v0/account_membership_pb2.py +7 -7
  397. frogml/_proto/qwak/self_service/account/v0/account_membership_pb2.pyi +44 -22
  398. frogml/_proto/qwak/self_service/account/v0/account_membership_service_pb2.py +3 -3
  399. frogml/_proto/qwak/self_service/account/v0/account_membership_service_pb2.pyi +48 -24
  400. frogml/_proto/qwak/self_service/account/v0/account_status_pb2.py +5 -5
  401. frogml/_proto/qwak/self_service/account/v0/account_status_pb2.pyi +30 -23
  402. frogml/_proto/qwak/self_service/account/v0/managing_account_pb2.py +31 -25
  403. frogml/_proto/qwak/self_service/account/v0/managing_account_pb2.pyi +84 -22
  404. frogml/_proto/qwak/self_service/account/v0/managing_account_service_pb2.py +3 -3
  405. frogml/_proto/qwak/self_service/account/v0/managing_account_service_pb2.pyi +25 -16
  406. frogml/_proto/qwak/self_service/user/v1/api_key_pb2.py +3 -3
  407. frogml/_proto/qwak/self_service/user/v1/api_key_pb2.pyi +4 -7
  408. frogml/_proto/qwak/self_service/user/v1/user_pb2.py +3 -3
  409. frogml/_proto/qwak/self_service/user/v1/user_pb2.pyi +16 -16
  410. frogml/_proto/qwak/self_service/user/v1/user_service_pb2.py +5 -5
  411. frogml/_proto/qwak/self_service/user/v1/user_service_pb2.pyi +27 -14
  412. frogml/_proto/qwak/service_discovery/service_discovery_location_pb2.py +3 -3
  413. frogml/_proto/qwak/service_discovery/service_discovery_location_pb2.pyi +11 -11
  414. frogml/_proto/qwak/service_discovery/service_discovery_location_service_pb2.py +3 -3
  415. frogml/_proto/qwak/service_discovery/service_discovery_location_service_pb2.pyi +6 -8
  416. frogml/_proto/qwak/traffic/v1/traffic_api_pb2.py +3 -3
  417. frogml/_proto/qwak/traffic/v1/traffic_api_pb2.pyi +19 -14
  418. frogml/_proto/qwak/traffic/v1/traffic_pb2.py +3 -3
  419. frogml/_proto/qwak/traffic/v1/traffic_pb2.pyi +35 -22
  420. frogml/_proto/qwak/user_application/common/v0/resources_pb2.py +9 -9
  421. frogml/_proto/qwak/user_application/common/v0/resources_pb2.pyi +53 -19
  422. frogml/_proto/qwak/user_application/v0/user_application_pb2.py +7 -7
  423. frogml/_proto/qwak/user_application/v0/user_application_pb2.pyi +8 -5
  424. frogml/core/automations/batch_execution_action.py +4 -1
  425. frogml/core/clients/batch_job_management/client.py +1 -0
  426. frogml/core/clients/batch_job_management/executions_config.py +2 -0
  427. frogml/core/clients/build_orchestrator/build_model_request_getter.py +6 -2
  428. frogml/core/clients/build_orchestrator/client.py +56 -5
  429. frogml/core/clients/feature_store/management_client.py +159 -220
  430. frogml/core/clients/feature_store/operator_client.py +21 -2
  431. frogml/core/clients/jfrog_gateway/client.py +0 -20
  432. frogml/core/clients/model_group_management/client.py +20 -1
  433. frogml/core/exceptions/__init__.py +1 -0
  434. frogml/core/exceptions/frogml_grpc_address_exception.py +9 -0
  435. frogml/core/exceptions/frogml_token_exception.py +7 -0
  436. frogml/core/feature_store/_common/source_code_spec.py +60 -14
  437. frogml/core/feature_store/data_sources/attributes.py +5 -8
  438. frogml/core/feature_store/data_sources/source_authentication.py +5 -6
  439. frogml/core/feature_store/data_sources/time_partition_columns.py +28 -41
  440. frogml/core/feature_store/execution/backfill.py +17 -28
  441. frogml/core/feature_store/feature_sets/transformations/__init__.py +0 -2
  442. frogml/core/feature_store/feature_sets/transformations/transformations.py +0 -69
  443. frogml/core/feature_store/validations/validation_decorators.py +72 -0
  444. frogml/core/inner/build_config/build_config_v1.py +4 -5
  445. frogml/core/inner/build_logic/phases/phase_010_fetch_model/post_fetch_validation_step.py +10 -10
  446. frogml/core/inner/build_logic/phases/phase_020_remote_register_frogml_build/upload_step.py +92 -43
  447. frogml/core/inner/const.py +2 -0
  448. frogml/core/inner/di_configuration/__init__.py +1 -67
  449. frogml/core/inner/di_configuration/account.py +4 -5
  450. frogml/core/inner/di_configuration/containers.py +7 -0
  451. frogml/core/inner/di_configuration/dependency_wiring.py +95 -0
  452. frogml/core/inner/tool/auth/TOKEN_ROTATION.md +51 -0
  453. frogml/core/inner/tool/auth/__init__.py +3 -0
  454. frogml/core/inner/tool/auth/auth_client.py +192 -0
  455. frogml/core/inner/tool/auth/token_maintainer.py +119 -0
  456. frogml/core/inner/tool/grpc/grpc_auth.py +22 -23
  457. frogml/core/inner/tool/grpc/grpc_tools.py +126 -6
  458. frogml/core/inner/tool/grpc/grpc_try_wrapping.py +123 -5
  459. frogml/core/model_loggers/artifact_logger.py +5 -4
  460. frogml/core/utils/proto_utils.py +0 -40
  461. frogml/feature_store/_common/artifact_utils.py +10 -8
  462. frogml/feature_store/_common/packaging.py +40 -22
  463. frogml/feature_store/_common/source_code_spec_factory.py +59 -9
  464. frogml/feature_store/data_sources/__init__.py +2 -0
  465. frogml/feature_store/data_sources/base.py +20 -21
  466. frogml/feature_store/data_sources/batch/_batch.py +0 -3
  467. frogml/feature_store/data_sources/batch/_jdbc.py +6 -7
  468. frogml/feature_store/data_sources/batch/athena.py +6 -7
  469. frogml/feature_store/data_sources/batch/big_query.py +8 -5
  470. frogml/feature_store/data_sources/batch/clickhouse.py +8 -8
  471. frogml/feature_store/data_sources/batch/csv.py +2 -4
  472. frogml/feature_store/data_sources/batch/elastic_search.py +2 -4
  473. frogml/feature_store/data_sources/batch/filesystem/aws.py +21 -22
  474. frogml/feature_store/data_sources/batch/filesystem/base_config.py +3 -3
  475. frogml/feature_store/data_sources/batch/filesystem/gcp.py +3 -7
  476. frogml/feature_store/data_sources/batch/mongodb.py +2 -4
  477. frogml/feature_store/data_sources/batch/mysql.py +2 -3
  478. frogml/feature_store/data_sources/batch/parquet.py +6 -6
  479. frogml/feature_store/data_sources/batch/postgres.py +2 -3
  480. frogml/feature_store/data_sources/batch/redshift.py +8 -6
  481. frogml/feature_store/data_sources/batch/snowflake.py +17 -11
  482. frogml/feature_store/data_sources/batch/unity_catalog.py +113 -0
  483. frogml/feature_store/data_sources/batch/vertica.py +10 -6
  484. frogml/feature_store/data_sources/streaming/_streaming.py +0 -2
  485. frogml/feature_store/data_sources/streaming/kafka/authentication.py +13 -19
  486. frogml/feature_store/data_sources/streaming/kafka/deserialization.py +22 -23
  487. frogml/feature_store/data_sources/streaming/kafka/kafka.py +13 -14
  488. frogml/feature_store/feature_sets/base_feature_set.py +1 -0
  489. frogml/feature_store/online/client.py +20 -4
  490. frogml/feature_store/validations/validator.py +11 -3
  491. frogml/sdk/frogml_client/builds/build.py +8 -7
  492. frogml/sdk/frogml_client/client.py +3 -71
  493. frogml/sdk/model_version/__init__.py +0 -2
  494. frogml/sdk/model_version/catboost/__init__.py +3 -0
  495. frogml/sdk/model_version/files/__init__.py +4 -0
  496. frogml/sdk/model_version/huggingface/__init__.py +9 -3
  497. frogml/sdk/model_version/model_loggers/base_model_version_manager.py +5 -0
  498. frogml/sdk/model_version/onnx/__init__.py +3 -0
  499. frogml/sdk/model_version/pytorch/__init__.py +3 -0
  500. frogml/sdk/model_version/scikit_learn/__init__.py +3 -0
  501. frogml/sdk/model_version/utils/files_tools.py +2 -3
  502. frogml/sdk/model_version/utils/jml/customer_client.py +47 -14
  503. frogml/sdk/model_version/utils/model_log_config.py +5 -0
  504. frogml/sdk/model_version/utils/storage.py +57 -41
  505. frogml/storage/artifactory/_artifactory_api.py +6 -0
  506. frogml/storage/authentication/login/_login_cli.py +21 -21
  507. frogml/storage/authentication/models/_auth_config.py +22 -1
  508. frogml/storage/authentication/utils/_authentication_utils.py +31 -34
  509. frogml/storage/constants.py +19 -0
  510. frogml/storage/frog_ml.py +10 -20
  511. frogml/storage/models/frogml_dataset_version.py +3 -3
  512. frogml/storage/models/frogml_model_version.py +6 -3
  513. frogml/storage/utils/_input_checks_utility.py +3 -1
  514. {frogml-1.1.62.dist-info → frogml-1.2.19.dist-info}/METADATA +39 -9
  515. {frogml-1.1.62.dist-info → frogml-1.2.19.dist-info}/RECORD +525 -512
  516. frogml_services_mock/mocks/authentication_service.py +3 -3
  517. frogml_services_mock/mocks/build_orchestrator_service_api.py +5 -2
  518. frogml_services_mock/mocks/ecosystem_service_api.py +15 -3
  519. frogml_services_mock/mocks/feature_store_data_sources_manager_api.py +55 -14
  520. frogml_services_mock/mocks/feature_store_entities_manager_api.py +31 -30
  521. frogml_services_mock/mocks/features_operator_v3_service.py +20 -0
  522. frogml_services_mock/mocks/frogml_mocks.py +1 -1
  523. frogml_services_mock/mocks/project_manager_service.py +31 -56
  524. frogml_services_mock/services_mock.py +42 -35
  525. frogml/core/clients/project/__init__.py +0 -0
  526. frogml/core/clients/project/client.py +0 -72
  527. frogml/core/inner/tool/auth.py +0 -84
  528. frogml/sdk/frogml_client/projects/__init__.py +0 -0
  529. frogml/sdk/frogml_client/projects/project.py +0 -56
  530. {frogml-1.1.62.dist-info → frogml-1.2.19.dist-info}/WHEEL +0 -0
@@ -2,6 +2,7 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
+
5
6
  import builtins
6
7
  import collections.abc
7
8
  import google.protobuf.descriptor
@@ -24,7 +25,7 @@ class _JobStatus:
24
25
  ValueType = typing.NewType("ValueType", builtins.int)
25
26
  V: typing_extensions.TypeAlias = ValueType
26
27
 
27
- class _JobStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_JobStatus.ValueType], builtins.type): # noqa: F821
28
+ class _JobStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_JobStatus.ValueType], builtins.type):
28
29
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
30
  JOB_STATUS_INVALID: _JobStatus.ValueType # 0
30
31
  """Job state"""
@@ -55,6 +56,7 @@ LEGACY_JOB_STATUS_PENDING: JobStatus.ValueType # 7
55
56
  """This is for supporting initPagination and showing jobs from the legacy job service - job is pending"""
56
57
  global___JobStatus = JobStatus
57
58
 
59
+ @typing.final
58
60
  class JobRecord(google.protobuf.message.Message):
59
61
  """Feature Store Job Record.
60
62
  Represents a job generated from featureset
@@ -62,6 +64,7 @@ class JobRecord(google.protobuf.message.Message):
62
64
 
63
65
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
64
66
 
67
+ @typing.final
65
68
  class JobLabelsEntry(google.protobuf.message.Message):
66
69
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
67
70
 
@@ -75,7 +78,7 @@ class JobRecord(google.protobuf.message.Message):
75
78
  key: builtins.str = ...,
76
79
  value: builtins.str = ...,
77
80
  ) -> None: ...
78
- def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
81
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
79
82
 
80
83
  JOB_ID_FIELD_NUMBER: builtins.int
81
84
  LEGACY_RUN_ID_FIELD_NUMBER: builtins.int
@@ -108,25 +111,30 @@ class JobRecord(google.protobuf.message.Message):
108
111
  """Account ID"""
109
112
  job_status: global___JobStatus.ValueType
110
113
  """State of the job - whether it's running, failed, pending, etc"""
114
+ code: builtins.str
115
+ """Classify this job with a specific code, whether failed or successful"""
111
116
  @property
112
117
  def creation_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
113
118
  """Job Creation time - the time at which it arrived at the database"""
119
+
114
120
  @property
115
121
  def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
116
122
  """Start time - the time at which the job started executing"""
123
+
117
124
  @property
118
125
  def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
119
126
  """End time - the time at which the job attained its final status"""
127
+
120
128
  @property
121
129
  def job_metadata(self) -> global___JobMetadata:
122
130
  """Job-Specific metadata"""
131
+
123
132
  @property
124
133
  def job_labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
125
134
  """Labels/ Tags associated with this job.
126
135
  Stuff like Tshirt size/ comments etc. go here
127
136
  """
128
- code: builtins.str
129
- """Classify this job with a specific code, whether failed or successful"""
137
+
130
138
  @property
131
139
  def info(self) -> global___FailureInformation: ...
132
140
  def __init__(
@@ -148,15 +156,16 @@ class JobRecord(google.protobuf.message.Message):
148
156
  code: builtins.str = ...,
149
157
  info: global___FailureInformation | None = ...,
150
158
  ) -> None: ...
151
- def HasField(self, field_name: typing_extensions.Literal["creation_time", b"creation_time", "end_time", b"end_time", "exec_id", b"exec_id", "execution_id", b"execution_id", "failure_info", b"failure_info", "info", b"info", "job_metadata", b"job_metadata", "legacy_run_id", b"legacy_run_id", "start_time", b"start_time"]) -> builtins.bool: ...
152
- def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "code", b"code", "creation_time", b"creation_time", "end_time", b"end_time", "environment_id", b"environment_id", "exec_id", b"exec_id", "execution_id", b"execution_id", "failure_info", b"failure_info", "featureset_id", b"featureset_id", "featureset_name", b"featureset_name", "info", b"info", "job_id", b"job_id", "job_labels", b"job_labels", "job_metadata", b"job_metadata", "job_status", b"job_status", "legacy_run_id", b"legacy_run_id", "start_time", b"start_time"]) -> None: ...
159
+ def HasField(self, field_name: typing.Literal["creation_time", b"creation_time", "end_time", b"end_time", "exec_id", b"exec_id", "execution_id", b"execution_id", "failure_info", b"failure_info", "info", b"info", "job_metadata", b"job_metadata", "legacy_run_id", b"legacy_run_id", "start_time", b"start_time"]) -> builtins.bool: ...
160
+ def ClearField(self, field_name: typing.Literal["account_id", b"account_id", "code", b"code", "creation_time", b"creation_time", "end_time", b"end_time", "environment_id", b"environment_id", "exec_id", b"exec_id", "execution_id", b"execution_id", "failure_info", b"failure_info", "featureset_id", b"featureset_id", "featureset_name", b"featureset_name", "info", b"info", "job_id", b"job_id", "job_labels", b"job_labels", "job_metadata", b"job_metadata", "job_status", b"job_status", "legacy_run_id", b"legacy_run_id", "start_time", b"start_time"]) -> None: ...
153
161
  @typing.overload
154
- def WhichOneof(self, oneof_group: typing_extensions.Literal["exec_id", b"exec_id"]) -> typing_extensions.Literal["legacy_run_id", "execution_id"] | None: ...
162
+ def WhichOneof(self, oneof_group: typing.Literal["exec_id", b"exec_id"]) -> typing.Literal["legacy_run_id", "execution_id"] | None: ...
155
163
  @typing.overload
156
- def WhichOneof(self, oneof_group: typing_extensions.Literal["failure_info", b"failure_info"]) -> typing_extensions.Literal["info"] | None: ...
164
+ def WhichOneof(self, oneof_group: typing.Literal["failure_info", b"failure_info"]) -> typing.Literal["info"] | None: ...
157
165
 
158
166
  global___JobRecord = JobRecord
159
167
 
168
+ @typing.final
160
169
  class JobMetadata(google.protobuf.message.Message):
161
170
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
162
171
 
@@ -165,21 +174,24 @@ class JobMetadata(google.protobuf.message.Message):
165
174
  @property
166
175
  def batch_ingestion_metadata(self) -> global___BatchIngestionMetadata:
167
176
  """"regular" batch job"""
177
+
168
178
  @property
169
179
  def batch_backfill_ingestion_metadata(self) -> global___BatchBackfillMetadata:
170
180
  """batch backfill"""
181
+
171
182
  def __init__(
172
183
  self,
173
184
  *,
174
185
  batch_ingestion_metadata: global___BatchIngestionMetadata | None = ...,
175
186
  batch_backfill_ingestion_metadata: global___BatchBackfillMetadata | None = ...,
176
187
  ) -> None: ...
177
- def HasField(self, field_name: typing_extensions.Literal["batch_backfill_ingestion_metadata", b"batch_backfill_ingestion_metadata", "batch_ingestion_metadata", b"batch_ingestion_metadata", "metadata_type", b"metadata_type"]) -> builtins.bool: ...
178
- def ClearField(self, field_name: typing_extensions.Literal["batch_backfill_ingestion_metadata", b"batch_backfill_ingestion_metadata", "batch_ingestion_metadata", b"batch_ingestion_metadata", "metadata_type", b"metadata_type"]) -> None: ...
179
- def WhichOneof(self, oneof_group: typing_extensions.Literal["metadata_type", b"metadata_type"]) -> typing_extensions.Literal["batch_ingestion_metadata", "batch_backfill_ingestion_metadata"] | None: ...
188
+ def HasField(self, field_name: typing.Literal["batch_backfill_ingestion_metadata", b"batch_backfill_ingestion_metadata", "batch_ingestion_metadata", b"batch_ingestion_metadata", "metadata_type", b"metadata_type"]) -> builtins.bool: ...
189
+ def ClearField(self, field_name: typing.Literal["batch_backfill_ingestion_metadata", b"batch_backfill_ingestion_metadata", "batch_ingestion_metadata", b"batch_ingestion_metadata", "metadata_type", b"metadata_type"]) -> None: ...
190
+ def WhichOneof(self, oneof_group: typing.Literal["metadata_type", b"metadata_type"]) -> typing.Literal["batch_ingestion_metadata", "batch_backfill_ingestion_metadata"] | None: ...
180
191
 
181
192
  global___JobMetadata = JobMetadata
182
193
 
194
+ @typing.final
183
195
  class BatchIngestionMetadata(google.protobuf.message.Message):
184
196
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
185
197
 
@@ -187,17 +199,20 @@ class BatchIngestionMetadata(google.protobuf.message.Message):
187
199
  INGESTED_DATA_END_TIME_FIELD_NUMBER: builtins.int
188
200
  NUM_AFFECTED_ROWS_FIELD_NUMBER: builtins.int
189
201
  BATCH_EXECUTION_DATE_FIELD_NUMBER: builtins.int
202
+ num_affected_rows: builtins.int
203
+ """Number of affected rows"""
190
204
  @property
191
205
  def ingested_data_start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
192
206
  """Ingested data window start time"""
207
+
193
208
  @property
194
209
  def ingested_data_end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
195
210
  """Ingested data window end time"""
196
- num_affected_rows: builtins.int
197
- """Number of affected rows"""
211
+
198
212
  @property
199
213
  def batch_execution_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
200
214
  """Logical batch date"""
215
+
201
216
  def __init__(
202
217
  self,
203
218
  *,
@@ -206,11 +221,12 @@ class BatchIngestionMetadata(google.protobuf.message.Message):
206
221
  num_affected_rows: builtins.int = ...,
207
222
  batch_execution_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
208
223
  ) -> None: ...
209
- def HasField(self, field_name: typing_extensions.Literal["batch_execution_date", b"batch_execution_date", "ingested_data_end_time", b"ingested_data_end_time", "ingested_data_start_time", b"ingested_data_start_time"]) -> builtins.bool: ...
210
- def ClearField(self, field_name: typing_extensions.Literal["batch_execution_date", b"batch_execution_date", "ingested_data_end_time", b"ingested_data_end_time", "ingested_data_start_time", b"ingested_data_start_time", "num_affected_rows", b"num_affected_rows"]) -> None: ...
224
+ def HasField(self, field_name: typing.Literal["batch_execution_date", b"batch_execution_date", "ingested_data_end_time", b"ingested_data_end_time", "ingested_data_start_time", b"ingested_data_start_time"]) -> builtins.bool: ...
225
+ def ClearField(self, field_name: typing.Literal["batch_execution_date", b"batch_execution_date", "ingested_data_end_time", b"ingested_data_end_time", "ingested_data_start_time", b"ingested_data_start_time", "num_affected_rows", b"num_affected_rows"]) -> None: ...
211
226
 
212
227
  global___BatchIngestionMetadata = BatchIngestionMetadata
213
228
 
229
+ @typing.final
214
230
  class BatchBackfillMetadata(google.protobuf.message.Message):
215
231
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
216
232
 
@@ -224,26 +240,32 @@ class BatchBackfillMetadata(google.protobuf.message.Message):
224
240
  LAST_BATCH_LOGICAL_DATE_FIELD_NUMBER: builtins.int
225
241
  num_interval_rows: builtins.int
226
242
  """Number of rows in the interval (incoming)"""
243
+ num_affected_rows: builtins.int
244
+ """Number of affected rows"""
227
245
  @property
228
246
  def backfill_spec(self) -> frogml._proto.qwak.execution.v1.backfill_pb2.BackfillSpec:
229
247
  """Backfill spec"""
230
- num_affected_rows: builtins.int
231
- """Number of affected rows"""
248
+
232
249
  @property
233
250
  def offline_processing_start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
234
251
  """SYSTEM time where offline processing started"""
252
+
235
253
  @property
236
254
  def offline_processing_end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
237
255
  """SYSTEM time where offline processing ended"""
256
+
238
257
  @property
239
258
  def online_processing_start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
240
259
  """SYSTEM time when online processing started"""
260
+
241
261
  @property
242
262
  def online_processing_end_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
243
263
  """SYSTEM time when online processing ended"""
264
+
244
265
  @property
245
266
  def last_batch_logical_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
246
267
  """Logical time (cron tick) of the last batch in the backfill"""
268
+
247
269
  def __init__(
248
270
  self,
249
271
  *,
@@ -256,11 +278,12 @@ class BatchBackfillMetadata(google.protobuf.message.Message):
256
278
  online_processing_end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
257
279
  last_batch_logical_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
258
280
  ) -> None: ...
259
- def HasField(self, field_name: typing_extensions.Literal["backfill_spec", b"backfill_spec", "last_batch_logical_date", b"last_batch_logical_date", "offline_processing_end_time", b"offline_processing_end_time", "offline_processing_start_time", b"offline_processing_start_time", "online_processing_end_time", b"online_processing_end_time", "online_processing_start_time", b"online_processing_start_time"]) -> builtins.bool: ...
260
- def ClearField(self, field_name: typing_extensions.Literal["backfill_spec", b"backfill_spec", "last_batch_logical_date", b"last_batch_logical_date", "num_affected_rows", b"num_affected_rows", "num_interval_rows", b"num_interval_rows", "offline_processing_end_time", b"offline_processing_end_time", "offline_processing_start_time", b"offline_processing_start_time", "online_processing_end_time", b"online_processing_end_time", "online_processing_start_time", b"online_processing_start_time"]) -> None: ...
281
+ def HasField(self, field_name: typing.Literal["backfill_spec", b"backfill_spec", "last_batch_logical_date", b"last_batch_logical_date", "offline_processing_end_time", b"offline_processing_end_time", "offline_processing_start_time", b"offline_processing_start_time", "online_processing_end_time", b"online_processing_end_time", "online_processing_start_time", b"online_processing_start_time"]) -> builtins.bool: ...
282
+ def ClearField(self, field_name: typing.Literal["backfill_spec", b"backfill_spec", "last_batch_logical_date", b"last_batch_logical_date", "num_affected_rows", b"num_affected_rows", "num_interval_rows", b"num_interval_rows", "offline_processing_end_time", b"offline_processing_end_time", "offline_processing_start_time", b"offline_processing_start_time", "online_processing_end_time", b"online_processing_end_time", "online_processing_start_time", b"online_processing_start_time"]) -> None: ...
261
283
 
262
284
  global___BatchBackfillMetadata = BatchBackfillMetadata
263
285
 
286
+ @typing.final
264
287
  class FailureInformation(google.protobuf.message.Message):
265
288
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
266
289
 
@@ -275,8 +298,8 @@ class FailureInformation(google.protobuf.message.Message):
275
298
  original_error_message: builtins.str = ...,
276
299
  message: builtins.str = ...,
277
300
  ) -> None: ...
278
- def HasField(self, field_name: typing_extensions.Literal["formatted_error_message", b"formatted_error_message", "message", b"message"]) -> builtins.bool: ...
279
- def ClearField(self, field_name: typing_extensions.Literal["formatted_error_message", b"formatted_error_message", "message", b"message", "original_error_message", b"original_error_message"]) -> None: ...
280
- def WhichOneof(self, oneof_group: typing_extensions.Literal["formatted_error_message", b"formatted_error_message"]) -> typing_extensions.Literal["message"] | None: ...
301
+ def HasField(self, field_name: typing.Literal["formatted_error_message", b"formatted_error_message", "message", b"message"]) -> builtins.bool: ...
302
+ def ClearField(self, field_name: typing.Literal["formatted_error_message", b"formatted_error_message", "message", b"message", "original_error_message", b"original_error_message"]) -> None: ...
303
+ def WhichOneof(self, oneof_group: typing.Literal["formatted_error_message", b"formatted_error_message"]) -> typing.Literal["message"] | None: ...
281
304
 
282
305
  global___FailureInformation = FailureInformation
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: frogml._proto.qwak.execution/v1/jobs/job_service.proto
4
+ # Protobuf Python Version: 4.25.1
4
5
  """Generated protocol buffer code."""
5
6
  from google.protobuf import descriptor as _descriptor
6
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -21,9 +22,8 @@ _globals = globals()
21
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
23
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'qwak.execution.v1.jobs.job_service_pb2', _globals)
23
24
  if _descriptor._USE_C_DESCRIPTORS == False:
24
-
25
- DESCRIPTOR._options = None
26
- DESCRIPTOR._serialized_options = b'\n*com.qwak.ai.features.execution.api.v1.jobsP\001Z\027qwak/fsexecution;fsjobs'
25
+ _globals['DESCRIPTOR']._options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n*com.qwak.ai.features.execution.api.v1.jobsP\001Z\027qwak/fsexecution;fsjobs'
27
27
  _globals['_APPLYJOBRECORDREQUEST']._serialized_start=149
28
28
  _globals['_APPLYJOBRECORDREQUEST']._serialized_end=241
29
29
  _globals['_APPLYJOBRECORDRESPONSE']._serialized_start=243
@@ -2,6 +2,7 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
+
5
6
  import builtins
6
7
  import collections.abc
7
8
  import google.protobuf.descriptor
@@ -9,16 +10,11 @@ import google.protobuf.internal.containers
9
10
  import google.protobuf.message
10
11
  import google.protobuf.timestamp_pb2
11
12
  import frogml._proto.qwak.execution.v1.jobs.job_pb2
12
- import sys
13
13
  import typing
14
14
 
15
- if sys.version_info >= (3, 8):
16
- import typing as typing_extensions
17
- else:
18
- import typing_extensions
19
-
20
15
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
16
 
17
+ @typing.final
22
18
  class ApplyJobRecordRequest(google.protobuf.message.Message):
23
19
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
24
20
 
@@ -26,16 +22,18 @@ class ApplyJobRecordRequest(google.protobuf.message.Message):
26
22
  @property
27
23
  def job_record(self) -> frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord:
28
24
  """a Job Record to create or replace"""
25
+
29
26
  def __init__(
30
27
  self,
31
28
  *,
32
29
  job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
33
30
  ) -> None: ...
34
- def HasField(self, field_name: typing_extensions.Literal["job_record", b"job_record"]) -> builtins.bool: ...
35
- def ClearField(self, field_name: typing_extensions.Literal["job_record", b"job_record"]) -> None: ...
31
+ def HasField(self, field_name: typing.Literal["job_record", b"job_record"]) -> builtins.bool: ...
32
+ def ClearField(self, field_name: typing.Literal["job_record", b"job_record"]) -> None: ...
36
33
 
37
34
  global___ApplyJobRecordRequest = ApplyJobRecordRequest
38
35
 
36
+ @typing.final
39
37
  class ApplyJobRecordResponse(google.protobuf.message.Message):
40
38
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
41
39
 
@@ -45,6 +43,7 @@ class ApplyJobRecordResponse(google.protobuf.message.Message):
45
43
 
46
44
  global___ApplyJobRecordResponse = ApplyJobRecordResponse
47
45
 
46
+ @typing.final
48
47
  class InitPaginationRequest(google.protobuf.message.Message):
49
48
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
50
49
 
@@ -56,10 +55,11 @@ class InitPaginationRequest(google.protobuf.message.Message):
56
55
  *,
57
56
  featureset_id: builtins.str = ...,
58
57
  ) -> None: ...
59
- def ClearField(self, field_name: typing_extensions.Literal["featureset_id", b"featureset_id"]) -> None: ...
58
+ def ClearField(self, field_name: typing.Literal["featureset_id", b"featureset_id"]) -> None: ...
60
59
 
61
60
  global___InitPaginationRequest = InitPaginationRequest
62
61
 
62
+ @typing.final
63
63
  class InitPaginationResponse(google.protobuf.message.Message):
64
64
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
65
65
 
@@ -80,10 +80,11 @@ class InitPaginationResponse(google.protobuf.message.Message):
80
80
  record_count: builtins.int = ...,
81
81
  max_record_id: builtins.int = ...,
82
82
  ) -> None: ...
83
- def ClearField(self, field_name: typing_extensions.Literal["max_record_id", b"max_record_id", "record_count", b"record_count"]) -> None: ...
83
+ def ClearField(self, field_name: typing.Literal["max_record_id", b"max_record_id", "record_count", b"record_count"]) -> None: ...
84
84
 
85
85
  global___InitPaginationResponse = InitPaginationResponse
86
86
 
87
+ @typing.final
87
88
  class ListJobsRequest(google.protobuf.message.Message):
88
89
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
89
90
 
@@ -110,10 +111,11 @@ class ListJobsRequest(google.protobuf.message.Message):
110
111
  page_number: builtins.int = ...,
111
112
  max_record_id: builtins.int = ...,
112
113
  ) -> None: ...
113
- def ClearField(self, field_name: typing_extensions.Literal["featureset_id", b"featureset_id", "max_record_id", b"max_record_id", "page_number", b"page_number", "page_size", b"page_size"]) -> None: ...
114
+ def ClearField(self, field_name: typing.Literal["featureset_id", b"featureset_id", "max_record_id", b"max_record_id", "page_number", b"page_number", "page_size", b"page_size"]) -> None: ...
114
115
 
115
116
  global___ListJobsRequest = ListJobsRequest
116
117
 
118
+ @typing.final
117
119
  class ListJobsResponse(google.protobuf.message.Message):
118
120
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
119
121
 
@@ -121,15 +123,17 @@ class ListJobsResponse(google.protobuf.message.Message):
121
123
  @property
122
124
  def job_records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.execution.v1.jobs.job_pb2.JobRecord]:
123
125
  """All rows, sorted by the job record start time (event time)"""
126
+
124
127
  def __init__(
125
128
  self,
126
129
  *,
127
130
  job_records: collections.abc.Iterable[qwak.execution.v1.jobs.job_pb2.JobRecord] | None = ...,
128
131
  ) -> None: ...
129
- def ClearField(self, field_name: typing_extensions.Literal["job_records", b"job_records"]) -> None: ...
132
+ def ClearField(self, field_name: typing.Literal["job_records", b"job_records"]) -> None: ...
130
133
 
131
134
  global___ListJobsResponse = ListJobsResponse
132
135
 
136
+ @typing.final
133
137
  class InitPaginationByExecutionIdRequest(google.protobuf.message.Message):
134
138
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
135
139
 
@@ -141,10 +145,11 @@ class InitPaginationByExecutionIdRequest(google.protobuf.message.Message):
141
145
  *,
142
146
  execution_id: builtins.str = ...,
143
147
  ) -> None: ...
144
- def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id"]) -> None: ...
148
+ def ClearField(self, field_name: typing.Literal["execution_id", b"execution_id"]) -> None: ...
145
149
 
146
150
  global___InitPaginationByExecutionIdRequest = InitPaginationByExecutionIdRequest
147
151
 
152
+ @typing.final
148
153
  class InitPaginationByExecutionIdResponse(google.protobuf.message.Message):
149
154
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
150
155
 
@@ -165,10 +170,11 @@ class InitPaginationByExecutionIdResponse(google.protobuf.message.Message):
165
170
  record_count: builtins.int = ...,
166
171
  max_record_id: builtins.int = ...,
167
172
  ) -> None: ...
168
- def ClearField(self, field_name: typing_extensions.Literal["max_record_id", b"max_record_id", "record_count", b"record_count"]) -> None: ...
173
+ def ClearField(self, field_name: typing.Literal["max_record_id", b"max_record_id", "record_count", b"record_count"]) -> None: ...
169
174
 
170
175
  global___InitPaginationByExecutionIdResponse = InitPaginationByExecutionIdResponse
171
176
 
177
+ @typing.final
172
178
  class ListJobsByExecutionIdRequest(google.protobuf.message.Message):
173
179
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
174
180
 
@@ -195,10 +201,11 @@ class ListJobsByExecutionIdRequest(google.protobuf.message.Message):
195
201
  page_number: builtins.int = ...,
196
202
  max_record_id: builtins.int = ...,
197
203
  ) -> None: ...
198
- def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id", "max_record_id", b"max_record_id", "page_number", b"page_number", "page_size", b"page_size"]) -> None: ...
204
+ def ClearField(self, field_name: typing.Literal["execution_id", b"execution_id", "max_record_id", b"max_record_id", "page_number", b"page_number", "page_size", b"page_size"]) -> None: ...
199
205
 
200
206
  global___ListJobsByExecutionIdRequest = ListJobsByExecutionIdRequest
201
207
 
208
+ @typing.final
202
209
  class ListJobsByExecutionIdResponse(google.protobuf.message.Message):
203
210
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
204
211
 
@@ -206,15 +213,17 @@ class ListJobsByExecutionIdResponse(google.protobuf.message.Message):
206
213
  @property
207
214
  def job_records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.execution.v1.jobs.job_pb2.JobRecord]:
208
215
  """All rows, sorted by the job record start time (event time)"""
216
+
209
217
  def __init__(
210
218
  self,
211
219
  *,
212
220
  job_records: collections.abc.Iterable[qwak.execution.v1.jobs.job_pb2.JobRecord] | None = ...,
213
221
  ) -> None: ...
214
- def ClearField(self, field_name: typing_extensions.Literal["job_records", b"job_records"]) -> None: ...
222
+ def ClearField(self, field_name: typing.Literal["job_records", b"job_records"]) -> None: ...
215
223
 
216
224
  global___ListJobsByExecutionIdResponse = ListJobsByExecutionIdResponse
217
225
 
226
+ @typing.final
218
227
  class DeleteFeaturesetJobsRequest(google.protobuf.message.Message):
219
228
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
220
229
 
@@ -226,10 +235,11 @@ class DeleteFeaturesetJobsRequest(google.protobuf.message.Message):
226
235
  *,
227
236
  featureset_id: builtins.str = ...,
228
237
  ) -> None: ...
229
- def ClearField(self, field_name: typing_extensions.Literal["featureset_id", b"featureset_id"]) -> None: ...
238
+ def ClearField(self, field_name: typing.Literal["featureset_id", b"featureset_id"]) -> None: ...
230
239
 
231
240
  global___DeleteFeaturesetJobsRequest = DeleteFeaturesetJobsRequest
232
241
 
242
+ @typing.final
233
243
  class DeleteFeaturesetJobsResponse(google.protobuf.message.Message):
234
244
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
235
245
 
@@ -240,10 +250,11 @@ class DeleteFeaturesetJobsResponse(google.protobuf.message.Message):
240
250
  *,
241
251
  deleted_job_record_count: builtins.int = ...,
242
252
  ) -> None: ...
243
- def ClearField(self, field_name: typing_extensions.Literal["deleted_job_record_count", b"deleted_job_record_count"]) -> None: ...
253
+ def ClearField(self, field_name: typing.Literal["deleted_job_record_count", b"deleted_job_record_count"]) -> None: ...
244
254
 
245
255
  global___DeleteFeaturesetJobsResponse = DeleteFeaturesetJobsResponse
246
256
 
257
+ @typing.final
247
258
  class GetLatestSuccessfulJobByFeaturesetIdRequest(google.protobuf.message.Message):
248
259
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
249
260
 
@@ -254,10 +265,11 @@ class GetLatestSuccessfulJobByFeaturesetIdRequest(google.protobuf.message.Messag
254
265
  *,
255
266
  featureset_id: builtins.str = ...,
256
267
  ) -> None: ...
257
- def ClearField(self, field_name: typing_extensions.Literal["featureset_id", b"featureset_id"]) -> None: ...
268
+ def ClearField(self, field_name: typing.Literal["featureset_id", b"featureset_id"]) -> None: ...
258
269
 
259
270
  global___GetLatestSuccessfulJobByFeaturesetIdRequest = GetLatestSuccessfulJobByFeaturesetIdRequest
260
271
 
272
+ @typing.final
261
273
  class GetLatestSuccessfulJobByFeaturesetIdResponse(google.protobuf.message.Message):
262
274
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
263
275
 
@@ -269,12 +281,13 @@ class GetLatestSuccessfulJobByFeaturesetIdResponse(google.protobuf.message.Messa
269
281
  *,
270
282
  job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
271
283
  ) -> None: ...
272
- def HasField(self, field_name: typing_extensions.Literal["job_record", b"job_record", "job_record_resp", b"job_record_resp"]) -> builtins.bool: ...
273
- def ClearField(self, field_name: typing_extensions.Literal["job_record", b"job_record", "job_record_resp", b"job_record_resp"]) -> None: ...
274
- def WhichOneof(self, oneof_group: typing_extensions.Literal["job_record_resp", b"job_record_resp"]) -> typing_extensions.Literal["job_record"] | None: ...
284
+ def HasField(self, field_name: typing.Literal["job_record", b"job_record", "job_record_resp", b"job_record_resp"]) -> builtins.bool: ...
285
+ def ClearField(self, field_name: typing.Literal["job_record", b"job_record", "job_record_resp", b"job_record_resp"]) -> None: ...
286
+ def WhichOneof(self, oneof_group: typing.Literal["job_record_resp", b"job_record_resp"]) -> typing.Literal["job_record"] | None: ...
275
287
 
276
288
  global___GetLatestSuccessfulJobByFeaturesetIdResponse = GetLatestSuccessfulJobByFeaturesetIdResponse
277
289
 
290
+ @typing.final
278
291
  class GetAllFeaturesetLatestSuccessfulJobsRequest(google.protobuf.message.Message):
279
292
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
280
293
 
@@ -284,6 +297,7 @@ class GetAllFeaturesetLatestSuccessfulJobsRequest(google.protobuf.message.Messag
284
297
 
285
298
  global___GetAllFeaturesetLatestSuccessfulJobsRequest = GetAllFeaturesetLatestSuccessfulJobsRequest
286
299
 
300
+ @typing.final
287
301
  class GetAllFeaturesetLatestSuccessfulJobsResponse(google.protobuf.message.Message):
288
302
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
289
303
 
@@ -291,15 +305,17 @@ class GetAllFeaturesetLatestSuccessfulJobsResponse(google.protobuf.message.Messa
291
305
  @property
292
306
  def job_records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.execution.v1.jobs.job_pb2.JobRecord]:
293
307
  """all latest requested jobs"""
308
+
294
309
  def __init__(
295
310
  self,
296
311
  *,
297
312
  job_records: collections.abc.Iterable[qwak.execution.v1.jobs.job_pb2.JobRecord] | None = ...,
298
313
  ) -> None: ...
299
- def ClearField(self, field_name: typing_extensions.Literal["job_records", b"job_records"]) -> None: ...
314
+ def ClearField(self, field_name: typing.Literal["job_records", b"job_records"]) -> None: ...
300
315
 
301
316
  global___GetAllFeaturesetLatestSuccessfulJobsResponse = GetAllFeaturesetLatestSuccessfulJobsResponse
302
317
 
318
+ @typing.final
303
319
  class GetAllFeaturesetJobsSummariesRequest(google.protobuf.message.Message):
304
320
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
305
321
 
@@ -310,6 +326,7 @@ class GetAllFeaturesetJobsSummariesRequest(google.protobuf.message.Message):
310
326
  """Summary lower time bound.
311
327
  applied on processing start_time column.
312
328
  """
329
+
313
330
  @property
314
331
  def upper_time_bound(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
315
332
  def __init__(
@@ -318,12 +335,13 @@ class GetAllFeaturesetJobsSummariesRequest(google.protobuf.message.Message):
318
335
  lower_time_bound: google.protobuf.timestamp_pb2.Timestamp | None = ...,
319
336
  upper_time_bound: google.protobuf.timestamp_pb2.Timestamp | None = ...,
320
337
  ) -> None: ...
321
- def HasField(self, field_name: typing_extensions.Literal["lower_time_bound", b"lower_time_bound", "upper_bound", b"upper_bound", "upper_time_bound", b"upper_time_bound"]) -> builtins.bool: ...
322
- def ClearField(self, field_name: typing_extensions.Literal["lower_time_bound", b"lower_time_bound", "upper_bound", b"upper_bound", "upper_time_bound", b"upper_time_bound"]) -> None: ...
323
- def WhichOneof(self, oneof_group: typing_extensions.Literal["upper_bound", b"upper_bound"]) -> typing_extensions.Literal["upper_time_bound"] | None: ...
338
+ def HasField(self, field_name: typing.Literal["lower_time_bound", b"lower_time_bound", "upper_bound", b"upper_bound", "upper_time_bound", b"upper_time_bound"]) -> builtins.bool: ...
339
+ def ClearField(self, field_name: typing.Literal["lower_time_bound", b"lower_time_bound", "upper_bound", b"upper_bound", "upper_time_bound", b"upper_time_bound"]) -> None: ...
340
+ def WhichOneof(self, oneof_group: typing.Literal["upper_bound", b"upper_bound"]) -> typing.Literal["upper_time_bound"] | None: ...
324
341
 
325
342
  global___GetAllFeaturesetJobsSummariesRequest = GetAllFeaturesetJobsSummariesRequest
326
343
 
344
+ @typing.final
327
345
  class GetAllFeaturesetJobsSummariesResponse(google.protobuf.message.Message):
328
346
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
329
347
 
@@ -331,15 +349,17 @@ class GetAllFeaturesetJobsSummariesResponse(google.protobuf.message.Message):
331
349
  @property
332
350
  def jobs_summaries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeaturesetJobsSummary]:
333
351
  """Job summaries per featureset for the entire environment"""
352
+
334
353
  def __init__(
335
354
  self,
336
355
  *,
337
356
  jobs_summaries: collections.abc.Iterable[global___FeaturesetJobsSummary] | None = ...,
338
357
  ) -> None: ...
339
- def ClearField(self, field_name: typing_extensions.Literal["jobs_summaries", b"jobs_summaries"]) -> None: ...
358
+ def ClearField(self, field_name: typing.Literal["jobs_summaries", b"jobs_summaries"]) -> None: ...
340
359
 
341
360
  global___GetAllFeaturesetJobsSummariesResponse = GetAllFeaturesetJobsSummariesResponse
342
361
 
362
+ @typing.final
343
363
  class FeaturesetJobsSummary(google.protobuf.message.Message):
344
364
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
345
365
 
@@ -355,10 +375,11 @@ class FeaturesetJobsSummary(google.protobuf.message.Message):
355
375
  featureset_id: builtins.str = ...,
356
376
  total_affected_rows: builtins.int = ...,
357
377
  ) -> None: ...
358
- def ClearField(self, field_name: typing_extensions.Literal["featureset_id", b"featureset_id", "total_affected_rows", b"total_affected_rows"]) -> None: ...
378
+ def ClearField(self, field_name: typing.Literal["featureset_id", b"featureset_id", "total_affected_rows", b"total_affected_rows"]) -> None: ...
359
379
 
360
380
  global___FeaturesetJobsSummary = FeaturesetJobsSummary
361
381
 
382
+ @typing.final
362
383
  class GetJobsSummaryByExecutionIdRequest(google.protobuf.message.Message):
363
384
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
364
385
 
@@ -369,10 +390,11 @@ class GetJobsSummaryByExecutionIdRequest(google.protobuf.message.Message):
369
390
  *,
370
391
  execution_id: builtins.str = ...,
371
392
  ) -> None: ...
372
- def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id"]) -> None: ...
393
+ def ClearField(self, field_name: typing.Literal["execution_id", b"execution_id"]) -> None: ...
373
394
 
374
395
  global___GetJobsSummaryByExecutionIdRequest = GetJobsSummaryByExecutionIdRequest
375
396
 
397
+ @typing.final
376
398
  class GetJobsSummaryByExecutionIdResponse(google.protobuf.message.Message):
377
399
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
378
400
 
@@ -397,11 +419,12 @@ class GetJobsSummaryByExecutionIdResponse(google.protobuf.message.Message):
397
419
  first_job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
398
420
  last_job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
399
421
  ) -> None: ...
400
- def HasField(self, field_name: typing_extensions.Literal["first_job_record", b"first_job_record", "last_job_record", b"last_job_record"]) -> builtins.bool: ...
401
- def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id", "first_job_record", b"first_job_record", "job_count", b"job_count", "last_job_record", b"last_job_record", "total_affected_rows", b"total_affected_rows"]) -> None: ...
422
+ def HasField(self, field_name: typing.Literal["first_job_record", b"first_job_record", "last_job_record", b"last_job_record"]) -> builtins.bool: ...
423
+ def ClearField(self, field_name: typing.Literal["execution_id", b"execution_id", "first_job_record", b"first_job_record", "job_count", b"job_count", "last_job_record", b"last_job_record", "total_affected_rows", b"total_affected_rows"]) -> None: ...
402
424
 
403
425
  global___GetJobsSummaryByExecutionIdResponse = GetJobsSummaryByExecutionIdResponse
404
426
 
427
+ @typing.final
405
428
  class GetJobSummariesByExecutionIdsRequest(google.protobuf.message.Message):
406
429
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
407
430
 
@@ -413,10 +436,11 @@ class GetJobSummariesByExecutionIdsRequest(google.protobuf.message.Message):
413
436
  *,
414
437
  execution_ids: collections.abc.Iterable[builtins.str] | None = ...,
415
438
  ) -> None: ...
416
- def ClearField(self, field_name: typing_extensions.Literal["execution_ids", b"execution_ids"]) -> None: ...
439
+ def ClearField(self, field_name: typing.Literal["execution_ids", b"execution_ids"]) -> None: ...
417
440
 
418
441
  global___GetJobSummariesByExecutionIdsRequest = GetJobSummariesByExecutionIdsRequest
419
442
 
443
+ @typing.final
420
444
  class GetJobSummariesByExecutionIdsResponse(google.protobuf.message.Message):
421
445
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
422
446
 
@@ -428,10 +452,11 @@ class GetJobSummariesByExecutionIdsResponse(google.protobuf.message.Message):
428
452
  *,
429
453
  execution_summaries: collections.abc.Iterable[global___ExecutionJobsSummary] | None = ...,
430
454
  ) -> None: ...
431
- def ClearField(self, field_name: typing_extensions.Literal["execution_summaries", b"execution_summaries"]) -> None: ...
455
+ def ClearField(self, field_name: typing.Literal["execution_summaries", b"execution_summaries"]) -> None: ...
432
456
 
433
457
  global___GetJobSummariesByExecutionIdsResponse = GetJobSummariesByExecutionIdsResponse
434
458
 
459
+ @typing.final
435
460
  class ExecutionJobsSummary(google.protobuf.message.Message):
436
461
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
437
462
 
@@ -459,11 +484,11 @@ class ExecutionJobsSummary(google.protobuf.message.Message):
459
484
  first_job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
460
485
  last_job_record: frogml._proto.qwak.execution.v1.jobs.job_pb2.JobRecord | None = ...,
461
486
  ) -> None: ...
462
- def HasField(self, field_name: typing_extensions.Literal["first_job_record", b"first_job_record", "first_job_record_opt", b"first_job_record_opt", "last_job_record", b"last_job_record", "last_job_record_opt", b"last_job_record_opt"]) -> builtins.bool: ...
463
- def ClearField(self, field_name: typing_extensions.Literal["execution_id", b"execution_id", "first_job_record", b"first_job_record", "first_job_record_opt", b"first_job_record_opt", "job_count", b"job_count", "last_job_record", b"last_job_record", "last_job_record_opt", b"last_job_record_opt", "total_affected_rows", b"total_affected_rows"]) -> None: ...
487
+ def HasField(self, field_name: typing.Literal["first_job_record", b"first_job_record", "first_job_record_opt", b"first_job_record_opt", "last_job_record", b"last_job_record", "last_job_record_opt", b"last_job_record_opt"]) -> builtins.bool: ...
488
+ def ClearField(self, field_name: typing.Literal["execution_id", b"execution_id", "first_job_record", b"first_job_record", "first_job_record_opt", b"first_job_record_opt", "job_count", b"job_count", "last_job_record", b"last_job_record", "last_job_record_opt", b"last_job_record_opt", "total_affected_rows", b"total_affected_rows"]) -> None: ...
464
489
  @typing.overload
465
- def WhichOneof(self, oneof_group: typing_extensions.Literal["first_job_record_opt", b"first_job_record_opt"]) -> typing_extensions.Literal["first_job_record"] | None: ...
490
+ def WhichOneof(self, oneof_group: typing.Literal["first_job_record_opt", b"first_job_record_opt"]) -> typing.Literal["first_job_record"] | None: ...
466
491
  @typing.overload
467
- def WhichOneof(self, oneof_group: typing_extensions.Literal["last_job_record_opt", b"last_job_record_opt"]) -> typing_extensions.Literal["last_job_record"] | None: ...
492
+ def WhichOneof(self, oneof_group: typing.Literal["last_job_record_opt", b"last_job_record_opt"]) -> typing.Literal["last_job_record"] | None: ...
468
493
 
469
494
  global___ExecutionJobsSummary = ExecutionJobsSummary