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
@@ -30,7 +31,7 @@ class _FeatureSetTypeView:
30
31
  ValueType = typing.NewType("ValueType", builtins.int)
31
32
  V: typing_extensions.TypeAlias = ValueType
32
33
 
33
- class _FeatureSetTypeViewEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FeatureSetTypeView.ValueType], builtins.type): # noqa: F821
34
+ class _FeatureSetTypeViewEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FeatureSetTypeView.ValueType], builtins.type):
34
35
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
35
36
  FEATURE_SET_TYPE_VIEW_INVALID: _FeatureSetTypeView.ValueType # 0
36
37
  FEATURE_SET_TYPE_VIEW_BATCH: _FeatureSetTypeView.ValueType # 1
@@ -43,6 +44,7 @@ FEATURE_SET_TYPE_VIEW_BATCH: FeatureSetTypeView.ValueType # 1
43
44
  FEATURE_SET_TYPE_VIEW_STREAMING: FeatureSetTypeView.ValueType # 2
44
45
  global___FeatureSetTypeView = FeatureSetTypeView
45
46
 
47
+ @typing.final
46
48
  class FeatureSetType(google.protobuf.message.Message):
47
49
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
48
50
 
@@ -74,12 +76,13 @@ class FeatureSetType(google.protobuf.message.Message):
74
76
  batch_feature_set_v1: global___BatchFeatureSetV1 | None = ...,
75
77
  streaming_aggregation_feature_set: global___StreamingAggregationFeatureSet | None = ...,
76
78
  ) -> None: ...
77
- def HasField(self, field_name: typing_extensions.Literal["batch_feature_set", b"batch_feature_set", "batch_feature_set_v1", b"batch_feature_set_v1", "on_the_fly_feature_set", b"on_the_fly_feature_set", "set_type", b"set_type", "streaming_aggregation_feature_set", b"streaming_aggregation_feature_set", "streaming_feature_set", b"streaming_feature_set", "streaming_feature_set_v1", b"streaming_feature_set_v1"]) -> builtins.bool: ...
78
- def ClearField(self, field_name: typing_extensions.Literal["batch_feature_set", b"batch_feature_set", "batch_feature_set_v1", b"batch_feature_set_v1", "on_the_fly_feature_set", b"on_the_fly_feature_set", "set_type", b"set_type", "streaming_aggregation_feature_set", b"streaming_aggregation_feature_set", "streaming_feature_set", b"streaming_feature_set", "streaming_feature_set_v1", b"streaming_feature_set_v1"]) -> None: ...
79
- def WhichOneof(self, oneof_group: typing_extensions.Literal["set_type", b"set_type"]) -> typing_extensions.Literal["batch_feature_set", "on_the_fly_feature_set", "streaming_feature_set", "streaming_feature_set_v1", "batch_feature_set_v1", "streaming_aggregation_feature_set"] | None: ...
79
+ def HasField(self, field_name: typing.Literal["batch_feature_set", b"batch_feature_set", "batch_feature_set_v1", b"batch_feature_set_v1", "on_the_fly_feature_set", b"on_the_fly_feature_set", "set_type", b"set_type", "streaming_aggregation_feature_set", b"streaming_aggregation_feature_set", "streaming_feature_set", b"streaming_feature_set", "streaming_feature_set_v1", b"streaming_feature_set_v1"]) -> builtins.bool: ...
80
+ def ClearField(self, field_name: typing.Literal["batch_feature_set", b"batch_feature_set", "batch_feature_set_v1", b"batch_feature_set_v1", "on_the_fly_feature_set", b"on_the_fly_feature_set", "set_type", b"set_type", "streaming_aggregation_feature_set", b"streaming_aggregation_feature_set", "streaming_feature_set", b"streaming_feature_set", "streaming_feature_set_v1", b"streaming_feature_set_v1"]) -> None: ...
81
+ def WhichOneof(self, oneof_group: typing.Literal["set_type", b"set_type"]) -> typing.Literal["batch_feature_set", "on_the_fly_feature_set", "streaming_feature_set", "streaming_feature_set_v1", "batch_feature_set_v1", "streaming_aggregation_feature_set"] | None: ...
80
82
 
81
83
  global___FeatureSetType = FeatureSetType
82
84
 
85
+ @typing.final
83
86
  class BatchFeatureSet(google.protobuf.message.Message):
84
87
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
85
88
 
@@ -96,18 +99,23 @@ class BatchFeatureSet(google.protobuf.message.Message):
96
99
  """Data sources used by the feature set
97
100
  Will assume the DataSourceReadPolicy of these sources are of type ReadOnce
98
101
  """
102
+
99
103
  @property
100
104
  def backfill(self) -> global___Backfill:
101
105
  """Backfill strategy"""
106
+
102
107
  @property
103
108
  def function(self) -> global___Function:
104
109
  """Actual function code"""
110
+
105
111
  @property
106
112
  def feature_set_batch_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureSetBatchSource]:
107
113
  """Data sources and their properties which are used by the feature set"""
114
+
108
115
  @property
109
116
  def monitoring_configurations(self) -> frogml._proto.qwak.feature_store.features.monitoring_pb2.MonitoringConfigurations:
110
117
  """Monitoring configuration"""
118
+
111
119
  def __init__(
112
120
  self,
113
121
  *,
@@ -118,11 +126,12 @@ class BatchFeatureSet(google.protobuf.message.Message):
118
126
  feature_set_batch_sources: collections.abc.Iterable[global___FeatureSetBatchSource] | None = ...,
119
127
  monitoring_configurations: frogml._proto.qwak.feature_store.features.monitoring_pb2.MonitoringConfigurations | None = ...,
120
128
  ) -> None: ...
121
- def HasField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "function", b"function", "monitoring_configurations", b"monitoring_configurations"]) -> builtins.bool: ...
122
- def ClearField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "data_sources", b"data_sources", "feature_set_batch_sources", b"feature_set_batch_sources", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "scheduling_policy", b"scheduling_policy"]) -> None: ...
129
+ def HasField(self, field_name: typing.Literal["backfill", b"backfill", "function", b"function", "monitoring_configurations", b"monitoring_configurations"]) -> builtins.bool: ...
130
+ def ClearField(self, field_name: typing.Literal["backfill", b"backfill", "data_sources", b"data_sources", "feature_set_batch_sources", b"feature_set_batch_sources", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "scheduling_policy", b"scheduling_policy"]) -> None: ...
123
131
 
