qwak-core 0.1.37__py3-none-any.whl → 0.5.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.

Potentially problematic release.


This version of qwak-core might be problematic. Click here for more details.

Files changed (778) hide show
  1. _qwak_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.py +29 -0
  2. _qwak_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.pyi +70 -0
  3. _qwak_proto/jfml/hosting_gateway/v1/build_upload_url_pb2_grpc.py +4 -0
  4. _qwak_proto/jfml/hosting_gateway/v1/hosting_gateway_service_pb2.py +32 -0
  5. _qwak_proto/jfml/hosting_gateway/v1/hosting_gateway_service_pb2.pyi +48 -0
  6. _qwak_proto/jfml/hosting_gateway/v1/hosting_gateway_service_pb2_grpc.py +67 -0
  7. _qwak_proto/qwak/administration/account/v1/account_pb2.py +29 -60
  8. _qwak_proto/qwak/administration/account/v1/account_pb2.pyi +120 -2
  9. _qwak_proto/qwak/administration/account/v1/account_service_pb2.py +67 -0
  10. _qwak_proto/qwak/administration/account/v1/account_service_pb2.pyi +345 -0
  11. _qwak_proto/qwak/administration/account/v1/account_service_pb2_grpc.py +338 -0
  12. _qwak_proto/qwak/administration/account/v1/jfrog_tenant_details_pb2.py +49 -0
  13. _qwak_proto/qwak/administration/account/v1/jfrog_tenant_details_pb2.pyi +209 -0
  14. _qwak_proto/qwak/administration/account/v1/jfrog_tenant_details_pb2_grpc.py +4 -0
  15. _qwak_proto/qwak/administration/account/v1/personalization_pb2.py +8 -24
  16. _qwak_proto/qwak/administration/account/v1/preferences_pb2.py +6 -14
  17. _qwak_proto/qwak/administration/account/v1/terms_pb2.py +35 -0
  18. _qwak_proto/qwak/administration/account/v1/terms_pb2.pyi +94 -0
  19. _qwak_proto/qwak/administration/account/v1/terms_pb2_grpc.py +4 -0
  20. _qwak_proto/qwak/administration/authenticated_user/v1/authenticated_user_service_pb2.py +18 -67
  21. _qwak_proto/qwak/administration/authenticated_user/v1/credentials_pb2.py +8 -24
  22. _qwak_proto/qwak/administration/authenticated_user/v1/credentials_pb2.pyi +1 -1
  23. _qwak_proto/qwak/administration/authenticated_user/v1/details_pb2.py +14 -54
  24. _qwak_proto/qwak/administration/cluster/v2/cluster_pb2.py +62 -0
  25. _qwak_proto/qwak/administration/cluster/v2/cluster_pb2.pyi +354 -0
  26. _qwak_proto/qwak/administration/cluster/v2/cluster_pb2_grpc.py +4 -0
  27. _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.py +32 -0
  28. _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.pyi +65 -0
  29. _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2_grpc.py +4 -0
  30. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/auth_pb2.py +28 -0
  31. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/auth_pb2.pyi +36 -0
  32. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/auth_pb2_grpc.py +4 -0
  33. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2.py +29 -0
  34. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2.pyi +49 -0
  35. _qwak_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2_grpc.py +4 -0
  36. _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.py +33 -0
  37. _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.pyi +89 -0
  38. _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2_grpc.py +4 -0
  39. _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.py +34 -0
  40. _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.pyi +97 -0
  41. _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2_grpc.py +4 -0
  42. _qwak_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.py +28 -0
  43. _qwak_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.pyi +39 -0
  44. _qwak_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2_grpc.py +4 -0
  45. _qwak_proto/qwak/administration/runtime_configuration/v0/external/kafka_config_pb2.py +34 -0
  46. _qwak_proto/qwak/administration/runtime_configuration/v0/external/kafka_config_pb2.pyi +79 -0
  47. _qwak_proto/qwak/administration/runtime_configuration/v0/external/kafka_config_pb2_grpc.py +4 -0
  48. _qwak_proto/qwak/administration/runtime_configuration/v0/external/prometheus_config_pb2.py +29 -0
  49. _qwak_proto/qwak/administration/runtime_configuration/v0/external/prometheus_config_pb2.pyi +46 -0
  50. _qwak_proto/qwak/administration/runtime_configuration/v0/external/prometheus_config_pb2_grpc.py +4 -0
  51. _qwak_proto/qwak/administration/runtime_configuration/v0/external/redis_config_pb2.py +28 -0
  52. _qwak_proto/qwak/administration/runtime_configuration/v0/external/redis_config_pb2.pyi +39 -0
  53. _qwak_proto/qwak/administration/runtime_configuration/v0/external/redis_config_pb2_grpc.py +4 -0
  54. _qwak_proto/qwak/administration/runtime_configuration/v0/external/victoriametrics_config_pb2.py +28 -0
  55. _qwak_proto/qwak/administration/runtime_configuration/v0/external/victoriametrics_config_pb2.pyi +33 -0
  56. _qwak_proto/qwak/administration/runtime_configuration/v0/external/victoriametrics_config_pb2_grpc.py +4 -0
  57. _qwak_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb2.py +32 -0
  58. _qwak_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb2.pyi +66 -0
  59. _qwak_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb2_grpc.py +4 -0
  60. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.py +42 -0
  61. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.pyi +159 -0
  62. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2_grpc.py +4 -0
  63. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.py +39 -0
  64. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.pyi +126 -0
  65. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2_grpc.py +4 -0
  66. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.py +40 -0
  67. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.pyi +146 -0
  68. _qwak_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2_grpc.py +4 -0
  69. _qwak_proto/qwak/administration/runtime_configuration/v0/logs_storage_config_pb2.py +28 -0
  70. _qwak_proto/qwak/administration/runtime_configuration/v0/logs_storage_config_pb2.pyi +33 -0
  71. _qwak_proto/qwak/administration/runtime_configuration/v0/logs_storage_config_pb2_grpc.py +4 -0
  72. _qwak_proto/qwak/administration/runtime_configuration/v0/model_analytics_storage_config_pb2.py +28 -0
  73. _qwak_proto/qwak/administration/runtime_configuration/v0/model_analytics_storage_config_pb2.pyi +33 -0
  74. _qwak_proto/qwak/administration/runtime_configuration/v0/model_analytics_storage_config_pb2_grpc.py +4 -0
  75. _qwak_proto/qwak/administration/runtime_configuration/v0/network_config_pb2.py +36 -0
  76. _qwak_proto/qwak/administration/runtime_configuration/v0/network_config_pb2.pyi +107 -0
  77. _qwak_proto/qwak/administration/runtime_configuration/v0/network_config_pb2_grpc.py +4 -0
  78. _qwak_proto/qwak/administration/runtime_configuration/v0/object_storage_config_pb2.py +33 -0
  79. _qwak_proto/qwak/administration/runtime_configuration/v0/object_storage_config_pb2.pyi +93 -0
  80. _qwak_proto/qwak/administration/runtime_configuration/v0/object_storage_config_pb2_grpc.py +4 -0
  81. _qwak_proto/qwak/administration/runtime_configuration/v0/observability_config_pb2.py +33 -0
  82. _qwak_proto/qwak/administration/runtime_configuration/v0/observability_config_pb2.pyi +79 -0
  83. _qwak_proto/qwak/administration/runtime_configuration/v0/observability_config_pb2_grpc.py +4 -0
  84. _qwak_proto/qwak/administration/runtime_configuration/v0/runtime_config_pb2.py +36 -0
  85. _qwak_proto/qwak/administration/runtime_configuration/v0/runtime_config_pb2.pyi +72 -0
  86. _qwak_proto/qwak/administration/runtime_configuration/v0/runtime_config_pb2_grpc.py +4 -0
  87. _qwak_proto/qwak/administration/runtime_configuration/v0/sql_engine_config_pb2.py +33 -0
  88. _qwak_proto/qwak/administration/runtime_configuration/v0/sql_engine_config_pb2.pyi +83 -0
  89. _qwak_proto/qwak/administration/runtime_configuration/v0/sql_engine_config_pb2_grpc.py +4 -0
  90. _qwak_proto/qwak/administration/v0/authentication/authentication_service_pb2.py +14 -47
  91. _qwak_proto/qwak/administration/v0/environments/configuration_pb2.py +23 -55
  92. _qwak_proto/qwak/administration/v0/environments/configuration_pb2.pyi +103 -7
  93. _qwak_proto/qwak/administration/v0/environments/environment_pb2.py +15 -33
  94. _qwak_proto/qwak/administration/v0/environments/environment_pb2.pyi +50 -2
  95. _qwak_proto/qwak/administration/v0/environments/environment_service_pb2.py +36 -158
  96. _qwak_proto/qwak/administration/v0/environments/personalization_pb2.py +8 -24
  97. _qwak_proto/qwak/administration/v0/users/user_pb2.py +18 -71
  98. _qwak_proto/qwak/admiral/secret/v0/secret_pb2.py +53 -0
  99. _qwak_proto/qwak/admiral/secret/v0/secret_pb2.pyi +256 -0
  100. _qwak_proto/qwak/admiral/secret/v0/secret_pb2_grpc.py +4 -0
  101. _qwak_proto/qwak/admiral/secret/v0/secret_service_pb2.py +40 -0
  102. _qwak_proto/qwak/admiral/secret/v0/secret_service_pb2.pyi +93 -0
  103. _qwak_proto/qwak/admiral/secret/v0/secret_service_pb2_grpc.py +135 -0
  104. _qwak_proto/qwak/admiral/secret/v0/system_secret_service_pb2.py +40 -0
  105. _qwak_proto/qwak/admiral/secret/v0/system_secret_service_pb2.pyi +101 -0
  106. _qwak_proto/qwak/admiral/secret/v0/system_secret_service_pb2_grpc.py +135 -0
  107. _qwak_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.py +39 -105
  108. _qwak_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.pyi +131 -3
  109. _qwak_proto/qwak/admiral/user_application_instance/v0/user_application_instance_service_pb2.py +22 -87
  110. _qwak_proto/qwak/analytics/analytics_pb2.py +28 -123
  111. _qwak_proto/qwak/analytics/analytics_pb2.pyi +5 -1
  112. _qwak_proto/qwak/analytics/analytics_service_pb2.py +48 -149
  113. _qwak_proto/qwak/analytics/analytics_service_pb2.pyi +87 -0
  114. _qwak_proto/qwak/analytics/analytics_service_pb2_grpc.py +101 -0
  115. _qwak_proto/qwak/artifactory_settings/artifactory_settings_pb2.py +29 -0
  116. _qwak_proto/qwak/artifactory_settings/artifactory_settings_pb2.pyi +57 -0
  117. _qwak_proto/qwak/artifactory_settings/artifactory_settings_pb2_grpc.py +4 -0
  118. _qwak_proto/qwak/audience/v1/audience_api_pb2.py +30 -127
  119. _qwak_proto/qwak/audience/v1/audience_pb2.py +27 -114
  120. _qwak_proto/qwak/audience/v1/audience_pb2.pyi +5 -1
  121. _qwak_proto/qwak/auto_scaling/v1/auto_scaling_pb2.py +18 -79
  122. _qwak_proto/qwak/auto_scaling/v1/auto_scaling_service_pb2.py +10 -27
  123. _qwak_proto/qwak/automation/v1/action_pb2.py +42 -164
  124. _qwak_proto/qwak/automation/v1/action_pb2.pyi +82 -7
  125. _qwak_proto/qwak/automation/v1/auto_scaling_pb2.py +19 -77
  126. _qwak_proto/qwak/automation/v1/auto_scaling_pb2.pyi +6 -0
  127. _qwak_proto/qwak/automation/v1/automation_execution_pb2.py +12 -43
  128. _qwak_proto/qwak/automation/v1/automation_management_service_pb2.py +56 -258
  129. _qwak_proto/qwak/automation/v1/automation_pb2.py +11 -35
  130. _qwak_proto/qwak/automation/v1/automation_pb2.pyi +8 -1
  131. _qwak_proto/qwak/automation/v1/common_pb2.py +11 -33
  132. _qwak_proto/qwak/automation/v1/common_pb2.pyi +6 -0
  133. _qwak_proto/qwak/automation/v1/notification_pb2.py +16 -68
  134. _qwak_proto/qwak/automation/v1/trigger_pb2.py +14 -54
  135. _qwak_proto/qwak/batch_job/v1/batch_job_events_pb2.py +27 -116
  136. _qwak_proto/qwak/batch_job/v1/batch_job_events_pb2.pyi +6 -1
  137. _qwak_proto/qwak/batch_job/v1/batch_job_resources_pb2.py +9 -26
  138. _qwak_proto/qwak/batch_job/v1/batch_job_resources_pb2.pyi +2 -0
  139. _qwak_proto/qwak/batch_job/v1/batch_job_service_pb2.py +121 -502
  140. _qwak_proto/qwak/batch_job/v1/batch_job_service_pb2.pyi +111 -4
  141. _qwak_proto/qwak/batch_job/v1/batch_job_service_pb2_grpc.py +67 -0
  142. _qwak_proto/qwak/build/v1/build_api_pb2.py +98 -278
  143. _qwak_proto/qwak/build/v1/build_api_pb2.pyi +220 -0
  144. _qwak_proto/qwak/build/v1/build_api_pb2_grpc.py +198 -0
  145. _qwak_proto/qwak/build/v1/build_pb2.py +115 -417
  146. _qwak_proto/qwak/build/v1/build_pb2.pyi +294 -5
  147. _qwak_proto/qwak/build_settings/build_settings_api_pb2.py +40 -0
  148. _qwak_proto/qwak/build_settings/build_settings_api_pb2.pyi +106 -0
  149. _qwak_proto/qwak/build_settings/build_settings_api_pb2_grpc.py +132 -0
  150. _qwak_proto/qwak/build_settings/build_settings_pb2.py +39 -0
  151. _qwak_proto/qwak/build_settings/build_settings_pb2.pyi +148 -0
  152. _qwak_proto/qwak/build_settings/build_settings_pb2_grpc.py +4 -0
  153. _qwak_proto/qwak/builds/build_pb2.py +46 -200
  154. _qwak_proto/qwak/builds/build_pb2.pyi +111 -5
  155. _qwak_proto/qwak/builds/build_url_pb2.py +27 -54
  156. _qwak_proto/qwak/builds/build_url_pb2.pyi +131 -2
  157. _qwak_proto/qwak/builds/build_values_pb2.py +82 -0
  158. _qwak_proto/qwak/builds/build_values_pb2.pyi +559 -0
  159. _qwak_proto/qwak/builds/build_values_pb2_grpc.py +4 -0
  160. _qwak_proto/qwak/builds/builds_orchestrator_service_pb2.py +93 -168
  161. _qwak_proto/qwak/builds/builds_orchestrator_service_pb2.pyi +342 -3
  162. _qwak_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py +166 -0
  163. _qwak_proto/qwak/builds/builds_pb2.py +87 -528
  164. _qwak_proto/qwak/builds/builds_pb2.pyi +5 -192
  165. _qwak_proto/qwak/builds/builds_pb2_grpc.py +0 -233
  166. _qwak_proto/qwak/builds/internal_builds_orchestrator_service_pb2.py +12 -37
  167. _qwak_proto/qwak/data_versioning/data_versioning_pb2.py +9 -15
  168. _qwak_proto/qwak/data_versioning/data_versioning_pb2.pyi +21 -0
  169. _qwak_proto/qwak/data_versioning/data_versioning_service_pb2.py +15 -48
  170. _qwak_proto/qwak/data_versioning/data_versioning_service_pb2.pyi +12 -1
  171. _qwak_proto/qwak/deployment/alert_pb2.py +25 -108
  172. _qwak_proto/qwak/deployment/alert_pb2.pyi +2 -0
  173. _qwak_proto/qwak/deployment/alert_service_pb2.py +30 -127
  174. _qwak_proto/qwak/deployment/deployment_messages_pb2.py +6 -14
  175. _qwak_proto/qwak/deployment/deployment_pb2.py +127 -578
  176. _qwak_proto/qwak/deployment/deployment_pb2.pyi +51 -8
  177. _qwak_proto/qwak/deployment/deployment_service_pb2.py +91 -400
  178. _qwak_proto/qwak/deployment/deployment_service_pb2.pyi +30 -0
  179. _qwak_proto/qwak/deployment/deployment_service_pb2_grpc.py +34 -0
  180. _qwak_proto/qwak/ecosystem/jfrog/v0/token_pb2.py +72 -0
  181. _qwak_proto/qwak/ecosystem/jfrog/v0/token_pb2.pyi +489 -0
  182. _qwak_proto/qwak/ecosystem/jfrog/v0/token_pb2_grpc.py +4 -0
  183. _qwak_proto/qwak/ecosystem/jfrog/v0/token_service_pb2.py +44 -0
  184. _qwak_proto/qwak/ecosystem/jfrog/v0/token_service_pb2.pyi +144 -0
  185. _qwak_proto/qwak/ecosystem/jfrog/v0/token_service_pb2_grpc.py +169 -0
  186. _qwak_proto/qwak/ecosystem/v0/auth_pb2.py +28 -0
  187. _qwak_proto/qwak/ecosystem/v0/auth_pb2.pyi +37 -0
  188. _qwak_proto/qwak/ecosystem/v0/auth_pb2_grpc.py +4 -0
  189. _qwak_proto/qwak/ecosystem/v0/azure_credentials_pb2.py +37 -0
  190. _qwak_proto/qwak/ecosystem/v0/azure_credentials_pb2.pyi +117 -0
  191. _qwak_proto/qwak/ecosystem/v0/azure_credentials_pb2_grpc.py +4 -0
  192. _qwak_proto/qwak/ecosystem/v0/credentials_pb2.py +13 -26
  193. _qwak_proto/qwak/ecosystem/v0/credentials_pb2.pyi +33 -3
  194. _qwak_proto/qwak/ecosystem/v0/ecosystem_pb2.py +34 -140
  195. _qwak_proto/qwak/ecosystem/v0/ecosystem_pb2.pyi +45 -7
  196. _qwak_proto/qwak/ecosystem/v0/ecosystem_runtime_service_pb2.py +54 -229
  197. _qwak_proto/qwak/ecosystem/v0/ecosystem_runtime_service_pb2.pyi +22 -3
  198. _qwak_proto/qwak/execution/v1/backfill_pb2.py +18 -74
  199. _qwak_proto/qwak/execution/v1/batch_pb2.py +10 -34
  200. _qwak_proto/qwak/execution/v1/deletion_pb2.py +33 -0
  201. _qwak_proto/qwak/execution/v1/deletion_pb2.pyi +67 -0
  202. _qwak_proto/qwak/execution/v1/deletion_pb2_grpc.py +4 -0
  203. _qwak_proto/qwak/execution/v1/execution_pb2.py +20 -60
  204. _qwak_proto/qwak/execution/v1/execution_pb2.pyi +61 -4
  205. _qwak_proto/qwak/execution/v1/execution_service_pb2.py +70 -108
  206. _qwak_proto/qwak/execution/v1/execution_service_pb2.pyi +306 -0
  207. _qwak_proto/qwak/execution/v1/execution_service_pb2_grpc.py +304 -2
  208. _qwak_proto/qwak/execution/v1/internal/deployment/platform_details_pb2.py +27 -0
  209. _qwak_proto/qwak/execution/v1/internal/deployment/platform_details_pb2.pyi +29 -0
  210. _qwak_proto/qwak/execution/v1/internal/deployment/platform_details_pb2_grpc.py +4 -0
  211. _qwak_proto/qwak/execution/v1/jobs/job_pb2.py +19 -67
  212. _qwak_proto/qwak/execution/v1/jobs/job_pb2.pyi +33 -2
  213. _qwak_proto/qwak/execution/v1/jobs/job_service_pb2.py +56 -88
  214. _qwak_proto/qwak/execution/v1/jobs/job_service_pb2.pyi +311 -0
  215. _qwak_proto/qwak/execution/v1/jobs/job_service_pb2_grpc.py +231 -0
  216. _qwak_proto/qwak/execution/v1/jobs/reports/report_pb2.py +21 -75
  217. _qwak_proto/qwak/execution/v1/jobs/reports/report_pb2.pyi +29 -2
  218. _qwak_proto/qwak/execution/v1/state/execution_state_pb2.py +6 -14
  219. _qwak_proto/qwak/execution/v1/state/execution_state_service_pb2.py +31 -108
  220. _qwak_proto/qwak/execution/v1/state/execution_state_service_pb2.pyi +30 -0
  221. _qwak_proto/qwak/execution/v1/state/execution_state_service_pb2_grpc.py +34 -0
  222. _qwak_proto/qwak/execution/v1/state/featureset_state_pb2.py +6 -14
  223. _qwak_proto/qwak/execution/v1/state/spark_execution_state_pb2.py +14 -68
  224. _qwak_proto/qwak/execution/v1/streaming_aggregation_pb2.py +42 -0
  225. _qwak_proto/qwak/execution/v1/streaming_aggregation_pb2.pyi +165 -0
  226. _qwak_proto/qwak/execution/v1/streaming_aggregation_pb2_grpc.py +4 -0
  227. _qwak_proto/qwak/execution/v1/streaming_pb2.py +33 -0
  228. _qwak_proto/qwak/execution/v1/streaming_pb2.pyi +79 -0
  229. _qwak_proto/qwak/execution/v1/streaming_pb2_grpc.py +4 -0
  230. _qwak_proto/qwak/feature_store/entities/entity_pb2.py +16 -57
  231. _qwak_proto/qwak/feature_store/entities/entity_service_pb2.py +30 -127
  232. _qwak_proto/qwak/feature_store/features/aggregation_pb2.py +38 -175
  233. _qwak_proto/qwak/feature_store/features/deployment_pb2.py +36 -167
  234. _qwak_proto/qwak/feature_store/features/deployment_service_pb2.py +10 -27
  235. _qwak_proto/qwak/feature_store/features/execution_pb2.py +14 -56
  236. _qwak_proto/qwak/feature_store/features/feature_set_attribute_pb2.py +28 -0
  237. _qwak_proto/qwak/feature_store/features/feature_set_attribute_pb2.pyi +33 -0
  238. _qwak_proto/qwak/feature_store/features/feature_set_attribute_pb2_grpc.py +4 -0
  239. _qwak_proto/qwak/feature_store/features/feature_set_pb2.py +49 -106
  240. _qwak_proto/qwak/feature_store/features/feature_set_pb2.pyi +154 -8
  241. _qwak_proto/qwak/feature_store/features/feature_set_service_pb2.py +101 -349
  242. _qwak_proto/qwak/feature_store/features/feature_set_service_pb2.pyi +160 -0
  243. _qwak_proto/qwak/feature_store/features/feature_set_service_pb2_grpc.py +170 -0
  244. _qwak_proto/qwak/feature_store/features/feature_set_state_pb2.py +38 -181
  245. _qwak_proto/qwak/feature_store/features/feature_set_state_service_pb2.py +26 -107
  246. _qwak_proto/qwak/feature_store/features/feature_set_types_pb2.py +84 -298
  247. _qwak_proto/qwak/feature_store/features/feature_set_types_pb2.pyi +123 -7
  248. _qwak_proto/qwak/feature_store/features/monitoring_pb2.py +10 -34
  249. _qwak_proto/qwak/feature_store/features/real_time_feature_extractor_pb2.py +32 -143
  250. _qwak_proto/qwak/feature_store/jobs/job_pb2.py +12 -46
  251. _qwak_proto/qwak/feature_store/jobs/job_service_pb2.py +30 -127
  252. _qwak_proto/qwak/feature_store/jobs/v1/job_pb2.py +13 -36
  253. _qwak_proto/qwak/feature_store/jobs/v1/job_pb2.pyi +19 -0
  254. _qwak_proto/qwak/feature_store/jobs/v1/job_service_pb2.py +44 -148
  255. _qwak_proto/qwak/feature_store/jobs/v1/job_service_pb2.pyi +64 -0
  256. _qwak_proto/qwak/feature_store/jobs/v1/job_service_pb2_grpc.py +67 -0
  257. _qwak_proto/qwak/feature_store/platform/platform_details_pb2.py +30 -0
  258. _qwak_proto/qwak/feature_store/platform/platform_details_pb2.pyi +54 -0
  259. _qwak_proto/qwak/feature_store/platform/platform_details_pb2_grpc.py +4 -0
  260. _qwak_proto/qwak/feature_store/reports/report_pb2.py +14 -53
  261. _qwak_proto/qwak/feature_store/repository/common/platform_pb2.py +31 -0
  262. _qwak_proto/qwak/feature_store/repository/common/platform_pb2.pyi +70 -0
  263. _qwak_proto/qwak/feature_store/repository/common/platform_pb2_grpc.py +4 -0
  264. _qwak_proto/qwak/feature_store/serving/management_pb2.py +36 -0
  265. _qwak_proto/qwak/feature_store/serving/management_pb2.pyi +72 -0
  266. _qwak_proto/qwak/feature_store/serving/management_pb2_grpc.py +101 -0
  267. _qwak_proto/qwak/feature_store/serving/metadata_pb2.py +13 -35
  268. _qwak_proto/qwak/feature_store/serving/metadata_pb2.pyi +27 -0
  269. _qwak_proto/qwak/feature_store/serving/serving_pb2.py +50 -222
  270. _qwak_proto/qwak/feature_store/serving/v1/value_pb2.py +8 -24
  271. _qwak_proto/qwak/feature_store/sinks/sink_pb2.py +36 -0
  272. _qwak_proto/qwak/feature_store/sinks/sink_pb2.pyi +137 -0
  273. _qwak_proto/qwak/feature_store/sinks/sink_pb2_grpc.py +4 -0
  274. _qwak_proto/qwak/feature_store/sources/batch_pb2.py +80 -175
  275. _qwak_proto/qwak/feature_store/sources/batch_pb2.pyi +461 -13
  276. _qwak_proto/qwak/feature_store/sources/data_source_attribute_pb2.py +28 -0
  277. _qwak_proto/qwak/feature_store/sources/data_source_attribute_pb2.pyi +33 -0
  278. _qwak_proto/qwak/feature_store/sources/data_source_attribute_pb2_grpc.py +4 -0
  279. _qwak_proto/qwak/feature_store/sources/data_source_pb2.py +21 -55
  280. _qwak_proto/qwak/feature_store/sources/data_source_pb2.pyi +39 -4
  281. _qwak_proto/qwak/feature_store/sources/data_source_service_pb2.py +41 -148
  282. _qwak_proto/qwak/feature_store/sources/data_source_service_pb2.pyi +25 -0
  283. _qwak_proto/qwak/feature_store/sources/data_source_service_pb2_grpc.py +34 -0
  284. _qwak_proto/qwak/feature_store/sources/streaming_pb2.py +34 -146
  285. _qwak_proto/qwak/feature_store/v1/common/jfrog_artifact/jfrog_artifact_pb2.py +27 -0
  286. _qwak_proto/qwak/feature_store/v1/common/jfrog_artifact/jfrog_artifact_pb2.pyi +30 -0
  287. _qwak_proto/qwak/feature_store/v1/common/jfrog_artifact/jfrog_artifact_pb2_grpc.py +4 -0
  288. _qwak_proto/qwak/feature_store/v1/common/source_code/source_code_pb2.py +32 -0
  289. _qwak_proto/qwak/feature_store/v1/common/source_code/source_code_pb2.pyi +77 -0
  290. _qwak_proto/qwak/feature_store/v1/common/source_code/source_code_pb2_grpc.py +4 -0
  291. _qwak_proto/qwak/feature_store/v1/internal/data_source/data_source_service_pb2.py +39 -0
  292. _qwak_proto/qwak/feature_store/v1/internal/data_source/data_source_service_pb2.pyi +99 -0
  293. _qwak_proto/qwak/feature_store/v1/internal/data_source/data_source_service_pb2_grpc.py +99 -0
  294. _qwak_proto/qwak/feature_store/v1/internal/featureset/featureset_token_service_pb2.py +31 -0
  295. _qwak_proto/qwak/feature_store/v1/internal/featureset/featureset_token_service_pb2.pyi +46 -0
  296. _qwak_proto/qwak/feature_store/v1/internal/featureset/featureset_token_service_pb2_grpc.py +66 -0
  297. _qwak_proto/qwak/features_operator/v1/features_operator_pb2.py +14 -54
  298. _qwak_proto/qwak/features_operator/v1/features_operator_service_pb2.py +14 -47
  299. _qwak_proto/qwak/features_operator/v2/features_operator_pb2.py +16 -64
  300. _qwak_proto/qwak/features_operator/v2/features_operator_service_pb2.py +12 -37
  301. _qwak_proto/qwak/features_operator/v3/features_operator_async_service_pb2.py +26 -107
  302. _qwak_proto/qwak/features_operator/v3/features_operator_pb2.py +16 -64
  303. _qwak_proto/qwak/file_versioning/file_versioning_pb2.py +11 -24
  304. _qwak_proto/qwak/file_versioning/file_versioning_pb2.pyi +21 -0
  305. _qwak_proto/qwak/file_versioning/file_versioning_service_pb2.py +15 -48
  306. _qwak_proto/qwak/file_versioning/file_versioning_service_pb2.pyi +12 -1
  307. _qwak_proto/qwak/fitness_service/constructs_pb2.py +23 -93
  308. _qwak_proto/qwak/fitness_service/constructs_pb2.pyi +59 -1
  309. _qwak_proto/qwak/fitness_service/fitness_pb2.py +7 -34
  310. _qwak_proto/qwak/fitness_service/fitness_pb2.pyi +0 -77
  311. _qwak_proto/qwak/fitness_service/status_pb2.py +17 -107
  312. _qwak_proto/qwak/fitness_service/status_pb2.pyi +1 -117
  313. _qwak_proto/qwak/inference/feedback/feedback_pb2.py +28 -96
  314. _qwak_proto/qwak/instance_template/instance_template_pb2.py +13 -41
  315. _qwak_proto/qwak/instance_template/instance_template_pb2.pyi +13 -1
  316. _qwak_proto/qwak/instance_template/instance_template_service_pb2.py +14 -47
  317. _qwak_proto/qwak/integration/hugging_face_integration_pb2.py +37 -0
  318. _qwak_proto/qwak/integration/hugging_face_integration_pb2.pyi +106 -0
  319. _qwak_proto/qwak/integration/hugging_face_integration_pb2_grpc.py +4 -0
  320. _qwak_proto/qwak/integration/integration_pb2.py +55 -0
  321. _qwak_proto/qwak/integration/integration_pb2.pyi +357 -0
  322. _qwak_proto/qwak/integration/integration_pb2_grpc.py +4 -0
  323. _qwak_proto/qwak/integration/integration_service_pb2.py +56 -0
  324. _qwak_proto/qwak/integration/integration_service_pb2.pyi +234 -0
  325. _qwak_proto/qwak/integration/integration_service_pb2_grpc.py +271 -0
  326. _qwak_proto/qwak/integration/open_a_i_integration_pb2.py +37 -0
  327. _qwak_proto/qwak/integration/open_a_i_integration_pb2.pyi +109 -0
  328. _qwak_proto/qwak/integration/open_a_i_integration_pb2_grpc.py +4 -0
  329. _qwak_proto/qwak/integration/opsgenie_integration_pb2.py +43 -0
  330. _qwak_proto/qwak/integration/opsgenie_integration_pb2.pyi +168 -0
  331. _qwak_proto/qwak/integration/opsgenie_integration_pb2_grpc.py +4 -0
  332. _qwak_proto/qwak/integration/pagerduty_integration_pb2.py +47 -0
  333. _qwak_proto/qwak/integration/pagerduty_integration_pb2.pyi +195 -0
  334. _qwak_proto/qwak/integration/pagerduty_integration_pb2_grpc.py +4 -0
  335. _qwak_proto/qwak/integration/slack_app_integration_pb2.py +47 -0
  336. _qwak_proto/qwak/integration/slack_app_integration_pb2.pyi +198 -0
  337. _qwak_proto/qwak/integration/slack_app_integration_pb2_grpc.py +4 -0
  338. _qwak_proto/qwak/kube_deployment_captain/alert_pb2.py +22 -97
  339. _qwak_proto/qwak/kube_deployment_captain/alerting_pb2.py +12 -44
  340. _qwak_proto/qwak/kube_deployment_captain/batch_job_pb2.py +76 -249
  341. _qwak_proto/qwak/kube_deployment_captain/batch_job_pb2.pyi +283 -6
  342. _qwak_proto/qwak/kube_deployment_captain/deployment_pb2.py +45 -161
  343. _qwak_proto/qwak/kube_deployment_captain/deployment_pb2.pyi +52 -1
  344. _qwak_proto/qwak/kube_deployment_captain/feature_set_deployment_pb2.py +33 -145
  345. _qwak_proto/qwak/kube_deployment_captain/feature_set_deployment_pb2.pyi +6 -2
  346. _qwak_proto/qwak/kube_deployment_captain/kube_deployment_captain_service_pb2.py +111 -510
  347. _qwak_proto/qwak/kube_deployment_captain/kube_deployment_captain_service_pb2.pyi +24 -1
  348. _qwak_proto/qwak/kube_deployment_captain/kube_deployment_captain_service_pb2_grpc.py +34 -0
  349. _qwak_proto/qwak/kube_deployment_captain/traffic_mapping_pb2.py +8 -24
  350. _qwak_proto/qwak/logging/log_filter_pb2.py +12 -44
  351. _qwak_proto/qwak/logging/log_line_pb2.py +8 -25
  352. _qwak_proto/qwak/logging/log_reader_service_pb2.py +10 -27
  353. _qwak_proto/qwak/logging/log_source_pb2.py +30 -134
  354. _qwak_proto/qwak/model_descriptor/open_ai_descriptor_pb2.py +40 -0
  355. _qwak_proto/qwak/model_descriptor/open_ai_descriptor_pb2.pyi +215 -0
  356. _qwak_proto/qwak/model_descriptor/open_ai_descriptor_pb2_grpc.py +4 -0
  357. _qwak_proto/qwak/model_group/model_group_pb2.py +47 -0
  358. _qwak_proto/qwak/model_group/model_group_pb2.pyi +192 -0
  359. _qwak_proto/qwak/model_group/model_group_pb2_grpc.py +169 -0
  360. _qwak_proto/qwak/model_group/model_group_repository_details_pb2.py +43 -0
  361. _qwak_proto/qwak/model_group/model_group_repository_details_pb2.pyi +172 -0
  362. _qwak_proto/qwak/model_group/model_group_repository_details_pb2_grpc.py +4 -0
  363. _qwak_proto/qwak/models/models_pb2.py +101 -356
  364. _qwak_proto/qwak/models/models_pb2.pyi +221 -6
  365. _qwak_proto/qwak/models/models_pb2_grpc.py +68 -0
  366. _qwak_proto/qwak/models/models_query_pb2.py +37 -0
  367. _qwak_proto/qwak/models/models_query_pb2.pyi +157 -0
  368. _qwak_proto/qwak/models/models_query_pb2_grpc.py +4 -0
  369. _qwak_proto/qwak/monitoring/v0/alerting_channel_management_service_pb2.py +30 -127
  370. _qwak_proto/qwak/monitoring/v0/alerting_channel_pb2.py +34 -152
  371. _qwak_proto/qwak/monitoring/v0/alerting_channel_sync_service_pb2.py +14 -47
  372. _qwak_proto/qwak/offline/serving/v1/feature_values_pb2.py +27 -0
  373. _qwak_proto/qwak/offline/serving/v1/feature_values_pb2.pyi +37 -0
  374. _qwak_proto/qwak/offline/serving/v1/feature_values_pb2_grpc.py +4 -0
  375. _qwak_proto/qwak/offline/serving/v1/offline_serving_async_service_pb2.py +55 -0
  376. _qwak_proto/qwak/offline/serving/v1/offline_serving_async_service_pb2.pyi +279 -0
  377. _qwak_proto/qwak/offline/serving/v1/offline_serving_async_service_pb2_grpc.py +165 -0
  378. _qwak_proto/qwak/offline/serving/v1/options_pb2.py +27 -0
  379. _qwak_proto/qwak/offline/serving/v1/options_pb2.pyi +30 -0
  380. _qwak_proto/qwak/offline/serving/v1/options_pb2_grpc.py +4 -0
  381. _qwak_proto/qwak/offline/serving/v1/population_pb2.py +35 -0
  382. _qwak_proto/qwak/offline/serving/v1/population_pb2.pyi +99 -0
  383. _qwak_proto/qwak/offline/serving/v1/population_pb2_grpc.py +4 -0
  384. _qwak_proto/qwak/projects/jfrog_project_spec_pb2.py +27 -0
  385. _qwak_proto/qwak/projects/jfrog_project_spec_pb2.pyi +32 -0
  386. _qwak_proto/qwak/projects/jfrog_project_spec_pb2_grpc.py +4 -0
  387. _qwak_proto/qwak/projects/projects_pb2.py +51 -142
  388. _qwak_proto/qwak/projects/projects_pb2.pyi +149 -3
  389. _qwak_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2.py +77 -0
  390. _qwak_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2.pyi +417 -0
  391. _qwak_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2_grpc.py +441 -0
  392. _qwak_proto/qwak/prompt/v1/prompt/prompt_pb2.py +69 -0
  393. _qwak_proto/qwak/prompt/v1/prompt/prompt_pb2.pyi +415 -0
  394. _qwak_proto/qwak/prompt/v1/prompt/prompt_pb2_grpc.py +4 -0
  395. _qwak_proto/qwak/secret_service/secret_service_pb2.py +18 -67
  396. _qwak_proto/qwak/secret_service/secret_service_pb2.pyi +1 -1
  397. _qwak_proto/qwak/self_service/account/v0/account_membership_pb2.py +30 -65
  398. _qwak_proto/qwak/self_service/account/v0/account_membership_pb2.pyi +99 -2
  399. _qwak_proto/qwak/self_service/account/v0/account_membership_service_pb2.py +51 -208
  400. _qwak_proto/qwak/self_service/account/v0/account_membership_service_pb2.pyi +28 -0
  401. _qwak_proto/qwak/self_service/account/v0/account_membership_service_pb2_grpc.py +34 -0
  402. _qwak_proto/qwak/self_service/account/v0/account_status_pb2.py +44 -0
  403. _qwak_proto/qwak/self_service/account/v0/account_status_pb2.pyi +172 -0
  404. _qwak_proto/qwak/self_service/account/v0/account_status_pb2_grpc.py +4 -0
  405. _qwak_proto/qwak/self_service/account/v0/managing_account_pb2.py +60 -0
  406. _qwak_proto/qwak/self_service/account/v0/managing_account_pb2.pyi +317 -0
  407. _qwak_proto/qwak/self_service/account/v0/managing_account_pb2_grpc.py +4 -0
  408. _qwak_proto/qwak/self_service/account/v0/managing_account_service_pb2.py +45 -0
  409. _qwak_proto/qwak/self_service/account/v0/managing_account_service_pb2.pyi +136 -0
  410. _qwak_proto/qwak/self_service/account/v0/managing_account_service_pb2_grpc.py +169 -0
  411. _qwak_proto/qwak/self_service/user/v1/api_key_pb2.py +6 -14
  412. _qwak_proto/qwak/self_service/user/v1/user_pb2.py +6 -14
  413. _qwak_proto/qwak/self_service/user/v1/user_service_pb2.py +30 -121
  414. _qwak_proto/qwak/service_discovery/service_discovery_location_pb2.py +33 -0
  415. _qwak_proto/qwak/service_discovery/service_discovery_location_pb2.pyi +73 -0
  416. _qwak_proto/qwak/service_discovery/service_discovery_location_pb2_grpc.py +4 -0
  417. _qwak_proto/qwak/service_discovery/service_discovery_location_service_pb2.py +32 -0
  418. _qwak_proto/qwak/service_discovery/service_discovery_location_service_pb2.pyi +41 -0
  419. _qwak_proto/qwak/service_discovery/service_discovery_location_service_pb2_grpc.py +231 -0
  420. _qwak_proto/qwak/traffic/v1/traffic_api_pb2.py +23 -88
  421. _qwak_proto/qwak/traffic/v1/traffic_api_pb2.pyi +13 -2
  422. _qwak_proto/qwak/traffic/v1/traffic_pb2.py +27 -114
  423. _qwak_proto/qwak/traffic/v1/traffic_pb2.pyi +5 -1
  424. _qwak_proto/qwak/user_application/common/v0/resources_pb2.py +31 -132
  425. _qwak_proto/qwak/user_application/common/v0/resources_pb2.pyi +54 -0
  426. _qwak_proto/qwak/user_application/v0/user_application_pb2.py +15 -39
  427. _qwak_proto/qwak/user_application/v0/user_application_pb2.pyi +16 -0
  428. _qwak_proto/qwak/vectors/v1/collection/collection_pb2.py +25 -104
  429. _qwak_proto/qwak/vectors/v1/collection/collection_pb2.pyi +17 -1
  430. _qwak_proto/qwak/vectors/v1/collection/collection_service_pb2.py +38 -167
  431. _qwak_proto/qwak/vectors/v1/collection/event/collection_event_pb2.py +7 -15
  432. _qwak_proto/qwak/vectors/v1/collection/event/collection_event_pb2.pyi +5 -1
  433. _qwak_proto/qwak/vectors/v1/filters_pb2.py +30 -134
  434. _qwak_proto/qwak/vectors/v1/vector_pb2.py +17 -45
  435. _qwak_proto/qwak/vectors/v1/vector_pb2.pyi +25 -2
  436. _qwak_proto/qwak/vectors/v1/vector_service_pb2.py +31 -108
  437. _qwak_proto/qwak/vectors/v1/vector_service_pb2.pyi +30 -7
  438. _qwak_proto/qwak/workspace/workspace_pb2.py +23 -108
  439. _qwak_proto/qwak/workspace/workspace_pb2.pyi +10 -2
  440. _qwak_proto/qwak/workspace/workspace_service_pb2.py +63 -248
  441. _qwak_proto/qwak/workspace/workspace_service_pb2.pyi +56 -0
  442. _qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py +66 -0
  443. qwak/__init__.py +2 -3
  444. qwak/automations/automation_executions.py +14 -10
  445. qwak/automations/automations.py +33 -23
  446. qwak/automations/build_and_deploy_action.py +147 -28
  447. qwak/automations/common.py +6 -0
  448. qwak/clients/administration/eco_system/client.py +2 -2
  449. qwak/clients/administration/eco_system/eco_system_utils.py +15 -0
  450. qwak/clients/administration/environment/client.py +16 -0
  451. qwak/clients/analytics/client.py +28 -3
  452. qwak/clients/batch_job_management/client.py +94 -3
  453. qwak/clients/batch_job_management/executions_config.py +18 -0
  454. qwak/clients/build_orchestrator/build_model_request_getter.py +3 -0
  455. qwak/clients/build_orchestrator/client.py +155 -12
  456. qwak/clients/data_versioning/client.py +19 -1
  457. qwak/clients/data_versioning/data_tag_filter.py +32 -0
  458. qwak/clients/deployment/client.py +14 -0
  459. qwak/clients/feature_store/execution_management_client.py +28 -0
  460. qwak/clients/feature_store/management_client.py +203 -146
  461. qwak/clients/feature_store/offline_serving_client.py +251 -0
  462. qwak/clients/feature_store/operator_client.py +21 -4
  463. qwak/clients/file_versioning/client.py +19 -1
  464. qwak/clients/file_versioning/file_tag_filter.py +32 -0
  465. qwak/clients/instance_template/client.py +11 -10
  466. qwak/clients/integration_management/integration_manager_client.py +34 -0
  467. qwak/clients/integration_management/integration_utils.py +27 -0
  468. qwak/clients/integration_management/openai/openai_system_secret.py +56 -0
  469. qwak/clients/kube_deployment_captain/client.py +3 -1
  470. qwak/clients/location_discovery/__init__.py +1 -0
  471. qwak/clients/location_discovery/client.py +73 -0
  472. qwak/clients/logging_client/client.py +13 -18
  473. qwak/clients/model_management/client.py +7 -2
  474. qwak/clients/project/client.py +7 -2
  475. qwak/clients/prompt_manager/__init__.py +0 -0
  476. qwak/clients/prompt_manager/model_descriptor_mapper.py +183 -0
  477. qwak/clients/prompt_manager/prompt_manager_client.py +167 -0
  478. qwak/clients/prompt_manager/prompt_proto_mapper.py +236 -0
  479. qwak/clients/secret_service/client.py +8 -3
  480. qwak/clients/system_secret/__init__.py +0 -0
  481. qwak/clients/system_secret/system_secret_client.py +30 -0
  482. qwak/clients/vector_store/management_client.py +2 -0
  483. qwak/clients/vector_store/serving_client.py +64 -18
  484. qwak/clients/workspace_manager/client.py +15 -0
  485. qwak/exceptions/__init__.py +7 -0
  486. qwak/exceptions/qwak_decode_exception.py +7 -0
  487. qwak/exceptions/qwak_exception.py +2 -1
  488. qwak/exceptions/qwak_external_exception.py +11 -0
  489. qwak/exceptions/qwak_general_build_exception.py +13 -0
  490. qwak/exceptions/qwak_grpc_address_exception.py +9 -0
  491. qwak/exceptions/qwak_load_configuration_exception.py +2 -0
  492. qwak/exceptions/qwak_remote_build_failed.py +5 -0
  493. qwak/exceptions/qwak_suggestion_exception.py +27 -0
  494. qwak/feature_store/_common/artifact_utils.py +59 -0
  495. qwak/feature_store/_common/feature_set_utils.py +142 -19
  496. qwak/feature_store/_common/functions.py +0 -43
  497. qwak/feature_store/_common/packaging.py +262 -0
  498. qwak/feature_store/_common/source_code_spec.py +108 -0
  499. qwak/feature_store/_common/source_code_spec_factory.py +104 -0
  500. qwak/feature_store/_common/value.py +10 -0
  501. qwak/feature_store/data_sources/__init__.py +53 -17
  502. qwak/feature_store/data_sources/attributes.py +23 -0
  503. qwak/feature_store/data_sources/base.py +125 -0
  504. qwak/feature_store/data_sources/batch/__init__.py +0 -0
  505. qwak/feature_store/data_sources/batch/_batch.py +9 -0
  506. qwak/feature_store/data_sources/{batch_sources → batch}/_jdbc.py +2 -1
  507. qwak/feature_store/data_sources/batch/athena.py +260 -0
  508. qwak/feature_store/data_sources/{batch_sources → batch}/big_query.py +5 -5
  509. qwak/feature_store/data_sources/batch/clickhouse.py +60 -0
  510. qwak/feature_store/data_sources/{batch_sources → batch}/csv.py +9 -5
  511. qwak/feature_store/data_sources/{batch_sources → batch}/elastic_search.py +5 -5
  512. qwak/feature_store/data_sources/batch/filesystem/__init__.py +0 -0
  513. qwak/feature_store/data_sources/{batch_sources/filesystem_config.py → batch/filesystem/aws.py} +30 -38
  514. qwak/feature_store/data_sources/batch/filesystem/base_config.py +13 -0
  515. qwak/feature_store/data_sources/batch/filesystem/gcp.py +50 -0
  516. qwak/feature_store/data_sources/batch/filesystem/utils.py +51 -0
  517. qwak/feature_store/data_sources/{batch_sources → batch}/mongodb.py +6 -5
  518. qwak/feature_store/data_sources/{batch_sources → batch}/mysql.py +5 -7
  519. qwak/feature_store/data_sources/{batch_sources → batch}/parquet.py +10 -7
  520. qwak/feature_store/data_sources/{batch_sources → batch}/postgres.py +5 -7
  521. qwak/feature_store/data_sources/{batch_sources → batch}/redshift.py +6 -7
  522. qwak/feature_store/data_sources/{batch_sources → batch}/snowflake.py +39 -13
  523. qwak/feature_store/data_sources/batch/unity_catalog.py +107 -0
  524. qwak/feature_store/data_sources/{batch_sources → batch}/vertica.py +6 -5
  525. qwak/feature_store/data_sources/source_authentication.py +33 -0
  526. qwak/feature_store/data_sources/streaming/__init__.py +0 -0
  527. qwak/feature_store/data_sources/streaming/_streaming.py +9 -0
  528. qwak/feature_store/data_sources/streaming/kafka/__init__.py +25 -0
  529. qwak/feature_store/data_sources/streaming/kafka/authentication.py +120 -0
  530. qwak/feature_store/data_sources/streaming/kafka/deserialization.py +109 -0
  531. qwak/feature_store/data_sources/streaming/kafka/kafka.py +120 -0
  532. qwak/feature_store/data_sources/time_partition_columns.py +166 -0
  533. qwak/feature_store/entities/entity.py +17 -4
  534. qwak/feature_store/execution/backfill.py +8 -2
  535. qwak/feature_store/execution/streaming_backfill.py +48 -0
  536. qwak/feature_store/feature_sets/_utils/_featureset_utils.py +45 -0
  537. qwak/feature_store/feature_sets/backfill.py +13 -0
  538. qwak/feature_store/feature_sets/base_feature_set.py +148 -0
  539. qwak/feature_store/feature_sets/batch.py +142 -151
  540. qwak/feature_store/feature_sets/execution_spec.py +6 -0
  541. qwak/feature_store/feature_sets/metadata.py +51 -1
  542. qwak/feature_store/feature_sets/streaming.py +655 -0
  543. qwak/feature_store/feature_sets/streaming_backfill.py +223 -0
  544. qwak/feature_store/feature_sets/transformations/__init__.py +33 -0
  545. qwak/feature_store/feature_sets/transformations/aggregations/__init__.py +0 -0
  546. qwak/feature_store/feature_sets/transformations/aggregations/aggregations.py +425 -0
  547. qwak/feature_store/feature_sets/transformations/aggregations/windows.py +70 -0
  548. qwak/feature_store/feature_sets/transformations/functions/__init__.py +10 -0
  549. qwak/feature_store/feature_sets/transformations/functions/qwak_pandas.py +64 -0
  550. qwak/feature_store/feature_sets/transformations/functions/schema.py +57 -0
  551. qwak/feature_store/feature_sets/transformations/transformations.py +451 -0
  552. qwak/feature_store/feature_sets/transformations/validations/validations_util.py +78 -0
  553. qwak/feature_store/offline/__init__.py +2 -2
  554. qwak/feature_store/offline/_offline_serving_validations.py +31 -0
  555. qwak/feature_store/offline/client_v2.py +327 -0
  556. qwak/feature_store/offline/feature_set_features.py +25 -0
  557. qwak/feature_store/online/client.py +152 -46
  558. qwak/feature_store/online/endpoint_utils.py +63 -0
  559. qwak/feature_store/sinks/__init__.py +0 -0
  560. qwak/feature_store/sinks/base.py +18 -0
  561. qwak/feature_store/sinks/kafka.py +59 -0
  562. qwak/feature_store/sinks/streaming/__init__.py +0 -0
  563. qwak/feature_store/sinks/streaming/attachment.py +30 -0
  564. qwak/feature_store/sinks/streaming/factory.py +60 -0
  565. qwak/feature_store/validations/__init__.py +0 -0
  566. qwak/feature_store/validations/validation_decorators.py +70 -0
  567. qwak/feature_store/validations/validation_options.py +77 -0
  568. qwak/feature_store/validations/validation_response.py +119 -0
  569. qwak/feature_store/validations/validator.py +114 -0
  570. qwak/inner/build_config/__init__.py +0 -0
  571. qwak/inner/build_config/build_config_v1.py +311 -0
  572. qwak/inner/build_logic/__init__.py +0 -0
  573. qwak/inner/build_logic/build_loggers/__init__.py +0 -0
  574. qwak/inner/build_logic/build_loggers/trigger_build_logger.py +51 -0
  575. qwak/inner/build_logic/constants/__init__.py +0 -0
  576. qwak/inner/build_logic/constants/dependencies.py +5 -0
  577. qwak/inner/build_logic/constants/host_resource.py +4 -0
  578. qwak/inner/build_logic/constants/messages.py +3 -0
  579. qwak/inner/build_logic/constants/temp_dir.py +1 -0
  580. qwak/inner/build_logic/constants/upload_tag.py +7 -0
  581. qwak/inner/build_logic/dependency_manager_type.py +8 -0
  582. qwak/inner/build_logic/execute_build_pipeline.py +62 -0
  583. qwak/inner/build_logic/interface/__init__.py +0 -0
  584. qwak/inner/build_logic/interface/build_logger_interface.py +28 -0
  585. qwak/inner/build_logic/interface/build_phase.py +24 -0
  586. qwak/inner/build_logic/interface/context_interface.py +66 -0
  587. qwak/inner/build_logic/interface/phase_run_handler.py +71 -0
  588. qwak/inner/build_logic/interface/step_inteface.py +26 -0
  589. qwak/inner/build_logic/interface/time_source.py +23 -0
  590. qwak/inner/build_logic/phases/__init__.py +0 -0
  591. qwak/inner/build_logic/phases/phase_010_fetch_model/__init__.py +0 -0
  592. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_model_step.py +43 -0
  593. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/__init__.py +0 -0
  594. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/common.py +32 -0
  595. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/fetch_strategy_manager.py +62 -0
  596. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/__init__.py +0 -0
  597. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/__init__.py +0 -0
  598. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/folder_strategy.py +131 -0
  599. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/__init__.py +0 -0
  600. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py +186 -0
  601. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py +48 -0
  602. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/__init__.py +0 -0
  603. qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/zip_strategy.py +64 -0
  604. qwak/inner/build_logic/phases/phase_010_fetch_model/post_fetch_validation_step.py +140 -0
  605. qwak/inner/build_logic/phases/phase_010_fetch_model/pre_fetch_validation_step.py +266 -0
  606. qwak/inner/build_logic/phases/phase_010_fetch_model/set_version_step.py +33 -0
  607. qwak/inner/build_logic/phases/phase_020_remote_register_qwak_build/__init__.py +0 -0
  608. qwak/inner/build_logic/phases/phase_020_remote_register_qwak_build/cleanup_step.py +20 -0
  609. qwak/inner/build_logic/phases/phase_020_remote_register_qwak_build/start_remote_build_step.py +43 -0
  610. qwak/inner/build_logic/phases/phase_020_remote_register_qwak_build/upload_step.py +258 -0
  611. qwak/inner/build_logic/phases/phases_pipeline.py +44 -0
  612. qwak/inner/build_logic/run_handlers/__init__.py +0 -0
  613. qwak/inner/build_logic/run_handlers/programmatic_phase_run_handler.py +99 -0
  614. qwak/inner/build_logic/tools/__init__.py +0 -0
  615. qwak/inner/build_logic/tools/dependencies_tools.py +68 -0
  616. qwak/inner/build_logic/tools/files.py +237 -0
  617. qwak/inner/build_logic/tools/ignore_files.py +20 -0
  618. qwak/inner/build_logic/tools/text.py +9 -0
  619. qwak/inner/build_logic/trigger_build_context.py +10 -0
  620. qwak/inner/const.py +2 -4
  621. qwak/inner/di_configuration/__init__.py +1 -63
  622. qwak/inner/di_configuration/account.py +32 -15
  623. qwak/inner/di_configuration/config.yml +2 -0
  624. qwak/inner/di_configuration/containers.py +10 -2
  625. qwak/inner/di_configuration/dependency_wiring.py +98 -0
  626. qwak/inner/di_configuration/session.py +5 -0
  627. qwak/inner/instance_template/__init__.py +0 -0
  628. qwak/inner/instance_template/verify_template_id.py +48 -0
  629. qwak/inner/model_loggers_utils.py +10 -7
  630. qwak/inner/provider.py +6 -0
  631. qwak/inner/tool/auth.py +42 -7
  632. qwak/inner/tool/grpc/grpc_auth.py +27 -8
  633. qwak/inner/tool/grpc/grpc_tools.py +124 -4
  634. qwak/inner/tool/grpc/grpc_try_wrapping.py +139 -4
  635. qwak/inner/tool/protobuf_factory.py +45 -0
  636. qwak/inner/tool/run_config/__init__.py +2 -0
  637. qwak/inner/tool/run_config/base.py +32 -7
  638. qwak/inner/tool/run_config/utils.py +66 -1
  639. qwak/llmops/__init__.py +0 -0
  640. qwak/llmops/generation/__init__.py +0 -0
  641. qwak/llmops/generation/_steaming.py +77 -0
  642. qwak/llmops/generation/base.py +5 -0
  643. qwak/llmops/generation/chat/__init__.py +0 -0
  644. qwak/llmops/generation/chat/openai/LICENSE.txt +201 -0
  645. qwak/llmops/generation/chat/openai/types/__init__.py +0 -0
  646. qwak/llmops/generation/chat/openai/types/chat/__init__.py +0 -0
  647. qwak/llmops/generation/chat/openai/types/chat/chat_completion.py +105 -0
  648. qwak/llmops/generation/chat/openai/types/chat/chat_completion_assistant_message_param.py +65 -0
  649. qwak/llmops/generation/chat/openai/types/chat/chat_completion_chunk.py +188 -0
  650. qwak/llmops/generation/chat/openai/types/chat/chat_completion_content_part_text_param.py +28 -0
  651. qwak/llmops/generation/chat/openai/types/chat/chat_completion_function_call_option_param.py +25 -0
  652. qwak/llmops/generation/chat/openai/types/chat/chat_completion_function_message_param.py +33 -0
  653. qwak/llmops/generation/chat/openai/types/chat/chat_completion_message.py +59 -0
  654. qwak/llmops/generation/chat/openai/types/chat/chat_completion_message_param.py +34 -0
  655. qwak/llmops/generation/chat/openai/types/chat/chat_completion_message_tool_call.py +46 -0
  656. qwak/llmops/generation/chat/openai/types/chat/chat_completion_message_tool_call_param.py +44 -0
  657. qwak/llmops/generation/chat/openai/types/chat/chat_completion_named_tool_choice_param.py +32 -0
  658. qwak/llmops/generation/chat/openai/types/chat/chat_completion_role.py +20 -0
  659. qwak/llmops/generation/chat/openai/types/chat/chat_completion_system_message_param.py +35 -0
  660. qwak/llmops/generation/chat/openai/types/chat/chat_completion_token_logprob.py +71 -0
  661. qwak/llmops/generation/chat/openai/types/chat/chat_completion_tool_choice_option_param.py +28 -0
  662. qwak/llmops/generation/chat/openai/types/chat/chat_completion_tool_message_param.py +31 -0
  663. qwak/llmops/generation/chat/openai/types/chat/chat_completion_tool_param.py +29 -0
  664. qwak/llmops/generation/chat/openai/types/chat/chat_completion_user_message_param.py +35 -0
  665. qwak/llmops/generation/chat/openai/types/chat/completion_create_params.py +279 -0
  666. qwak/llmops/generation/chat/openai/types/completion_choice.py +47 -0
  667. qwak/llmops/generation/chat/openai/types/completion_create_params.py +209 -0
  668. qwak/llmops/generation/chat/openai/types/completion_usage.py +30 -0
  669. qwak/llmops/generation/chat/openai/types/model.py +35 -0
  670. qwak/llmops/generation/chat/openai/types/shared/__init__.py +3 -0
  671. qwak/llmops/generation/chat/openai/types/shared/error_object.py +27 -0
  672. qwak/llmops/generation/chat/openai/types/shared/function_definition.py +49 -0
  673. qwak/llmops/generation/chat/openai/types/shared/function_parameters.py +20 -0
  674. qwak/llmops/generation/chat/openai/types/shared_params/__init__.py +2 -0
  675. qwak/llmops/generation/chat/openai/types/shared_params/function_definition.py +49 -0
  676. qwak/llmops/generation/chat/openai/types/shared_params/function_parameters.py +22 -0
  677. qwak/llmops/generation/streaming.py +26 -0
  678. qwak/llmops/model/__init__.py +0 -0
  679. qwak/llmops/model/descriptor.py +39 -0
  680. qwak/llmops/prompt/__init__.py +0 -0
  681. qwak/llmops/prompt/base.py +133 -0
  682. qwak/llmops/prompt/chat/__init__.py +0 -0
  683. qwak/llmops/prompt/chat/message.py +24 -0
  684. qwak/llmops/prompt/chat/template.py +113 -0
  685. qwak/llmops/prompt/chat/value.py +10 -0
  686. qwak/llmops/prompt/manager.py +134 -0
  687. qwak/llmops/prompt/template.py +24 -0
  688. qwak/llmops/prompt/value.py +14 -0
  689. qwak/llmops/provider/__init__.py +0 -0
  690. qwak/llmops/provider/chat.py +42 -0
  691. qwak/llmops/provider/openai/__init__.py +0 -0
  692. qwak/llmops/provider/openai/client.py +123 -0
  693. qwak/llmops/provider/openai/provider.py +89 -0
  694. qwak/model/_entity_extraction.py +40 -46
  695. qwak/model/adapters/input_adapters/multi_input_adapter.py +17 -1
  696. qwak/model/base.py +1 -1
  697. qwak/model/decorators/api.py +3 -1
  698. qwak/model/decorators/impl/api_implementation.py +1 -0
  699. qwak/model/fs_info_mapping_retriever.py +58 -0
  700. qwak/model/schema.py +1 -1
  701. qwak/model/schema_entities.py +1 -1
  702. qwak/model/tools/__init__.py +1 -1
  703. qwak/model/tools/adapters/input_adapters/dataframe_input.py +1 -1
  704. qwak/model/tools/adapters/output.py +1 -1
  705. qwak/model/tools/run_model_locally.py +15 -3
  706. qwak/model/utils/feature_utils.py +69 -0
  707. qwak/model_loggers/artifact_logger.py +46 -9
  708. qwak/model_loggers/data_logger.py +16 -2
  709. qwak/qwak_client/batch_jobs/execution.py +49 -0
  710. qwak/qwak_client/batch_jobs/task.py +43 -0
  711. qwak/qwak_client/build_api_helpers/__init__.py +0 -0
  712. qwak/qwak_client/build_api_helpers/build_api_steps.py +53 -0
  713. qwak/qwak_client/build_api_helpers/messages.py +6 -0
  714. qwak/qwak_client/build_api_helpers/trigger_build_api.py +65 -0
  715. qwak/qwak_client/client.py +276 -24
  716. qwak/qwak_client/data_versioning/__init__.py +0 -0
  717. qwak/qwak_client/data_versioning/data_tag.py +24 -0
  718. qwak/qwak_client/deployments/deployment.py +11 -9
  719. qwak/qwak_client/file_versioning/__init__.py +0 -0
  720. qwak/qwak_client/file_versioning/file_tag.py +24 -0
  721. qwak/qwak_client/projects/project.py +4 -2
  722. qwak/tools/logger/logger.py +1 -1
  723. qwak/utils/__init__.py +0 -0
  724. qwak/utils/datetime_utils.py +18 -0
  725. qwak/utils/dict_utils.py +12 -0
  726. qwak/vector_store/client.py +8 -0
  727. qwak/vector_store/collection.py +173 -73
  728. qwak/vector_store/inference_client.py +30 -2
  729. qwak/vector_store/rest_helpers.py +13 -21
  730. qwak/vector_store/utils/filter_utils.py +4 -17
  731. qwak/vector_store/utils/upsert_utils.py +217 -0
  732. {qwak_core-0.1.37.dist-info → qwak_core-0.5.19.dist-info}/METADATA +20 -15
  733. qwak_core-0.5.19.dist-info/RECORD +1100 -0
  734. {qwak_core-0.1.37.dist-info → qwak_core-0.5.19.dist-info}/WHEEL +1 -1
  735. qwak_services_mock/mocks/authentication_service.py +5 -4
  736. qwak_services_mock/mocks/batch_job_manager_service.py +53 -6
  737. qwak_services_mock/mocks/build_orchestrator_build_api.py +18 -1
  738. qwak_services_mock/mocks/build_orchestrator_build_settings_api.py +35 -0
  739. qwak_services_mock/mocks/build_orchestrator_service_api.py +4 -0
  740. qwak_services_mock/mocks/data_versioning_service.py +26 -2
  741. qwak_services_mock/mocks/deployment_management_service.py +46 -18
  742. qwak_services_mock/mocks/ecosystem_service_api.py +0 -1
  743. qwak_services_mock/mocks/execution_management_service.py +9 -1
  744. qwak_services_mock/mocks/feature_store_data_sources_manager_api.py +98 -2
  745. qwak_services_mock/mocks/feature_store_entities_manager_api.py +46 -3
  746. qwak_services_mock/mocks/feature_store_feature_set_manager_api.py +197 -21
  747. qwak_services_mock/mocks/features_online_serving_api.py +9 -0
  748. qwak_services_mock/mocks/features_operator_v3_service.py +20 -0
  749. qwak_services_mock/mocks/features_set_state_service_api.py +0 -1
  750. qwak_services_mock/mocks/file_versioning_service.py +29 -2
  751. qwak_services_mock/mocks/fs_offline_serving_service.py +53 -0
  752. qwak_services_mock/mocks/instance_template_management_service.py +35 -1
  753. qwak_services_mock/mocks/integration_management_service.py +72 -0
  754. qwak_services_mock/mocks/location_discovery_service_api.py +104 -0
  755. qwak_services_mock/mocks/model_management_service.py +11 -5
  756. qwak_services_mock/mocks/prompt_manager_service.py +244 -0
  757. qwak_services_mock/mocks/qwak_mocks.py +20 -2
  758. qwak_services_mock/mocks/system_secret_service.py +54 -0
  759. qwak_services_mock/mocks/vector_serving_api.py +44 -8
  760. qwak_services_mock/mocks/workspace_manager_service_mock.py +24 -8
  761. qwak_services_mock/services_mock.py +78 -12
  762. _qwak_proto/qwak/fitness_service/fitness_service_pb2.py +0 -110
  763. _qwak_proto/qwak/fitness_service/fitness_service_pb2.pyi +0 -121
  764. _qwak_proto/qwak/fitness_service/fitness_service_pb2_grpc.py +0 -169
  765. qwak/clients/build_management/__init__.py +0 -1
  766. qwak/clients/build_management/client.py +0 -114
  767. qwak/feature_store/_common/featureset_asterisk_handler.py +0 -115
  768. qwak/feature_store/data_sources/batch_sources/__init__.py +0 -6
  769. qwak/feature_store/data_sources/batch_sources/_batch.py +0 -86
  770. qwak/feature_store/feature_sets/transformations.py +0 -48
  771. qwak/feature_store/offline/_query_engine.py +0 -32
  772. qwak/feature_store/offline/athena/athena_query_engine.py +0 -153
  773. qwak/feature_store/offline/client.py +0 -699
  774. qwak/feature_store/validation_options.py +0 -69
  775. qwak_core-0.1.37.dist-info/RECORD +0 -682
  776. qwak_services_mock/mocks/build_management.py +0 -100
  777. {_qwak_proto → qwak/clients/integration_management}/__init__.py +0 -0
  778. /qwak/{feature_store/offline/athena → clients/integration_management/openai}/__init__.py +0 -0