124
132
  global___BatchFeatureSet = BatchFeatureSet
125
133
 
134
+ @typing.final
126
135
  class BatchFeatureSetV1(google.protobuf.message.Message):
127
136
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
128
137
 
@@ -140,32 +149,38 @@ class BatchFeatureSetV1(google.protobuf.message.Message):
140
149
  REAL_TIME_FEATURE_EXTRACTOR_FIELD_NUMBER: builtins.int
141
150
  scheduling_policy: builtins.str
142
151
  """Scheduling policy of batch feature set. Can be a cron string format or @annotation: @daily, @monthly, @yearly"""
152
+ offline_sink: builtins.bool
153
+ """Is Feature set has offline store"""
154
+ online_sink: builtins.bool
155
+ """Is Feature set has online store"""
156
+ timestamp_column_name: builtins.str
157
+ """Name of the timestamp column (must exist in the result), i.e: event time column"""
158
+ qwak_internal_protocol_version: builtins.int
159
+ """Qwak featureset version"""
143
160
  @property
144
161
  def backfill(self) -> global___Backfill:
145
162
  """Backfill strategy"""
163
+
146
164
  @property
147
165
  def function(self) -> global___Function:
148
166
  """Actual function code"""
167
+
149
168
  @property
150
169
  def feature_set_batch_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureSetBatchSource]:
151
170
  """Data sources and their properties which are used by the feature set"""
171
+
152
172
  @property
153
173
  def execution_spec(self) -> frogml._proto.qwak.feature_store.features.execution_pb2.ExecutionSpec:
154
174
  """Execution Spec of the FeatureSet"""
155
- offline_sink: builtins.bool
156
- """Is Feature set has offline store"""
157
- online_sink: builtins.bool
158
- """Is Feature set has online store"""
175
+
159
176
  @property
160
177
  def monitoring_configurations(self) -> frogml._proto.qwak.feature_store.features.monitoring_pb2.MonitoringConfigurations:
161
178
  """Monitoring configuration"""
162
- timestamp_column_name: builtins.str
163
- """Name of the timestamp column (must exist in the result), i.e: event time column"""
179
+
164
180
  @property
165
181
  def transformation(self) -> global___Transformation:
166
182
  """Transformation"""
167
- qwak_internal_protocol_version: builtins.int
168
- """Qwak featureset version"""
183
+
169
184
  @property
170
185
  def real_time_feature_extractor(self) -> frogml._proto.qwak.feature_store.features.real_time_feature_extractor_pb2.RealTimeFeatureExtractor: ...
171
186
  def __init__(
@@ -184,12 +199,13 @@ class BatchFeatureSetV1(google.protobuf.message.Message):
184
199
  qwak_internal_protocol_version: builtins.int = ...,
185
200
  real_time_feature_extractor: frogml._proto.qwak.feature_store.features.real_time_feature_extractor_pb2.RealTimeFeatureExtractor | None = ...,
186
201
  ) -> None: ...
187
- def HasField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "execution_spec", b"execution_spec", "feature_extractor", b"feature_extractor", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "real_time_feature_extractor", b"real_time_feature_extractor", "transformation", b"transformation"]) -> builtins.bool: ...
188
- def ClearField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "execution_spec", b"execution_spec", "feature_extractor", b"feature_extractor", "feature_set_batch_sources", b"feature_set_batch_sources", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "offline_sink", b"offline_sink", "online_sink", b"online_sink", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "real_time_feature_extractor", b"real_time_feature_extractor", "scheduling_policy", b"scheduling_policy", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
189
- def WhichOneof(self, oneof_group: typing_extensions.Literal["feature_extractor", b"feature_extractor"]) -> typing_extensions.Literal["real_time_feature_extractor"] | None: ...
202
+ def HasField(self, field_name: typing.Literal["backfill", b"backfill", "execution_spec", b"execution_spec", "feature_extractor", b"feature_extractor", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "real_time_feature_extractor", b"real_time_feature_extractor", "transformation", b"transformation"]) -> builtins.bool: ...
203
+ def ClearField(self, field_name: typing.Literal["backfill", b"backfill", "execution_spec", b"execution_spec", "feature_extractor", b"feature_extractor", "feature_set_batch_sources", b"feature_set_batch_sources", "function", b"function", "monitoring_configurations", b"monitoring_configurations", "offline_sink", b"offline_sink", "online_sink", b"online_sink", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "real_time_feature_extractor", b"real_time_feature_extractor", "scheduling_policy", b"scheduling_policy", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
204
+ def WhichOneof(self, oneof_group: typing.Literal["feature_extractor", b"feature_extractor"]) -> typing.Literal["real_time_feature_extractor"] | None: ...
190
205
 
191
206
  global___BatchFeatureSetV1 = BatchFeatureSetV1
192
207
 
208
+ @typing.final
193
209
  class FeatureSetBatchSource(google.protobuf.message.Message):
194
210
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
195
211
 
@@ -198,20 +214,23 @@ class FeatureSetBatchSource(google.protobuf.message.Message):
198
214
  @property
199
215
  def data_source(self) -> frogml._proto.qwak.feature_store.sources.batch_pb2.BatchSource:
200
216
  """Batch data source definition"""
217
+
201
218
  @property
202
219
  def read_policy(self) -> global___DataSourceReadPolicy:
203
220
  """Read policy of this batch source"""
221
+
204
222
  def __init__(
205
223
  self,
206
224
  *,
207
225
  data_source: frogml._proto.qwak.feature_store.sources.batch_pb2.BatchSource | None = ...,
208
226
  read_policy: global___DataSourceReadPolicy | None = ...,
209
227
  ) -> None: ...
210
- def HasField(self, field_name: typing_extensions.Literal["data_source", b"data_source", "read_policy", b"read_policy"]) -> builtins.bool: ...
211
- def ClearField(self, field_name: typing_extensions.Literal["data_source", b"data_source", "read_policy", b"read_policy"]) -> None: ...
228
+ def HasField(self, field_name: typing.Literal["data_source", b"data_source", "read_policy", b"read_policy"]) -> builtins.bool: ...
229
+ def ClearField(self, field_name: typing.Literal["data_source", b"data_source", "read_policy", b"read_policy"]) -> None: ...
212
230
 
213
231
  global___FeatureSetBatchSource = FeatureSetBatchSource
214
232
 
233
+ @typing.final
215
234
  class StreamingFeatureSet(google.protobuf.message.Message):
216
235
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
217
236
 
@@ -219,15 +238,17 @@ class StreamingFeatureSet(google.protobuf.message.Message):
219
238
  @property
220
239
  def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sources.streaming_pb2.StreamingSource]:
221
240
  """Data sources used by the feature"""
241
+
222
242
  def __init__(
223
243
  self,
224
244
  *,
225
245
  data_sources: collections.abc.Iterable[qwak.feature_store.sources.streaming_pb2.StreamingSource] | None = ...,
226
246
  ) -> None: ...
227
- def ClearField(self, field_name: typing_extensions.Literal["data_sources", b"data_sources"]) -> None: ...
247
+ def ClearField(self, field_name: typing.Literal["data_sources", b"data_sources"]) -> None: ...
228
248
 
229
249
  global___StreamingFeatureSet = StreamingFeatureSet
230
250
 
251
+ @typing.final
231
252
  class StreamingFeatureSetV1(google.protobuf.message.Message):
232
253
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
233
254
 
@@ -239,15 +260,6 @@ class StreamingFeatureSetV1(google.protobuf.message.Message):
239
260
  OFFLINE_SCHEDULING_POLICY_FIELD_NUMBER: builtins.int
240
261
  QWAK_INTERNAL_PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
241
262
  AUXILIARY_SINKS_FIELD_NUMBER: builtins.int
242
- @property
243
- def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sources.streaming_pb2.StreamingSource]:
244
- """Data sources used by the FeatureSet"""
245
- @property
246
- def transformation(self) -> global___Transformation:
247
- """transformation flavour"""
248
- @property
249
- def execution_spec(self) -> frogml._proto.qwak.feature_store.features.execution_pb2.StreamingExecutionSpec:
250
- """Execution Spec of the FeatureSet"""
251
263
  timestamp_column_name: builtins.str