@@ -0,0 +1,104 @@
1
+ from typing import Dict, Optional
2
+
3
+ import grpc
4
+ from _qwak_proto.qwak.service_discovery.service_discovery_location_pb2 import (
5
+ ServiceLocationDescriptor,
6
+ )
7
+ from _qwak_proto.qwak.service_discovery.service_discovery_location_service_pb2 import (
8
+ GetServingUrlRequestResponse,
9
+ )
10
+ from _qwak_proto.qwak.service_discovery.service_discovery_location_service_pb2_grpc import (
11
+ LocationDiscoveryServiceServicer,
12
+ )
13
+
14
+
15
+ class LocationDiscoveryServiceApiMock(LocationDiscoveryServiceServicer):
16
+ """
17
+ Mock implementation of the LocationDiscoveryService for testing SDK behavior.
18
+ Allows setting mock responses and optional error codes for each endpoint.
19
+ """
20
+
21
+ def __init__(self):
22
+ super().__init__()
23
+ self._responses: Dict[str, Optional[ServiceLocationDescriptor]] = {}
24
+ self._error_codes: Dict[str, grpc.StatusCode] = {}
25
+
26
+ def _set_mock(
27
+ self,
28
+ key: str,
29
+ response: Optional[ServiceLocationDescriptor],
30
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
31
+ ):
32
+ self._responses[key] = response
33
+ self._error_codes[key] = error_code
34
+
35
+ def _handle(
36
+ self, key: str, context: grpc.ServicerContext
37
+ ) -> GetServingUrlRequestResponse:
38
+ response = self._responses.get(key)
39
+ if response:
40
+ return GetServingUrlRequestResponse(location=response)
41
+ context.set_code(self._error_codes.get(key, grpc.StatusCode.NOT_FOUND))
42
+ context.set_details(f"No mock response set for {key}")
43
+ return GetServingUrlRequestResponse()
44
+
45
+ # Setters
46
+ def set_get_offline_serving_url_response(
47
+ self,
48
+ response: Optional[ServiceLocationDescriptor],
49
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
50
+ ):
51
+ self._set_mock("offline", response, error_code)
52
+
53
+ def set_get_distribution_manager_url_response(
54
+ self,
55
+ response: Optional[ServiceLocationDescriptor],
56
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
57
+ ):
58
+ self._set_mock("distribution", response, error_code)
59
+
60
+ def set_get_analytics_engine_url_response(
61
+ self,
62
+ response: Optional[ServiceLocationDescriptor],
63
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
64
+ ):
65
+ self._set_mock("analytics", response, error_code)
66
+
67
+ def set_get_metrics_gateway_url_response(
68
+ self,
69
+ response: Optional[ServiceLocationDescriptor],
70
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
71
+ ):
72
+ self._set_mock("metrics", response, error_code)
73
+
74
+ def set_get_features_operator_url_response(
75
+ self,
76
+ response: Optional[ServiceLocationDescriptor],
77
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
78
+ ):
79
+ self._set_mock("features", response, error_code)
80
+
81
+ def set_get_hosting_gateway_url_response(
82
+ self,
83
+ response: Optional[ServiceLocationDescriptor],
84
+ error_code: grpc.StatusCode = grpc.StatusCode.NOT_FOUND,
85
+ ):
86
+ self._set_mock("hosting", response, error_code)
87
+
88
+ def GetOfflineServingUrl(self, request, context):
89
+ return self._handle("offline", context)
90
+
91
+ def GetDistributionManagerUrl(self, request, context):
92
+ return self._handle("distribution", context)
93
+
94
+ def GetAnalyticsEngineUrl(self, request, context):
95
+ return self._handle("analytics", context)
96
+
97
+ def GetMetricsGatewayUrl(self, request, context):
98
+ return self._handle("metrics", context)
99
+
100
+ def GetFeaturesOperatorUrl(self, request, context):
101
+ return self._handle("features", context)
102
+
103
+ def GetHostingGatewayUrl(self, request, context):
104
+ return self._handle("hosting", context)
@@ -10,9 +10,8 @@ from _qwak_proto.qwak.models.models_pb2 import (
10
10
  GetModelMetadataResponse,
11
11
  GetModelRequest,
12
12
  GetModelResponse,
13
- ListModelsResponse,
14
13
  ListModelsMetadataResponse,
15
- Branch,
14
+ ListModelsResponse,
16
15
  Model,
17
16
  ModelMetadata,
18
17
  ModelSpec,
@@ -85,13 +84,20 @@ class ModelsManagementServiceMock(ModelsManagementServiceServicer):
85
84
  except Exception as e:
86
85
  raise_internal_grpc_error(context, e)
87
86
 
88
-
89
87
  def ListModels(self, request, context):
90
- models = [model for _, model in self.models.items() if model.project_id == request.project_id]
88
+ models = [
89
+ model
90
+ for _, model in self.models.items()
91
+ if model.project_id == request.project_id
92
+ ]
91
93
  return ListModelsResponse(models=models)
92
94
 
93
95
  def ListModelsMetadata(self, request, context):
94
- models = [ModelMetadata(model=model) for _, model in self.models.items() if model.project_id == request.project_id]
96
+ models = [
97
+ ModelMetadata(model=model)
98
+ for _, model in self.models.items()
99
+ if model.project_id == request.project_id
100
+ ]
95
101
  return ListModelsMetadataResponse(model_metadata=models)
96
102
 
97
103
  @staticmethod
@@ -0,0 +1,244 @@
1
+ from typing import Dict, List, Tuple
2
+
3
+ import grpc
4
+ from _qwak_proto.qwak.prompt.v1.prompt.prompt_manager_service_pb2 import (
5
+ CreatePromptRequest as ProtoCreatePromptRequest,
6
+ CreatePromptResponse as ProtoCreatePromptResponse,
7
+ CreatePromptVersionRequest as ProtoCreatePromptVersionRequest,
8
+ CreatePromptVersionResponse as ProtoCreatePromptVersionResponse,
9
+ DeletePromptRequest as ProtoDeletePromptRequest,
10
+ DeletePromptResponse as ProtoDeletePromptResponse,
11
+ DeletePromptVersionRequest as ProtoDeletePromptVersionRequest,
12
+ DeletePromptVersionResponse as ProtoDeletePromptVersionResponse,
13
+ GetPromptByNameRequest as ProtoGetPromptByNameRequest,
14
+ GetPromptByNameResponse as ProtoGetPromptByNameResponse,
15
+ GetPromptVersionByPromptNameRequest as ProtoGetPromptVersionByPromptNameRequest,
16
+ GetPromptVersionByPromptNameResponse as ProtoGetPromptVersionByPromptNameResponse,
17
+ SetDefaultPromptVersionRequest as ProtoSetDefaultPromptVersionRequest,
18
+ SetDefaultPromptVersionResponse as ProtoSetDefaultPromptVersionResponse,
19
+ UpdatePromptRequest as ProtoUpdatePromptRequest,
20
+ UpdatePromptResponse as ProtoUpdatePromptResponse,
21
+ )
22
+ from _qwak_proto.qwak.prompt.v1.prompt.prompt_manager_service_pb2_grpc import (
23
+ PromptManagerServiceServicer,
24
+ )
25
+ from _qwak_proto.qwak.prompt.v1.prompt.prompt_pb2 import (
26
+ Prompt as ProtoPrompt,
27
+ PromptMetadata as ProtoPromptMetadata,
28
+ PromptSpec as ProtoPromptSpec,
29
+ PromptVersion as ProtoPromptVersion,
30
+ PromptVersionDefinition as ProtoPromptVersionDefinition,
31
+ PromptVersionMetadata as ProtoPromptVersionMetadata,
32
+ )
33
+ from google.protobuf.timestamp_pb2 import Timestamp
34
+
35
+
36
+ class PromptManagerServiceMock(PromptManagerServiceServicer):
37
+ prompts: Dict[str, ProtoPrompt] = {}
38
+ prompts_versions: Dict[Tuple[str, int], ProtoPromptVersionDefinition] = {}
39
+ prompts_next_version: Dict[str, int] = {}
40
+
41
+ def clear(self):
42
+ self.prompts = {}
43
+ self.prompts_versions = {}
44
+ self.prompts_next_version = {}
45
+
46
+ def _is_prompt_name_valid(self, test_str: str) -> bool:
47
+ import re
48
+
49
+ regex = r"^[a-z0-9](?:[-_]?[a-z0-9]+)+$"
50
+ return re.match(pattern=regex, string=test_str) is not None
51
+
52
+ def _raise_on_missing_prompt(self, prompt_name: str, context):
53
+ if prompt_name not in self.prompts:
54
+ context.set_code(grpc.StatusCode.NOT_FOUND)
55
+ context.set_details("Prompt name does not exist")
56
+ raise ValueError("Prompt name does not exist")
57
+
58
+ def _raise_on_missing_prompt_version(self, prompt_name: str, version: int, context):
59
+ if (
60
+ prompt_name not in self.prompts
61
+ or (prompt_name, version) not in self.prompts_versions
62
+ ):
63
+ context.set_code(grpc.StatusCode.NOT_FOUND)
64
+ context.set_details("Prompt version does not exist")
65
+ raise ValueError("Prompt version does not exist")
66
+
67
+ def CreatePrompt(self, request: ProtoCreatePromptRequest, context):
68
+ """Create a new prompt"""
69
+
70
+ if request.prompt_name in self.prompts:
71
+ context.set_code(grpc.StatusCode.ALREADY_EXISTS)
72
+ context.set_details("Prompt name already exists")
73
+ raise ValueError("Prompt name already exists")
74
+
75
+ if not self._is_prompt_name_valid(request.prompt_name):
76
+ context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
77
+ context.set_details("Bad Prompt name")
78
+ raise ValueError("Bad Prompt name")
79
+
80
+ prompt_version_definition = ProtoPromptVersionDefinition(
81
+ version_number=1,
82
+ version_spec=request.prompt_version_spec,
83
+ version_metadata=ProtoPromptVersionMetadata(
84
+ created_by="nirh@qwak.com", created_at=Timestamp().GetCurrentTime()
85
+ ),
86
+ )
87
+
88
+ prompt = ProtoPrompt(
89
+ name=request.prompt_name,
90
+ default_version_definition=prompt_version_definition,
91
+ metadata=ProtoPromptMetadata(
92
+ created_at=Timestamp().GetCurrentTime(), created_by="nirh@qwak.com"
93
+ ),
94
+ prompt_spec=ProtoPromptSpec(description=request.prompt_spec.description),
95
+ )
96
+
97
+ self.prompts[prompt.name] = prompt
98
+ self.prompts_next_version[prompt.name] = 2
99
+ self.prompts_versions[
100
+ (prompt.name, prompt.default_version_definition.version_number)
101
+ ] = prompt_version_definition
102
+
103
+ return ProtoCreatePromptResponse(prompt=prompt)
104
+
105
+ def CreatePromptVersion(self, request: ProtoCreatePromptVersionRequest, context):
106
+ """
107
+ Create new prompt version.
108
+ Set new version in versions dict.
109
+ Bump prompt next version.
110
+ Set default version if needed
111
+ """
112
+ self._raise_on_missing_prompt(prompt_name=request.prompt_name, context=context)
113
+
114
+ existing_prompt: ProtoPrompt = self.prompts[request.prompt_name]
115
+ new_prompt_version_number: int = self.prompts_next_version[request.prompt_name]
116
+ prompt_version_definition = ProtoPromptVersionDefinition(
117
+ version_number=new_prompt_version_number,
118
+ version_spec=request.prompt_version_spec,
119
+ version_metadata=ProtoPromptVersionMetadata(
120
+ created_by="nirh@qwak.com", created_at=Timestamp().GetCurrentTime()
121
+ ),
122
+ )
123
+
124
+ self.prompts_next_version[request.prompt_name] = new_prompt_version_number + 1
125
+
126
+ if request.set_default:
127
+ existing_prompt.default_version_definition.CopyFrom(
128
+ prompt_version_definition
129
+ )
130
+
131
+ self.prompts_versions[
132
+ (request.prompt_name, new_prompt_version_number)
133
+ ] = prompt_version_definition
134
+ return ProtoCreatePromptVersionResponse(
135
+ prompt_version=ProtoPromptVersion(
136
+ prompt_name=request.prompt_name,
137
+ prompt_version_definition=prompt_version_definition,
138
+ )
139
+ )
140
+
141
+ def UpdatePrompt(self, request: ProtoUpdatePromptRequest, context):
142
+ """Update Prompt"""
143
+ self._raise_on_missing_prompt(prompt_name=request.prompt_name, context=context)
144
+
145
+ existing_prompt: ProtoPrompt = self.prompts[request.prompt_name]
146
+ existing_prompt.prompt_spec.CopyFrom(request.prompt_spec)
147
+
148
+ return ProtoUpdatePromptResponse()
149
+
150
+ def GetPromptByName(self, request: ProtoGetPromptByNameRequest, context):
151
+ """Get prompt with its default version by name"""
152
+ self._raise_on_missing_prompt(prompt_name=request.prompt_name, context=context)
153
+
154
+ existing_prompt: ProtoPrompt = self.prompts[request.prompt_name]
155
+ return ProtoGetPromptByNameResponse(prompt=existing_prompt)
156
+
157
+ def GetPromptVersionByPromptName(
158
+ self, request: ProtoGetPromptVersionByPromptNameRequest, context
159
+ ):
160
+ """Get prompt version by name and optional version number"""
161
+
162
+ self._raise_on_missing_prompt(
163
+ prompt_name=request.prompt_name,
164
+ context=context,
165
+ )
166
+
167
+ self._raise_on_missing_prompt_version(
168
+ prompt_name=request.prompt_name,
169
+ version=request.version_number,
170
+ context=context,
171
+ )
172
+
173
+ return ProtoGetPromptVersionByPromptNameResponse(
174
+ prompt_version=ProtoPromptVersion(
175
+ prompt_name=request.prompt_name,
176
+ prompt_version_definition=self.prompts_versions[
177
+ (request.prompt_name, request.version_number)
178
+ ],
179
+ )
180
+ )
181
+
182
+ def DeletePrompt(self, request: ProtoDeletePromptRequest, context):
183
+ """Delete prompt"""
184
+ self._raise_on_missing_prompt(prompt_name=request.prompt_name, context=context)
185
+
186
+ del self.prompts[request.prompt_name]
187
+ del self.prompts_next_version[request.prompt_name]
188
+
189
+ versions_to_delete: List[int] = [
190
+ version
191
+ for (name, version) in self.prompts_versions.keys()
192
+ if name == request.prompt_name
193
+ ]
194
+
195
+ for v in versions_to_delete:
196
+ del self.prompts_versions[(request.prompt_name, v)]
197
+
198
+ return ProtoDeletePromptResponse()
199
+
200
+ def DeletePromptVersion(self, request: ProtoDeletePromptVersionRequest, context):
201
+ """Delete prompt version"""
202
+ self._raise_on_missing_prompt(
203
+ prompt_name=request.prompt_name,
204
+ context=context,
205
+ )
206
+
207
+ self._raise_on_missing_prompt_version(
208
+ prompt_name=request.prompt_name,
209
+ version=request.version_number,
210
+ context=context,
211
+ )
212
+
213
+ prompt_default_version: ProtoPrompt = self.prompts[request.prompt_name]
214
+ if (
215
+ prompt_default_version.default_version_definition.version_number
216
+ == request.version_number
217
+ ):
218
+ context.set_code(grpc.StatusCode.FAILED_PRECONDITION)
219
+ context.set_details("Can't delete prompt default version")
220
+ raise ValueError("Can't delete prompt default version")
221
+
222
+ del self.prompts_versions[(request.prompt_name, request.version_number)]
223
+ return ProtoDeletePromptVersionResponse()
224
+
225
+ def SetDefaultPromptVersion(
226
+ self, request: ProtoSetDefaultPromptVersionRequest, context
227
+ ):
228
+ """Set default prompt version"""
229
+ self._raise_on_missing_prompt(
230
+ prompt_name=request.prompt_name,
231
+ context=context,
232
+ )
233
+
234
+ self._raise_on_missing_prompt_version(
235
+ prompt_name=request.prompt_name,
236
+ version=request.version_number,
237
+ context=context,
238
+ )
239
+ existing_prompt: ProtoPrompt = self.prompts[request.prompt_name]
240
+ prompt_version_definition: ProtoPromptVersionDefinition = self.prompts_versions[
241
+ (request.prompt_name, request.version_number)
242
+ ]
243
+ existing_prompt.default_version_definition.CopyFrom(prompt_version_definition)
244
+ return ProtoSetDefaultPromptVersionResponse()
@@ -15,10 +15,12 @@ from qwak_services_mock.mocks.automation_management_service import (
15
15
  )
16
16
  from qwak_services_mock.mocks.autoscaling_service_api import AutoscalingServiceApiMock
17
17
  from qwak_services_mock.mocks.batch_job_manager_service import BatchJobManagerService
18
- from qwak_services_mock.mocks.build_management import BuildsManagementServiceMock
19
18
  from qwak_services_mock.mocks.build_orchestrator_build_api import (
20
19
  BuildOrchestratorBuildApiMock,
21
20
  )
21
+ from qwak_services_mock.mocks.build_orchestrator_build_settings_api import (
22
+ BuildOrchestratorBuildSettingsApiMock,
23
+ )
22
24
  from qwak_services_mock.mocks.build_orchestrator_service_api import (
23
25
  BuildOrchestratorServiceApiMock,
24
26
  )
@@ -43,23 +45,34 @@ from qwak_services_mock.mocks.features_operator_v3_service import (
43
45
  FeaturesOperatorV3ServiceMock,
44
46
  )
45
47
  from qwak_services_mock.mocks.file_versioning_service import FileVersioningServiceMock
48
+ from qwak_services_mock.mocks.fs_offline_serving_service import (
49
+ FsOfflineServingServiceMock,
50
+ )
46
51
  from qwak_services_mock.mocks.instance_template_management_service import (
47
52
  InstanceTemplateManagementServiceMock,
48
53
  )
54
+ from qwak_services_mock.mocks.integration_management_service import (
55
+ IntegrationManagementServiceMock,
56
+ )
49
57
  from qwak_services_mock.mocks.internal_build_orchestrator_service import (
50
58
  InternalBuildOrchestratorServiceMock,
51
59
  )
52
60
  from qwak_services_mock.mocks.job_registry_service_api import JobRegistryServiceApiMock
53
61
  from qwak_services_mock.mocks.kube_captain_service_api import KubeCaptainServiceApiMock
62
+ from qwak_services_mock.mocks.location_discovery_service_api import (
63
+ LocationDiscoveryServiceApiMock,
64
+ )
54
65
  from qwak_services_mock.mocks.logging_service import LoggingServiceApiMock
55
66
  from qwak_services_mock.mocks.model_management_service import (
56
67
  ModelsManagementServiceMock,
57
68
  )
58
69
  from qwak_services_mock.mocks.project_manager_service import ProjectManagerServiceMock
70
+ from qwak_services_mock.mocks.prompt_manager_service import PromptManagerServiceMock
59
71
  from qwak_services_mock.mocks.secret_service import SecretServiceMock
60
72
  from qwak_services_mock.mocks.self_service_user_service import (
61
73
  SelfServiceUserServiceMock,
62
74
  )
75
+ from qwak_services_mock.mocks.system_secret_service import SystemSecretServiceMock
63
76
  from qwak_services_mock.mocks.user_application_instance_service_api import (
64
77
  UserApplicationInstanceServiceApiMock,
65
78
  )
@@ -74,8 +87,8 @@ class QwakMocks:
74
87
  port: int
75
88
  build_orchestrator_build_api: BuildOrchestratorBuildApiMock
76
89
  build_orchestrator_service_api: BuildOrchestratorServiceApiMock
90
+ build_orchestrator_build_settings_api: BuildOrchestratorBuildSettingsApiMock
77
91
  internal_build_orchestrator_service: InternalBuildOrchestratorServiceMock
78
- build_management_service_mock: BuildsManagementServiceMock
79
92
  alert_manager_service_mock: AlertManagerServiceApiMock
80
93
  automation_management_service_mock: AutomationManagementServiceMock
81
94
  job_registry_service_mock: JobRegistryServiceApiMock
@@ -96,6 +109,7 @@ class QwakMocks:
96
109
  secret_service_mock: SecretServiceMock
97
110
  authentication_service_mock: AuthenticationServiceMock
98
111
  features_operator_service: FeaturesOperatorV3ServiceMock
112
+ fs_offline_serving_service: FsOfflineServingServiceMock
99
113
  fs_data_sources_service: DataSourceServiceMock
100
114
  fs_entities_service: EntityServiceMock
101
115
  fs_feature_sets_service: FeatureSetServiceMock
@@ -105,3 +119,7 @@ class QwakMocks:
105
119
  vector_serving_service: VectorServingServiceMock
106
120
  vector_collection_service: VectorCollectionManagementServiceMock
107
121
  execution_management_service: ExecutionManagementServiceMock
122
+ system_secret_service: SystemSecretServiceMock
123
+ integration_management_service: IntegrationManagementServiceMock
124
+ prompt_manager_service: PromptManagerServiceMock
125
+ location_discovery_service: LocationDiscoveryServiceApiMock
@@ -0,0 +1,54 @@
1
+ from typing import Dict, Tuple
2
+
3
+ import grpc
4
+ from _qwak_proto.qwak.admiral.secret.v0.secret_pb2 import (
5
+ EnvironmentSecretIdentifier,
6
+ SetSystemEnvironmentSecretOptions,
7
+ SystemSecretDefinition,
8
+ )
9
+ from _qwak_proto.qwak.admiral.secret.v0.system_secret_service_pb2 import (
10
+ DeleteSystemSecretRequest,
11
+ DeleteSystemSecretResponse,
12
+ GetSystemSecretRequest,
13
+ GetSystemSecretResponse,
14
+ SetSystemSecretRequest,
15
+ SetSystemSecretResponse,
16
+ )
17
+ from _qwak_proto.qwak.admiral.secret.v0.system_secret_service_pb2_grpc import (
18
+ SystemSecretServiceServicer,
19
+ )
20
+
21
+
22
+ class SystemSecretServiceMock(SystemSecretServiceServicer):
23
+ _secrets: Dict[Tuple[str, str], SystemSecretDefinition] = dict()
24
+
25
+ def clear(self):
26
+ self._secrets.clear()
27
+
28
+ def SetSystemSecret(self, request: SetSystemSecretRequest, context):
29
+ """Set a value for a secret"""
30
+
31
+ options: SetSystemEnvironmentSecretOptions = request.options
32
+ identifier: EnvironmentSecretIdentifier = options.identifier
33
+ definition: SystemSecretDefinition = SystemSecretDefinition(
34
+ identifier=identifier, spec=options.spec
35
+ )
36
+
37
+ self._secrets[(identifier.name, identifier.environment_id)] = definition
38
+ return SetSystemSecretResponse()
39
+
40
+ def DeleteSystemSecret(self, request: DeleteSystemSecretRequest, context):
41
+ """Delete secret"""
42
+ name: str = request.identifier.name
43
+ env_id: str = request.identifier.environment_id
44
+
45
+ if (name, env_id) in self._secrets:
46
+ del self._secrets[(name, env_id)]
47
+
48
+ return DeleteSystemSecretResponse()
49
+
50
+ def GetSystemSecret(self, request: GetSystemSecretRequest, context):
51
+ """Get secret"""
52
+ name: str = request.identifier.name
53
+ env_id: str = request.identifier.environment_id
54
+ return GetSystemSecretResponse(secret_definition=self._secrets[(name, env_id)])
@@ -2,10 +2,20 @@ from dataclasses import dataclass
2
2
  from typing import Dict, List
3
3
 
4
4
  import grpc
5
- from _qwak_proto.qwak.vectors.v1.vector_pb2 import DoubleVector, Property, SearchResult
5
+ from _qwak_proto.qwak.vectors.v1.vector_pb2 import (
6
+ DoubleVector,
7
+ Property,
8
+ SearchResult,
9
+ StoredVector,
10
+ VectorIdentifier,
11
+ )
6
12
  from _qwak_proto.qwak.vectors.v1.vector_service_pb2 import (
7
13
  DeleteVectorsResponse,
14
+ FetchVectorRequest,
15
+ FetchVectorResponse,
16
+ SearchSimilarVectorsRequest,
8
17
  SearchSimilarVectorsResponse,
18
+ UpsertVectorsRequest,
9
19
  UpsertVectorsResponse,
10
20
  )
11
21
  from _qwak_proto.qwak.vectors.v1.vector_service_pb2_grpc import VectorServiceServicer
@@ -45,7 +55,7 @@ class VectorServingServiceMock(VectorServiceServicer):
45
55
  collection = self._vector_collections[collection_name]
46
56
  return [collection.get(_id) for _id in vector_ids if _id in collection]
47
57
 
48
- def SearchSimilarVectors(self, request, context):
58
+ def SearchSimilarVectors(self, request: SearchSimilarVectorsRequest, context):
49
59
  if request.collection_name not in self._vector_collections:
50
60
  context.set_details(f"Collection named {request.collection} doesn't exist'")
51
61
  context.set_code(grpc.StatusCode.NOT_FOUND)
@@ -81,11 +91,12 @@ class VectorServingServiceMock(VectorServiceServicer):
81
91
  ]