252
264
  """Name of the timestamp column (must exist in the result),
253
265
  used for creating a total order over the events
@@ -258,9 +270,22 @@ class StreamingFeatureSetV1(google.protobuf.message.Message):
258
270
  """scheduling policy for the offline jobs"""
259
271
  qwak_internal_protocol_version: builtins.int
260
272
  """Qwak featureset version"""
273
+ @property
274
+ def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sources.streaming_pb2.StreamingSource]:
275
+ """Data sources used by the FeatureSet"""
276
+
277
+ @property
278
+ def transformation(self) -> global___Transformation:
279
+ """transformation flavour"""
280
+
281
+ @property
282
+ def execution_spec(self) -> frogml._proto.qwak.feature_store.features.execution_pb2.StreamingExecutionSpec:
283
+ """Execution Spec of the FeatureSet"""
284
+
261
285
  @property
262
286
  def auxiliary_sinks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sinks.sink_pb2.StreamingSink]:
263
287
  """Auxiliary Sinks defined for this Featureset"""
288
+
264
289
  def __init__(
265
290
  self,
266
291
  *,
@@ -273,11 +298,12 @@ class StreamingFeatureSetV1(google.protobuf.message.Message):
273
298
  qwak_internal_protocol_version: builtins.int = ...,
274
299
  auxiliary_sinks: collections.abc.Iterable[qwak.feature_store.sinks.sink_pb2.StreamingSink] | None = ...,
275
300
  ) -> None: ...
276
- def HasField(self, field_name: typing_extensions.Literal["execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
277
- def ClearField(self, field_name: typing_extensions.Literal["auxiliary_sinks", b"auxiliary_sinks", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "offline_scheduling_policy", b"offline_scheduling_policy", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
301
+ def HasField(self, field_name: typing.Literal["execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
302
+ def ClearField(self, field_name: typing.Literal["auxiliary_sinks", b"auxiliary_sinks", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "offline_scheduling_policy", b"offline_scheduling_policy", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
278
303
 
279
304
  global___StreamingFeatureSetV1 = StreamingFeatureSetV1
280
305
 
306
+ @typing.final
281
307
  class StreamingAggregationFeatureSet(google.protobuf.message.Message):
282
308
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
283
309
 
@@ -290,31 +316,41 @@ class StreamingAggregationFeatureSet(google.protobuf.message.Message):
290
316
  AGGREGATION_SPEC_FIELD_NUMBER: builtins.int
291
317
  BACKFILL_SPEC_FIELD_NUMBER: builtins.int
292
318
  QWAK_INTERNAL_PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
319
+ BACKFILL_MAX_TIMESTAMP_FIELD_NUMBER: builtins.int
320
+ timestamp_column_name: builtins.str
321
+ """Name of the timestamp column (must exist in the result),
322
+ used for creating a total order over the events
323
+ """
324
+ online_trigger_interval: builtins.int
325
+ """Trigger interval for the Online, in seconds"""
326
+ compaction_scheduling_policy: builtins.str
327
+ """scheduling policy for the compaction job, cron expression"""
328
+ qwak_internal_protocol_version: builtins.int
329
+ """Qwak featureset version"""
293
330
  @property
294
331
  def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sources.streaming_pb2.StreamingSource]:
295
332
  """Data sources used by the FeatureSet"""
333
+
296
334
  @property
297
335
  def transformation(self) -> global___Transformation:
298
336
  """transformation flavour"""
337
+
299
338
  @property
300
339
  def execution_spec(self) -> frogml._proto.qwak.feature_store.features.execution_pb2.StreamingExecutionSpec:
301
340
  """Execution Spec of the FeatureSet"""
302
- timestamp_column_name: builtins.str
303
- """Name of the timestamp column (must exist in the result),
304
- used for creating a total order over the events
305
- """
306
- online_trigger_interval: builtins.int
307
- """Trigger interval for the Online, in seconds"""
308
- compaction_scheduling_policy: builtins.str
309
- """scheduling policy for the compaction job, cron expression"""
341
+
310
342
  @property
311
343
  def aggregation_spec(self) -> global___AggregationSpec:
312
344
  """Aggregation spec for the feature set"""
345
+
313
346
  @property
314
347
  def backfill_spec(self) -> global___BackfillSpec:
315
348
  """Backfill spec"""
316
- qwak_internal_protocol_version: builtins.int
317
- """Qwak featureset version"""
349
+
350
+ @property
351
+ def backfill_max_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
352
+ """Event-time cutoff point between backfill jobs and compaction/row-level jobs"""
353
+
318
354
  def __init__(
319
355
  self,
320
356
  *,
@@ -327,12 +363,14 @@ class StreamingAggregationFeatureSet(google.protobuf.message.Message):
327
363
  aggregation_spec: global___AggregationSpec | None = ...,
328
364
  backfill_spec: global___BackfillSpec | None = ...,
329
365
  qwak_internal_protocol_version: builtins.int = ...,
366
+ backfill_max_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
330
367
  ) -> None: ...
331
- def HasField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_spec", b"backfill_spec", "execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
332
- def ClearField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_spec", b"backfill_spec", "compaction_scheduling_policy", b"compaction_scheduling_policy", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
368
+ def HasField(self, field_name: typing.Literal["aggregation_spec", b"aggregation_spec", "backfill_max_timestamp", b"backfill_max_timestamp", "backfill_spec", b"backfill_spec", "execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
369
+ def ClearField(self, field_name: typing.Literal["aggregation_spec", b"aggregation_spec", "backfill_max_timestamp", b"backfill_max_timestamp", "backfill_spec", b"backfill_spec", "compaction_scheduling_policy", b"compaction_scheduling_policy", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
333
370
 
334
371
  global___StreamingAggregationFeatureSet = StreamingAggregationFeatureSet
335
372
 
373
+ @typing.final
336
374
  class BackfillBatchDataSourceSpec(google.protobuf.message.Message):
337
375
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
338
376
 
@@ -342,12 +380,15 @@ class BackfillBatchDataSourceSpec(google.protobuf.message.Message):
342
380
  @property
343
381
  def data_source(self) -> frogml._proto.qwak.feature_store.sources.batch_pb2.BatchSource:
344
382
  """Batch data source"""
383
+
345
384
  @property
346
385
  def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
347
386
  """Optional start timestamp"""
387
+
348
388
  @property
349
389
  def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
350
390
  """Optional end timestamp"""
391
+
351
392
  def __init__(
352
393
  self,
353
394
  *,
@@ -355,11 +396,12 @@ class BackfillBatchDataSourceSpec(google.protobuf.message.Message):
355
396
  start_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
356
397
  end_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
357
398
  ) -> None: ...
358
- def HasField(self, field_name: typing_extensions.Literal["data_source", b"data_source", "end_timestamp", b"end_timestamp", "start_timestamp", b"start_timestamp"]) -> builtins.bool: ...
359
- def ClearField(self, field_name: typing_extensions.Literal["data_source", b"data_source", "end_timestamp", b"end_timestamp", "start_timestamp", b"start_timestamp"]) -> None: ...
399
+ def HasField(self, field_name: typing.Literal["data_source", b"data_source", "end_timestamp", b"end_timestamp", "start_timestamp", b"start_timestamp"]) -> builtins.bool: ...
400
+ def ClearField(self, field_name: typing.Literal["data_source", b"data_source", "end_timestamp", b"end_timestamp", "start_timestamp", b"start_timestamp"]) -> None: ...
360
401
 
361
402
  global___BackfillBatchDataSourceSpec = BackfillBatchDataSourceSpec
362
403
 
404
+ @typing.final
363
405
  class BackfillDataSourceSpec(google.protobuf.message.Message):
364
406
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
365
407
 
@@ -371,12 +413,13 @@ class BackfillDataSourceSpec(google.protobuf.message.Message):
371
413
  *,
372
414
  batch_data_source_spec: global___BackfillBatchDataSourceSpec | None = ...,
373
415
  ) -> None: ...
374
- def HasField(self, field_name: typing_extensions.Literal["batch_data_source_spec", b"batch_data_source_spec", "type", b"type"]) -> builtins.bool: ...
375
- def ClearField(self, field_name: typing_extensions.Literal["batch_data_source_spec", b"batch_data_source_spec", "type", b"type"]) -> None: ...
376
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["batch_data_source_spec"] | None: ...
416
+ def HasField(self, field_name: typing.Literal["batch_data_source_spec", b"batch_data_source_spec", "type", b"type"]) -> builtins.bool: ...
417
+ def ClearField(self, field_name: typing.Literal["batch_data_source_spec", b"batch_data_source_spec", "type", b"type"]) -> None: ...
418
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["batch_data_source_spec"] | None: ...
377
419
 
378
420
  global___BackfillDataSourceSpec = BackfillDataSourceSpec
379
421
 
422
+ @typing.final
380
423
  class BackfillSpec(google.protobuf.message.Message):
381
424
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
382
425
 
@@ -388,15 +431,19 @@ class BackfillSpec(google.protobuf.message.Message):
388
431
  @property
389
432
  def execution_spec(self) -> frogml._proto.qwak.feature_store.features.execution_pb2.BackfillExecutionSpec:
390
433
  """Backfill resource spec"""
434
+
391
435
  @property
392
436
  def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
393
437
  """Backfill start timestamp"""
438
+
394
439
  @property
395
440
  def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
396
441
  """Backfill end timestamp"""
442
+
397
443
  @property
398
444
  def transformation(self) -> global___Transformation:
399
445
  """Transformation"""
446
+
400
447
  @property
401
448
  def data_source_specs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BackfillDataSourceSpec]: ...
402
449
  def __init__(
@@ -408,24 +455,26 @@ class BackfillSpec(google.protobuf.message.Message):
408
455
  transformation: global___Transformation | None = ...,
409
456
  data_source_specs: collections.abc.Iterable[global___BackfillDataSourceSpec] | None = ...,
410
457
  ) -> None: ...
411
- def HasField(self, field_name: typing_extensions.Literal["end_timestamp", b"end_timestamp", "execution_spec", b"execution_spec", "start_timestamp", b"start_timestamp", "transformation", b"transformation"]) -> builtins.bool: ...
412
- def ClearField(self, field_name: typing_extensions.Literal["data_source_specs", b"data_source_specs", "end_timestamp", b"end_timestamp", "execution_spec", b"execution_spec", "start_timestamp", b"start_timestamp", "transformation", b"transformation"]) -> None: ...
458
+ def HasField(self, field_name: typing.Literal["end_timestamp", b"end_timestamp", "execution_spec", b"execution_spec", "start_timestamp", b"start_timestamp", "transformation", b"transformation"]) -> builtins.bool: ...
459
+ def ClearField(self, field_name: typing.Literal["data_source_specs", b"data_source_specs", "end_timestamp", b"end_timestamp", "execution_spec", b"execution_spec", "start_timestamp", b"start_timestamp", "transformation", b"transformation"]) -> None: ...
413
460
 
414
461
  global___BackfillSpec = BackfillSpec
415
462
 
463
+ @typing.final
416
464
  class AggregationSpec(google.protobuf.message.Message):
417
465
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
418
466
 
419
467
  AGGREGATIONS_FIELD_NUMBER: builtins.int
420
468
  SLIDE_SECONDS_FIELD_NUMBER: builtins.int
421
469
  ALLOWED_LATE_ARRIVAL_SECONDS_FIELD_NUMBER: builtins.int
422
- @property
423
- def aggregations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.features.aggregation_pb2.AggregationField]:
424
- """List of aggregations"""
425
470
  slide_seconds: builtins.int
426
471
  """Aggregation slide in seconds"""
427
472
  allowed_late_arrival_seconds: builtins.int
428
473
  """Watermark"""
474
+ @property
475
+ def aggregations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.features.aggregation_pb2.AggregationField]:
476
+ """List of aggregations"""
477
+
429
478
  def __init__(
430
479
  self,
431
480
  *,
@@ -433,10 +482,11 @@ class AggregationSpec(google.protobuf.message.Message):
433
482
  slide_seconds: builtins.int = ...,
434
483
  allowed_late_arrival_seconds: builtins.int = ...,
435
484
  ) -> None: ...
436
- def ClearField(self, field_name: typing_extensions.Literal["aggregations", b"aggregations", "allowed_late_arrival_seconds", b"allowed_late_arrival_seconds", "slide_seconds", b"slide_seconds"]) -> None: ...
485
+ def ClearField(self, field_name: typing.Literal["aggregations", b"aggregations", "allowed_late_arrival_seconds", b"allowed_late_arrival_seconds", "slide_seconds", b"slide_seconds"]) -> None: ...
437
486
 
438
487
  global___AggregationSpec = AggregationSpec
439
488
 
489
+ @typing.final
440
490
  class Transformation(google.protobuf.message.Message):
441
491
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
442
492
 
@@ -446,22 +496,27 @@ class Transformation(google.protobuf.message.Message):
446
496
  PYSPARK_TRANSFORMATION_FIELD_NUMBER: builtins.int
447
497
  PANDAS_ON_SPARK_TRANSFORMATION_FIELD_NUMBER: builtins.int
448
498
  ARTIFACT_PATH_FIELD_NUMBER: builtins.int
499
+ artifact_path: builtins.str
449
500
  @property
450
501
  def udf_transformation(self) -> global___UdfTransformation:
451
502
  """UDF Transformation - a pandas_udf that gets the entire row"""
503
+
452
504
  @property
453
505
  def sql_transformation(self) -> global___SqlTransformation:
454
506
  """User provided sql"""
507
+
455
508
  @property
456
509
  def koalas_transformation(self) -> global___KoalasTransformation:
457
510
  """Koalas provided transformation"""
511
+
458
512
  @property
459
513
  def pyspark_transformation(self) -> global___PySparkTransformation:
460
514
  """PySpark provided transformation"""
515
+
461
516
  @property
462
517
  def pandas_on_spark_transformation(self) -> global___PandasOnSparkTransformation:
463
518
  """Pandas provided transformation"""
464
- artifact_path: builtins.str
519
+
465
520
  def __init__(
466
521
  self,
467
522
  *,
@@ -472,12 +527,13 @@ class Transformation(google.protobuf.message.Message):
472
527
  pandas_on_spark_transformation: global___PandasOnSparkTransformation | None = ...,
473
528
  artifact_path: builtins.str = ...,
474
529
  ) -> None: ...
475
- def HasField(self, field_name: typing_extensions.Literal["koalas_transformation", b"koalas_transformation", "pandas_on_spark_transformation", b"pandas_on_spark_transformation", "pyspark_transformation", b"pyspark_transformation", "sql_transformation", b"sql_transformation", "type", b"type", "udf_transformation", b"udf_transformation"]) -> builtins.bool: ...
476
- def ClearField(self, field_name: typing_extensions.Literal["artifact_path", b"artifact_path", "koalas_transformation", b"koalas_transformation", "pandas_on_spark_transformation", b"pandas_on_spark_transformation", "pyspark_transformation", b"pyspark_transformation", "sql_transformation", b"sql_transformation", "type", b"type", "udf_transformation", b"udf_transformation"]) -> None: ...
477
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["udf_transformation", "sql_transformation", "koalas_transformation", "pyspark_transformation", "pandas_on_spark_transformation"] | None: ...
530
+ def HasField(self, field_name: typing.Literal["koalas_transformation", b"koalas_transformation", "pandas_on_spark_transformation", b"pandas_on_spark_transformation", "pyspark_transformation", b"pyspark_transformation", "sql_transformation", b"sql_transformation", "type", b"type", "udf_transformation", b"udf_transformation"]) -> builtins.bool: ...
531
+ def ClearField(self, field_name: typing.Literal["artifact_path", b"artifact_path", "koalas_transformation", b"koalas_transformation", "pandas_on_spark_transformation", b"pandas_on_spark_transformation", "pyspark_transformation", b"pyspark_transformation", "sql_transformation", b"sql_transformation", "type", b"type", "udf_transformation", b"udf_transformation"]) -> None: ...
532
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["udf_transformation", "sql_transformation", "koalas_transformation", "pyspark_transformation", "pandas_on_spark_transformation"] | None: ...
478
533
 
479
534
  global___Transformation = Transformation
480
535
 
536
+ @typing.final
481
537
  class UdfTransformation(google.protobuf.message.Message):
482
538
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
483
539
 
@@ -489,10 +545,11 @@ class UdfTransformation(google.protobuf.message.Message):
489
545
  *,
490
546
  function_name: builtins.str = ...,
491
547
  ) -> None: ...
492
- def ClearField(self, field_name: typing_extensions.Literal["function_name", b"function_name"]) -> None: ...
548
+ def ClearField(self, field_name: typing.Literal["function_name", b"function_name"]) -> None: ...
493
549
 
494
550
  global___UdfTransformation = UdfTransformation
495
551
 
552
+ @typing.final
496
553
  class SqlTransformation(google.protobuf.message.Message):
497
554
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
498
555
 
@@ -503,16 +560,18 @@ class SqlTransformation(google.protobuf.message.Message):
503
560
  @property
504
561
  def function_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
505
562
  """The user defined functions names"""
563
+
506
564
  def __init__(
507
565
  self,
508
566
  *,
509
567
  sql: builtins.str = ...,
510
568
  function_names: collections.abc.Iterable[builtins.str] | None = ...,
511
569
  ) -> None: ...
512
- def ClearField(self, field_name: typing_extensions.Literal["function_names", b"function_names", "sql", b"sql"]) -> None: ...
570
+ def ClearField(self, field_name: typing.Literal["function_names", b"function_names", "sql", b"sql"]) -> None: ...
513
571
 
514
572
  global___SqlTransformation = SqlTransformation
515
573
 
574
+ @typing.final
516
575
  class KoalasTransformation(google.protobuf.message.Message):
517
576
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
518
577
 
@@ -528,12 +587,13 @@ class KoalasTransformation(google.protobuf.message.Message):
528
587
  function_name: builtins.str = ...,
529
588
  qwargs: global___TransformArguments | None = ...,
530
589
  ) -> None: ...
531
- def HasField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
532
- def ClearField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
533
- def WhichOneof(self, oneof_group: typing_extensions.Literal["args_option", b"args_option"]) -> typing_extensions.Literal["qwargs"] | None: ...
590
+ def HasField(self, field_name: typing.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
591
+ def ClearField(self, field_name: typing.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
592
+ def WhichOneof(self, oneof_group: typing.Literal["args_option", b"args_option"]) -> typing.Literal["qwargs"] | None: ...
534
593
 
535
594
  global___KoalasTransformation = KoalasTransformation
536
595
 
596
+ @typing.final
537
597
  class PySparkTransformation(google.protobuf.message.Message):
538
598
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
539
599
 
@@ -549,12 +609,13 @@ class PySparkTransformation(google.protobuf.message.Message):
549
609
  function_name: builtins.str = ...,
550
610
  qwargs: global___TransformArguments | None = ...,
551
611
  ) -> None: ...
552
- def HasField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
553
- def ClearField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
554
- def WhichOneof(self, oneof_group: typing_extensions.Literal["args_option", b"args_option"]) -> typing_extensions.Literal["qwargs"] | None: ...
612
+ def HasField(self, field_name: typing.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
613
+ def ClearField(self, field_name: typing.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
614
+ def WhichOneof(self, oneof_group: typing.Literal["args_option", b"args_option"]) -> typing.Literal["qwargs"] | None: ...
555
615
 
556
616
  global___PySparkTransformation = PySparkTransformation
557
617
 
618
+ @typing.final
558
619
  class PandasOnSparkTransformation(google.protobuf.message.Message):
559
620
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
560
621
 
@@ -570,15 +631,17 @@ class PandasOnSparkTransformation(google.protobuf.message.Message):
570
631
  function_name: builtins.str = ...,
571
632
  qwargs: global___TransformArguments | None = ...,
572
633
  ) -> None: ...
573
- def HasField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
574
- def ClearField(self, field_name: typing_extensions.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
575
- def WhichOneof(self, oneof_group: typing_extensions.Literal["args_option", b"args_option"]) -> typing_extensions.Literal["qwargs"] | None: ...
634
+ def HasField(self, field_name: typing.Literal["args_option", b"args_option", "qwargs", b"qwargs"]) -> builtins.bool: ...
635
+ def ClearField(self, field_name: typing.Literal["args_option", b"args_option", "function_name", b"function_name", "qwargs", b"qwargs"]) -> None: ...
636
+ def WhichOneof(self, oneof_group: typing.Literal["args_option", b"args_option"]) -> typing.Literal["qwargs"] | None: ...
576
637
 
577
638
  global___PandasOnSparkTransformation = PandasOnSparkTransformation
578
639
 
640
+ @typing.final
579
641
  class TransformArguments(google.protobuf.message.Message):
580
642
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
581
643
 
644
+ @typing.final
582
645
  class QwargsEntry(google.protobuf.message.Message):
583
646
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
584
647
 
@@ -592,7 +655,7 @@ class TransformArguments(google.protobuf.message.Message):
592
655
  key: builtins.str = ...,
593
656
  value: builtins.str = ...,
594
657
  ) -> None: ...
595
- def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
658
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
596
659
 
597
660
  QWARGS_FIELD_NUMBER: builtins.int
598
661
  @property
@@ -602,31 +665,34 @@ class TransformArguments(google.protobuf.message.Message):
602
665
  *,
603
666
  qwargs: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
604
667
  ) -> None: ...
605
- def ClearField(self, field_name: typing_extensions.Literal["qwargs", b"qwargs"]) -> None: ...
668
+ def ClearField(self, field_name: typing.Literal["qwargs", b"qwargs"]) -> None: ...
606
669
 
607
670
  global___TransformArguments = TransformArguments
608
671
 
672
+ @typing.final
609
673
  class OnTheFlyFeatureSet(google.protobuf.message.Message):
610
674
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
611
675
 
612
676
  FUNCTION_FIELD_NUMBER: builtins.int
613
677
  REQUIREMENTS_FIELD_NUMBER: builtins.int
678
+ requirements: builtins.bytes
679
+ """The needed requirements"""
614
680
  @property
615
681
  def function(self) -> global___UdfFunction:
616
682
  """Actual function code"""
617
- requirements: builtins.bytes
618
- """The needed requirements"""
683
+
619
684
  def __init__(
620
685
  self,
621
686
  *,
622
687
  function: global___UdfFunction | None = ...,
623
688
  requirements: builtins.bytes = ...,
624
689
  ) -> None: ...
625
- def HasField(self, field_name: typing_extensions.Literal["function", b"function"]) -> builtins.bool: ...
626
- def ClearField(self, field_name: typing_extensions.Literal["function", b"function", "requirements", b"requirements"]) -> None: ...
690
+ def HasField(self, field_name: typing.Literal["function", b"function"]) -> builtins.bool: ...
691
+ def ClearField(self, field_name: typing.Literal["function", b"function", "requirements", b"requirements"]) -> None: ...
627
692
 
628
693
  global___OnTheFlyFeatureSet = OnTheFlyFeatureSet
629
694
 
695
+ @typing.final
630
696
  class Function(google.protobuf.message.Message):
631
697
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
632
698
 
@@ -642,12 +708,13 @@ class Function(google.protobuf.message.Message):
642
708
  sql_function: global___SqlFunction | None = ...,
643
709
  udf_function: global___UdfFunction | None = ...,
644
710
  ) -> None: ...
645
- def HasField(self, field_name: typing_extensions.Literal["sql_function", b"sql_function", "type", b"type", "udf_function", b"udf_function"]) -> builtins.bool: ...
646
- def ClearField(self, field_name: typing_extensions.Literal["sql_function", b"sql_function", "type", b"type", "udf_function", b"udf_function"]) -> None: ...
647
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["sql_function", "udf_function"] | None: ...
711
+ def HasField(self, field_name: typing.Literal["sql_function", b"sql_function", "type", b"type", "udf_function", b"udf_function"]) -> builtins.bool: ...
712
+ def ClearField(self, field_name: typing.Literal["sql_function", b"sql_function", "type", b"type", "udf_function", b"udf_function"]) -> None: ...
713
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["sql_function", "udf_function"] | None: ...
648
714
 
649
715
  global___Function = Function
650
716
 
717
+ @typing.final
651
718
  class Backfill(google.protobuf.message.Message):
652
719
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
653
720
 
@@ -655,7 +722,7 @@ class Backfill(google.protobuf.message.Message):
655
722
  ValueType = typing.NewType("ValueType", builtins.int)
656
723
  V: typing_extensions.TypeAlias = ValueType
657
724
 
658
- class _FillUpMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Backfill._FillUpMethod.ValueType], builtins.type): # noqa: F821
725
+ class _FillUpMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Backfill._FillUpMethod.ValueType], builtins.type):
659
726
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
660
727
  AS_SCHEDULED: Backfill._FillUpMethod.ValueType # 0
661
728
  SNAPSHOT: Backfill._FillUpMethod.ValueType # 1
@@ -668,21 +735,23 @@ class Backfill(google.protobuf.message.Message):
668
735
 
669
736
  START_DATE_FIELD_NUMBER: builtins.int
670
737
  FILLUP_METHOD_FIELD_NUMBER: builtins.int
738
+ fillup_method: global___Backfill.FillUpMethod.ValueType
671
739
  @property
672
740
  def start_date(self) -> google.protobuf.timestamp_pb2.Timestamp:
673
741
  """Backfill start date"""
674
- fillup_method: global___Backfill.FillUpMethod.ValueType
742
+
675
743
  def __init__(
676
744
  self,
677
745
  *,
678
746
  start_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
679
747
  fillup_method: global___Backfill.FillUpMethod.ValueType = ...,
680
748
  ) -> None: ...
681
- def HasField(self, field_name: typing_extensions.Literal["start_date", b"start_date"]) -> builtins.bool: ...
682
- def ClearField(self, field_name: typing_extensions.Literal["fillup_method", b"fillup_method", "start_date", b"start_date"]) -> None: ...
749
+ def HasField(self, field_name: typing.Literal["start_date", b"start_date"]) -> builtins.bool: ...
750
+ def ClearField(self, field_name: typing.Literal["fillup_method", b"fillup_method", "start_date", b"start_date"]) -> None: ...
683
751
 
684
752
  global___Backfill = Backfill
685
753
 
754
+ @typing.final
686
755
  class SqlFunction(google.protobuf.message.Message):
687
756
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
688
757
 
@@ -693,10 +762,11 @@ class SqlFunction(google.protobuf.message.Message):
693
762
  *,
694
763
  sql: builtins.str = ...,
695
764
  ) -> None: ...
696
- def ClearField(self, field_name: typing_extensions.Literal["sql", b"sql"]) -> None: ...
765
+ def ClearField(self, field_name: typing.Literal["sql", b"sql"]) -> None: ...
697
766
 
698
767
  global___SqlFunction = SqlFunction
699
768
 
769
+ @typing.final
700
770
  class UdfFunction(google.protobuf.message.Message):
701
771
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
702
772
 
@@ -707,10 +777,11 @@ class UdfFunction(google.protobuf.message.Message):
707
777
  *,
708
778
  code: builtins.bytes = ...,
709
779
  ) -> None: ...
710
- def ClearField(self, field_name: typing_extensions.Literal["code", b"code"]) -> None: ...
780
+ def ClearField(self, field_name: typing.Literal["code", b"code"]) -> None: ...
711
781
 
712
782
  global___UdfFunction = UdfFunction
713
783
 
784
+ @typing.final
714
785
  class NewOnly(google.protobuf.message.Message):
715
786
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
716
787
 
@@ -720,6 +791,7 @@ class NewOnly(google.protobuf.message.Message):
720
791
 
721
792
  global___NewOnly = NewOnly
722
793
 
794
+ @typing.final
723
795
  class TimeFrame(google.protobuf.message.Message):
724
796
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
725
797
 
@@ -739,12 +811,13 @@ class TimeFrame(google.protobuf.message.Message):
739
811
  vanilla: global___Vanilla | None = ...,
740
812
  aggregation: global___Aggregation | None = ...,
741
813
  ) -> None: ...
742
- def HasField(self, field_name: typing_extensions.Literal["aggregation", b"aggregation", "flavor", b"flavor", "vanilla", b"vanilla"]) -> builtins.bool: ...
743
- def ClearField(self, field_name: typing_extensions.Literal["aggregation", b"aggregation", "flavor", b"flavor", "minutes", b"minutes", "vanilla", b"vanilla"]) -> None: ...
744
- def WhichOneof(self, oneof_group: typing_extensions.Literal["flavor", b"flavor"]) -> typing_extensions.Literal["vanilla", "aggregation"] | None: ...
814
+ def HasField(self, field_name: typing.Literal["aggregation", b"aggregation", "flavor", b"flavor", "vanilla", b"vanilla"]) -> builtins.bool: ...
815
+ def ClearField(self, field_name: typing.Literal["aggregation", b"aggregation", "flavor", b"flavor", "minutes", b"minutes", "vanilla", b"vanilla"]) -> None: ...
816
+ def WhichOneof(self, oneof_group: typing.Literal["flavor", b"flavor"]) -> typing.Literal["vanilla", "aggregation"] | None: ...
745
817
 
746
818
  global___TimeFrame = TimeFrame
747
819
 
820
+ @typing.final
748
821
  class Aggregation(google.protobuf.message.Message):
749
822
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
750
823
 
@@ -756,12 +829,13 @@ class Aggregation(google.protobuf.message.Message):
756
829
  *,
757
830
  aggregation_population: global___AggregationPopulation | None = ...,
758
831
  ) -> None: ...
759
- def HasField(self, field_name: typing_extensions.Literal["aggregation_population", b"aggregation_population", "type", b"type"]) -> builtins.bool: ...
760
- def ClearField(self, field_name: typing_extensions.Literal["aggregation_population", b"aggregation_population", "type", b"type"]) -> None: ...
761
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["aggregation_population"] | None: ...
832
+ def HasField(self, field_name: typing.Literal["aggregation_population", b"aggregation_population", "type", b"type"]) -> builtins.bool: ...
833
+ def ClearField(self, field_name: typing.Literal["aggregation_population", b"aggregation_population", "type", b"type"]) -> None: ...
834
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["aggregation_population"] | None: ...
762
835
 
763
836
  global___Aggregation = Aggregation
764
837
 
838
+ @typing.final
765
839
  class AggregationPopulation(google.protobuf.message.Message):
766
840
  """Apply time frame aggregation"""
767
841
 
@@ -773,6 +847,7 @@ class AggregationPopulation(google.protobuf.message.Message):
773
847
 
774
848
  global___AggregationPopulation = AggregationPopulation
775
849
 
850
+ @typing.final
776
851
  class PopulationTimeframeNewOnly(google.protobuf.message.Message):
777
852
  """Get life time data for new only population"""
778
853
 
@@ -784,6 +859,7 @@ class PopulationTimeframeNewOnly(google.protobuf.message.Message):
784
859
 
785
860
  global___PopulationTimeframeNewOnly = PopulationTimeframeNewOnly
786
861
 
862
+ @typing.final
787
863
  class PopulationTimeframe(google.protobuf.message.Message):
788
864
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
789
865
 
@@ -795,12 +871,13 @@ class PopulationTimeframe(google.protobuf.message.Message):
795
871
  *,
796
872
  new_only: global___PopulationTimeframeNewOnly | None = ...,
797
873
  ) -> None: ...
798
- def HasField(self, field_name: typing_extensions.Literal["new_only", b"new_only", "type", b"type"]) -> builtins.bool: ...
799
- def ClearField(self, field_name: typing_extensions.Literal["new_only", b"new_only", "type", b"type"]) -> None: ...
800
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["new_only"] | None: ...
874
+ def HasField(self, field_name: typing.Literal["new_only", b"new_only", "type", b"type"]) -> builtins.bool: ...
875
+ def ClearField(self, field_name: typing.Literal["new_only", b"new_only", "type", b"type"]) -> None: ...
876
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["new_only"] | None: ...
801
877
 
802
878
  global___PopulationTimeframe = PopulationTimeframe
803
879
 
880
+ @typing.final
804
881
  class Vanilla(google.protobuf.message.Message):
805
882
  """FullRead policy default value"""
806
883
 
@@ -812,6 +889,7 @@ class Vanilla(google.protobuf.message.Message):
812
889
 
813
890
  global___Vanilla = Vanilla
814
891
 
892
+ @typing.final
815
893
  class FullRead(google.protobuf.message.Message):
816
894
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
817
895
 
@@ -827,12 +905,13 @@ class FullRead(google.protobuf.message.Message):
827
905
  default: global___Vanilla | None = ...,
828
906
  population_timeframe: global___PopulationTimeframe | None = ...,
829
907
  ) -> None: ...
830
- def HasField(self, field_name: typing_extensions.Literal["default", b"default", "flavor", b"flavor", "population_timeframe", b"population_timeframe"]) -> builtins.bool: ...
831
- def ClearField(self, field_name: typing_extensions.Literal["default", b"default", "flavor", b"flavor", "population_timeframe", b"population_timeframe"]) -> None: ...
832
- def WhichOneof(self, oneof_group: typing_extensions.Literal["flavor", b"flavor"]) -> typing_extensions.Literal["default", "population_timeframe"] | None: ...
908
+ def HasField(self, field_name: typing.Literal["default", b"default", "flavor", b"flavor", "population_timeframe", b"population_timeframe"]) -> builtins.bool: ...
909
+ def ClearField(self, field_name: typing.Literal["default", b"default", "flavor", b"flavor", "population_timeframe", b"population_timeframe"]) -> None: ...
910
+ def WhichOneof(self, oneof_group: typing.Literal["flavor", b"flavor"]) -> typing.Literal["default", "population_timeframe"] | None: ...
833
911
 
834
912
  global___FullRead = FullRead
835
913
 
914
+ @typing.final
836
915
  class DataSourceReadPolicy(google.protobuf.message.Message):
837
916
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
838
917
 
@@ -842,12 +921,15 @@ class DataSourceReadPolicy(google.protobuf.message.Message):
842
921
  @property
843
922
  def new_only(self) -> global___NewOnly:
844
923
  """Read only new records from the data source - each batch reads from where the last batch finished with no end limit"""
924
+
845
925
  @property
846
926
  def time_frame(self) -> global___TimeFrame:
847
927
  """Read records starting from (scheduled batch time - time defined in the time frame) ending at the scheduled batch time"""
928
+
848
929
  @property
849
930
  def full_read(self) -> global___FullRead:
850
931
  """Read all records from the data source each batch"""
932
+
851
933
  def __init__(
852
934
  self,
853
935
  *,
@@ -855,8 +937,8 @@ class DataSourceReadPolicy(google.protobuf.message.Message):
855
937
  time_frame: global___TimeFrame | None = ...,
856
938
  full_read: global___FullRead | None = ...,
857
939
  ) -> None: ...
858
- def HasField(self, field_name: typing_extensions.Literal["full_read", b"full_read", "new_only", b"new_only", "time_frame", b"time_frame", "type", b"type"]) -> builtins.bool: ...
859
- def ClearField(self, field_name: typing_extensions.Literal["full_read", b"full_read", "new_only", b"new_only", "time_frame", b"time_frame", "type", b"type"]) -> None: ...
860
- def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["new_only", "time_frame", "full_read"] | None: ...
940
+ def HasField(self, field_name: typing.Literal["full_read", b"full_read", "new_only", b"new_only", "time_frame", b"time_frame", "type", b"type"]) -> builtins.bool: ...
941
+ def ClearField(self, field_name: typing.Literal["full_read", b"full_read", "new_only", b"new_only", "time_frame", b"time_frame", "type", b"type"]) -> None: ...
942
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["new_only", "time_frame", "full_read"] | None: ...
861
943
 
862
944
  global___DataSourceReadPolicy = DataSourceReadPolicy