82
92
  )
83
93
 
84
- def UpsertVectors(self, request, context):
94
+ def UpsertVectors(self, request: UpsertVectorsRequest, context):
85
95
  collection_store = self._vector_collections.get(request.collection_name, dict())
86
96
  for stored_vector in request.vector:
87
- collection_store[stored_vector.id] = {
88
- "id": stored_vector.id,
97
+ id = stored_vector.vector_identifier.vector_id
98
+ collection_store[id] = {
99
+ "id": id,
89
100
  "vector": list(stored_vector.vector.element),
90
101
  "properties": stored_vector.properties,
91
102
  }
@@ -103,9 +114,9 @@ class VectorServingServiceMock(VectorServiceServicer):
103
114
 
104
115
  collection_store = self._vector_collections[request.collection_name]
105
116
  ids_in_collection = [
106
- vector_id
107
- for vector_id in request.vector_id
108
- if vector_id in collection_store
117
+ vector_identifier.vector_id
118
+ for vector_identifier in request.vector_identifiers
119
+ if vector_identifier.vector_id in collection_store
109
120
  ]
110
121
  for id in ids_in_collection:
111
122
  collection_store.pop(id)
@@ -113,6 +124,31 @@ class VectorServingServiceMock(VectorServiceServicer):
113
124
  self._vector_collections[request.collection_name] = collection_store
114
125
  return DeleteVectorsResponse(num_vectors_deleted=len(ids_in_collection))
115
126
 
127
+ def FetchVector(self, request, context):
128
+ if request.collection_name not in self._vector_collections:
129
+ context.set_details(
130
+ f"Collection named {request.collection_name} doesn't exist'"
131
+ )
132
+ context.set_code(grpc.StatusCode.NOT_FOUND)
133
+ return
134
+
135
+ collection_store = self._vector_collections[request.collection_name]
136
+ vector_identifier = request.vector_identifier
137
+ vector_id = vector_identifier.vector_id
138
+ if vector_id not in collection_store:
139
+ context.set_details(f"Vector with id {vector_id} doesn't exist'")
140
+ context.set_code(grpc.StatusCode.NOT_FOUND)
141
+ return
142
+
143
+ stored_vector_dict = collection_store[vector_id]
144
+ return FetchVectorResponse(
145
+ vector=StoredVector(
146
+ vector_identifier=request.vector_identifier,
147
+ vector=DoubleVector(element=stored_vector_dict["vector"]),
148
+ properties=stored_vector_dict["properties"],
149
+ )
150
+ )
151
+
116
152
 
117
153
  def _cos_sim(a, b):
118
154
  return dot(a, b) / (norm(a) * norm(b))
@@ -3,20 +3,27 @@ import uuid
3
3
  from dataclasses import dataclass
4
4
 
5
5
  import grpc
6
-
7
6
  from _qwak_proto.qwak.user_application.common.v0.resources_pb2 import (
8
7
  ClientPodComputeResources,
9
8
  PodComputeResourceTemplateSpec,
10
9
  )
11
- from _qwak_proto.qwak.workspace.workspace_pb2 import Workspace, WorkspaceImage, DefaultWorkspaceDetails
10
+ from _qwak_proto.qwak.workspace.workspace_pb2 import (
11
+ DefaultWorkspaceDetails,
12
+ Workspace,
13
+ WorkspaceImage,
14
+ )
12
15
  from _qwak_proto.qwak.workspace.workspace_service_pb2 import (
16
+ CountWorkspacesRequest,
17
+ CountWorkspacesResponse,
13
18
  CreateWorkspaceResponse,
14
19
  DeleteWorkspaceResponse,
20
+ GetDefaultWorkspaceValuesRequest,
21
+ GetDefaultWorkspaceValuesResponse,
15
22
  GetWorkspaceByIdResponse,
16
23
  ListWorkspaceImagesResponse,
17
24
  ListWorkspacesResponse,
18
- UpdateWorkspaceResponse, CountWorkspacesRequest, CountWorkspacesResponse, GetDefaultWorkspaceValuesRequest,
19
- GetDefaultWorkspaceValuesResponse, )
25
+ UpdateWorkspaceResponse,
26
+ )
20
27
  from _qwak_proto.qwak.workspace.workspace_service_pb2_grpc import (
21
28
  WorkspaceManagementServiceServicer,
22
29
  )
@@ -28,6 +35,7 @@ DEFAULT_GPU_IMAGE = "3"
28
35
  DEFAULT_CPU_INSTANCE = "small"
29
36
  DEFAULT_GPU_INSTANCE = "g5_xlarge"
30
37
 
38
+
31
39
  @dataclass
32
40
  class WorkspaceData:
33
41
  id: str
@@ -163,19 +171,27 @@ class WorkspaceManagerServiceMock(WorkspaceManagementServiceServicer):
163
171
  workspace_images.append(WorkspaceImage(name=v, id=k))
164
172
  return ListWorkspaceImagesResponse(workspace_images=workspace_images)
165
173
 
166
- def CountWorkspaces(self, request: CountWorkspacesRequest, context) -> CountWorkspacesResponse:
174
+ def CountWorkspaces(
175
+ self, request: CountWorkspacesRequest, context
176
+ ) -> CountWorkspacesResponse:
167
177
  return CountWorkspacesResponse(count=len(self.workspaces))
168
178
 
169
- def GetDefaultWorkspaceValues(self, request: GetDefaultWorkspaceValuesRequest, context) -> GetDefaultWorkspaceValuesResponse:
179
+ def GetDefaultWorkspaceValues(
180
+ self, request: GetDefaultWorkspaceValuesRequest, context
181
+ ) -> GetDefaultWorkspaceValuesResponse:
170
182
  return GetDefaultWorkspaceValuesResponse(
171
183
  default_workspace_details=DefaultWorkspaceDetails(
172
184
  cpu_image_id=DEFAULT_CPU_IMAGE,
173
185
  gpu_image_id=DEFAULT_GPU_IMAGE,
174
186
  cpu_compute_resources=ClientPodComputeResources(
175
- template_spec=PodComputeResourceTemplateSpec(template_id=DEFAULT_CPU_INSTANCE)
187
+ template_spec=PodComputeResourceTemplateSpec(
188
+ template_id=DEFAULT_CPU_INSTANCE
189
+ )
176
190
  ),
177
191
  gpu_compute_resources=ClientPodComputeResources(
178
- template_spec=PodComputeResourceTemplateSpec(template_id=DEFAULT_GPU_INSTANCE)
192
+ template_spec=PodComputeResourceTemplateSpec(
193
+ template_id=DEFAULT_GPU_INSTANCE
194
+ )
179
195
  ),
180
196
  )
181
197
  )