qwak-core 0.4.370__py3-none-any.whl → 0.4.396__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
  from _qwak_proto.qwak.administration.runtime_configuration.v0.creds import secret_pb2 as qwak_dot_administration_dot_runtime__configuration_dot_v0_dot_creds_dot_secret__pb2
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKqwak/administration/runtime_configuration/v0/external/databricks/auth.proto\x12@qwak.administration.runtime_configuration.v0.external.databricks\x1a?qwak/administration/runtime_configuration/v0/creds/secret.proto\"\x9f\x02\n\x0e\x44\x61tabricksAuth\x12r\n\x0f\x64\x62_access_token\x18\x01 \x01(\x0b\x32W.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksAccessTokenH\x00\x12\x8b\x01\n\x18\x64\x62_principal_credentials\x18\x02 \x01(\x0b\x32g.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksServicePrincipalCredentialsH\x00\x42\x0b\n\tauth_type\"\xb6\x01\n%DatabricksServicePrincipalCredentials\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12`\n\rclient_secret\x18\x02 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x42\x18\n\x16\x63lient_secret_location\"~\n\x15\x44\x61tabricksAccessToken\x12Y\n\x06secret\x18\x01 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x42\n\n\x08locationB\xef\x01\n9com.jfrog.ml.runtime_configuration.v0.external.databricksP\x01Z\xaf\x01github.com/qwak-ai/qwak-platform/services/core/java/user-management/user-management-api/pb/qwak/administration/runtime_configuration/v0/external/databricks;external_databricksb\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKqwak/administration/runtime_configuration/v0/external/databricks/auth.proto\x12@qwak.administration.runtime_configuration.v0.external.databricks\x1a?qwak/administration/runtime_configuration/v0/creds/secret.proto\"\x9f\x02\n\x0e\x44\x61tabricksAuth\x12r\n\x0f\x64\x62_access_token\x18\x01 \x01(\x0b\x32W.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksAccessTokenH\x00\x12\x8b\x01\n\x18\x64\x62_principal_credentials\x18\x02 \x01(\x0b\x32g.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksServicePrincipalCredentialsH\x00\x42\x0b\n\tauth_type\"\x9a\x03\n%DatabricksServicePrincipalCredentials\x12\\\n\tclient_id\x18\x01 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x12`\n\rclient_secret\x18\x02 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x01\x12\x80\x01\n\x17\x64\x62_workspace_descriptor\x18\x03 \x01(\x0b\x32_.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksWorkspaceDescriptorB\x14\n\x12\x63lient_id_locationB\x18\n\x16\x63lient_secret_location\":\n\x1d\x44\x61tabricksWorkspaceDescriptor\x12\x19\n\x11oauth_service_url\x18\x01 \x01(\t\"~\n\x15\x44\x61tabricksAccessToken\x12Y\n\x06secret\x18\x01 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x42\n\n\x08locationB\xef\x01\n9com.jfrog.ml.runtime_configuration.v0.external.databricksP\x01Z\xaf\x01github.com/qwak-ai/qwak-platform/services/core/java/user-management/user-management-api/pb/qwak/administration/runtime_configuration/v0/external/databricks;external_databricksb\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -26,7 +26,9 @@ if _descriptor._USE_C_DESCRIPTORS == False:
26
26
  _globals['_DATABRICKSAUTH']._serialized_start=211
27
27
  _globals['_DATABRICKSAUTH']._serialized_end=498
28
28
  _globals['_DATABRICKSSERVICEPRINCIPALCREDENTIALS']._serialized_start=501
29
- _globals['_DATABRICKSSERVICEPRINCIPALCREDENTIALS']._serialized_end=683
30
- _globals['_DATABRICKSACCESSTOKEN']._serialized_start=685
31
- _globals['_DATABRICKSACCESSTOKEN']._serialized_end=811
29
+ _globals['_DATABRICKSSERVICEPRINCIPALCREDENTIALS']._serialized_end=911
30
+ _globals['_DATABRICKSWORKSPACEDESCRIPTOR']._serialized_start=913
31
+ _globals['_DATABRICKSWORKSPACEDESCRIPTOR']._serialized_end=971
32
+ _globals['_DATABRICKSACCESSTOKEN']._serialized_start=973
33
+ _globals['_DATABRICKSACCESSTOKEN']._serialized_end=1099
32
34
  # @@protoc_insertion_point(module_scope)
@@ -7,6 +7,7 @@ import google.protobuf.descriptor
7
7
  import google.protobuf.message
8
8
  import qwak.administration.runtime_configuration.v0.creds.secret_pb2
9
9
  import sys
10
+ import typing
10
11
 
11
12
  if sys.version_info >= (3, 8):
12
13
  import typing as typing_extensions
@@ -41,21 +42,43 @@ class DatabricksServicePrincipalCredentials(google.protobuf.message.Message):
41
42
 
42
43
  CLIENT_ID_FIELD_NUMBER: builtins.int
43
44
  CLIENT_SECRET_FIELD_NUMBER: builtins.int
44
- client_id: builtins.str
45
+ DB_WORKSPACE_DESCRIPTOR_FIELD_NUMBER: builtins.int
46
+ @property
47
+ def client_id(self) -> qwak.administration.runtime_configuration.v0.creds.secret_pb2.SecretKeyRef: ...
45
48
  @property
46
49
  def client_secret(self) -> qwak.administration.runtime_configuration.v0.creds.secret_pb2.SecretKeyRef: ...
50
+ @property
51
+ def db_workspace_descriptor(self) -> global___DatabricksWorkspaceDescriptor: ...
47
52
  def __init__(
48
53
  self,
49
54
  *,
50
- client_id: builtins.str = ...,
55
+ client_id: qwak.administration.runtime_configuration.v0.creds.secret_pb2.SecretKeyRef | None = ...,
51
56
  client_secret: qwak.administration.runtime_configuration.v0.creds.secret_pb2.SecretKeyRef | None = ...,
57
+ db_workspace_descriptor: global___DatabricksWorkspaceDescriptor | None = ...,
52
58
  ) -> None: ...
53
- def HasField(self, field_name: typing_extensions.Literal["client_secret", b"client_secret", "client_secret_location", b"client_secret_location"]) -> builtins.bool: ...
54
- def ClearField(self, field_name: typing_extensions.Literal["client_id", b"client_id", "client_secret", b"client_secret", "client_secret_location", b"client_secret_location"]) -> None: ...
59
+ def HasField(self, field_name: typing_extensions.Literal["client_id", b"client_id", "client_id_location", b"client_id_location", "client_secret", b"client_secret", "client_secret_location", b"client_secret_location", "db_workspace_descriptor", b"db_workspace_descriptor"]) -> builtins.bool: ...
60
+ def ClearField(self, field_name: typing_extensions.Literal["client_id", b"client_id", "client_id_location", b"client_id_location", "client_secret", b"client_secret", "client_secret_location", b"client_secret_location", "db_workspace_descriptor", b"db_workspace_descriptor"]) -> None: ...
61
+ @typing.overload
62
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["client_id_location", b"client_id_location"]) -> typing_extensions.Literal["client_id"] | None: ...
63
+ @typing.overload
55
64
  def WhichOneof(self, oneof_group: typing_extensions.Literal["client_secret_location", b"client_secret_location"]) -> typing_extensions.Literal["client_secret"] | None: ...
56
65
 
57
66
  global___DatabricksServicePrincipalCredentials = DatabricksServicePrincipalCredentials
58
67
 
68
+ class DatabricksWorkspaceDescriptor(google.protobuf.message.Message):
69
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
70
+
71
+ OAUTH_SERVICE_URL_FIELD_NUMBER: builtins.int
72
+ oauth_service_url: builtins.str
73
+ def __init__(
74
+ self,
75
+ *,
76
+ oauth_service_url: builtins.str = ...,
77
+ ) -> None: ...
78
+ def ClearField(self, field_name: typing_extensions.Literal["oauth_service_url", b"oauth_service_url"]) -> None: ...
79
+
80
+ global___DatabricksWorkspaceDescriptor = DatabricksWorkspaceDescriptor
81
+
59
82
  class DatabricksAccessToken(google.protobuf.message.Message):
60
83
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
61
84
 
@@ -15,7 +15,7 @@ from _qwak_proto.qwak.administration.runtime_configuration.v0.creds import secre
15
15
  from _qwak_proto.qwak.administration.runtime_configuration.v0.external.databricks import auth_pb2 as qwak_dot_administration_dot_runtime__configuration_dot_v0_dot_external_dot_databricks_dot_auth__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEqwak/administration/runtime_configuration/v0/hosting/azure/auth.proto\x12:qwak.administration.runtime_configuration.v0.hosting.azure\x1a?qwak/administration/runtime_configuration/v0/creds/secret.proto\x1aKqwak/administration/runtime_configuration/v0/external/databricks/auth.proto\"\xa1\x01\n\x13\x41zureAuthentication\x12\x81\x01\n\x15\x61zure_databricks_auth\x18\x01 \x01(\x0b\x32`.qwak.administration.runtime_configuration.v0.hosting.azure.AzureDatabricksServiceAuthenticationH\x00\x42\x06\n\x04type\"\xfc\x01\n$AzureDatabricksServiceAuthentication\x12\x61\n\x07\x64\x62_auth\x18\x01 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksAuth\x12q\n\x17\x61zure_blob_storage_auth\x18\x02 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.hosting.azure.AzureBlobStorageAuth\"\xf1\x01\n\x14\x41zureBlobStorageAuth\x12^\n\tsas_token\x18\x01 \x01(\x0b\x32I.qwak.administration.runtime_configuration.v0.hosting.azure.AzureSASTokenH\x00\x12l\n\x10managed_identity\x18\x02 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.hosting.azure.AzureManagedIdentityH\x00\x42\x0b\n\tauth_type\"v\n\rAzureSASToken\x12Y\n\x06secret\x18\x01 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x42\n\n\x08location\")\n\x14\x41zureManagedIdentity\x12\x11\n\tclient_id\x18\x01 \x01(\tB\xdd\x01\n3com.jfrog.ml.runtime_configuration.v0.hosting.azureP\x01Z\xa3\x01github.com/qwak-ai/qwak-platform/services/core/java/user-management/user-management-api/pb/qwak/administration/runtime_configuration/v0/hosting/azure;hosting_azureb\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEqwak/administration/runtime_configuration/v0/hosting/azure/auth.proto\x12:qwak.administration.runtime_configuration.v0.hosting.azure\x1a?qwak/administration/runtime_configuration/v0/creds/secret.proto\x1aKqwak/administration/runtime_configuration/v0/external/databricks/auth.proto\"\xa1\x01\n\x13\x41zureAuthentication\x12\x81\x01\n\x15\x61zure_databricks_auth\x18\x01 \x01(\x0b\x32`.qwak.administration.runtime_configuration.v0.hosting.azure.AzureDatabricksServiceAuthenticationH\x00\x42\x06\n\x04type\"\xfc\x01\n$AzureDatabricksServiceAuthentication\x12\x61\n\x07\x64\x62_auth\x18\x01 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.external.databricks.DatabricksAuth\x12q\n\x17\x61zure_blob_storage_auth\x18\x02 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.hosting.azure.AzureBlobStorageAuth\"\xf1\x01\n\x14\x41zureBlobStorageAuth\x12^\n\tsas_token\x18\x01 \x01(\x0b\x32I.qwak.administration.runtime_configuration.v0.hosting.azure.AzureSASTokenH\x00\x12l\n\x10managed_identity\x18\x02 \x01(\x0b\x32P.qwak.administration.runtime_configuration.v0.hosting.azure.AzureManagedIdentityH\x00\x42\x0b\n\tauth_type\"v\n\rAzureSASToken\x12Y\n\x06secret\x18\x01 \x01(\x0b\x32G.qwak.administration.runtime_configuration.v0.creds.secret.SecretKeyRefH\x00\x42\n\n\x08location\"\xb9\x01\n\x14\x41zureManagedIdentity\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x85\x01\n\x15\x66\x65\x64\x65rated_credentials\x18\x02 \x01(\x0b\x32\x64.qwak.administration.runtime_configuration.v0.hosting.azure.KubernetesFederatedCredentialsDescriptorH\x00\x42\x06\n\x04type\"H\n(KubernetesFederatedCredentialsDescriptor\x12\x1c\n\x14service_account_name\x18\x01 \x01(\tB\xdd\x01\n3com.jfrog.ml.runtime_configuration.v0.hosting.azureP\x01Z\xa3\x01github.com/qwak-ai/qwak-platform/services/core/java/user-management/user-management-api/pb/qwak/administration/runtime_configuration/v0/hosting/azure;hosting_azureb\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,6 +32,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
32
32
  _globals['_AZUREBLOBSTORAGEAUTH']._serialized_end=936
33
33
  _globals['_AZURESASTOKEN']._serialized_start=938
34
34
  _globals['_AZURESASTOKEN']._serialized_end=1056
35
- _globals['_AZUREMANAGEDIDENTITY']._serialized_start=1058
36
- _globals['_AZUREMANAGEDIDENTITY']._serialized_end=1099
35
+ _globals['_AZUREMANAGEDIDENTITY']._serialized_start=1059
36
+ _globals['_AZUREMANAGEDIDENTITY']._serialized_end=1244
37
+ _globals['_KUBERNETESFEDERATEDCREDENTIALSDESCRIPTOR']._serialized_start=1246
38
+ _globals['_KUBERNETESFEDERATEDCREDENTIALSDESCRIPTOR']._serialized_end=1318
37
39
  # @@protoc_insertion_point(module_scope)
@@ -95,12 +95,32 @@ class AzureManagedIdentity(google.protobuf.message.Message):
95
95
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
96
96
 
97
97
  CLIENT_ID_FIELD_NUMBER: builtins.int
98
+ FEDERATED_CREDENTIALS_FIELD_NUMBER: builtins.int
98
99
  client_id: builtins.str
100
+ @property
101
+ def federated_credentials(self) -> global___KubernetesFederatedCredentialsDescriptor: ...
99
102
  def __init__(
100
103
  self,
101
104
  *,
102
105
  client_id: builtins.str = ...,
106
+ federated_credentials: global___KubernetesFederatedCredentialsDescriptor | None = ...,
103
107
  ) -> None: ...
104
- def ClearField(self, field_name: typing_extensions.Literal["client_id", b"client_id"]) -> None: ...
108
+ def HasField(self, field_name: typing_extensions.Literal["federated_credentials", b"federated_credentials", "type", b"type"]) -> builtins.bool: ...
109
+ def ClearField(self, field_name: typing_extensions.Literal["client_id", b"client_id", "federated_credentials", b"federated_credentials", "type", b"type"]) -> None: ...
110
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["federated_credentials"] | None: ...
105
111
 
106
112
  global___AzureManagedIdentity = AzureManagedIdentity
113
+
114
+ class KubernetesFederatedCredentialsDescriptor(google.protobuf.message.Message):
115
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
116
+
117
+ SERVICE_ACCOUNT_NAME_FIELD_NUMBER: builtins.int
118
+ service_account_name: builtins.str
119
+ def __init__(
120
+ self,
121
+ *,
122
+ service_account_name: builtins.str = ...,
123
+ ) -> None: ...
124
+ def ClearField(self, field_name: typing_extensions.Literal["service_account_name", b"service_account_name"]) -> None: ...
125
+
126
+ global___KubernetesFederatedCredentialsDescriptor = KubernetesFederatedCredentialsDescriptor
@@ -13,9 +13,10 @@ _sym_db = _symbol_database.Default()
13
13
 
14
14
  from _qwak_proto.qwak.user_application.common.v0 import resources_pb2 as qwak_dot_user__application_dot_common_dot_v0_dot_resources__pb2
15
15
  from _qwak_proto.qwak.fitness_service import fitness_pb2 as qwak_dot_fitness__service_dot_fitness__pb2
16
+ from _qwak_proto.qwak.builds import build_values_pb2 as qwak_dot_builds_dot_build__values__pb2
16
17
 
17
18
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17qwak/builds/build.proto\x12\x18qwak.builds.orchestrator\x1a/qwak/user_application/common/v0/resources.proto\x1a\"qwak/fitness_service/fitness.proto\"\xbf\x06\n\x0fRemoteBuildSpec\x12\x43\n\x10\x62uild_properties\x18\x01 \x01(\x0b\x32).qwak.builds.orchestrator.BuildProperties\x12\x35\n\tbuild_env\x18\x02 \x01(\x0b\x32\".qwak.builds.orchestrator.BuildEnv\x12\x43\n\rcpu_resources\x18\x03 \x01(\x0b\x32&.qwak.builds.orchestrator.CpuResourcesB\x02\x18\x01H\x00\x12\x43\n\rgpu_resources\x18\x07 \x01(\x0b\x32&.qwak.builds.orchestrator.GpuResourcesB\x02\x18\x01H\x00\x12\x62\n\x1c\x63lient_pod_compute_resources\x18\r \x01(\x0b\x32:.qwak.user_application.common.v0.ClientPodComputeResourcesH\x00\x12\x0f\n\x07verbose\x18\x04 \x01(\x05\x12\x17\n\x0f\x62uild_code_path\x18\x05 \x01(\t\x12\x14\n\x0c\x62uild_config\x18\x06 \x01(\t\x12\x15\n\rbuild_v1_flag\x18\x08 \x01(\x08\x12H\n\x13\x62uild_properties_v1\x18\t \x01(\x0b\x32+.qwak.builds.orchestrator.BuildPropertiesV1\x12\x13\n\x0b\x62uild_steps\x18\n \x03(\t\x12\x16\n\x0e\x65nvironment_id\x18\x0b \x01(\t\x12\x13\n\x0bsdk_version\x18\x0c \x01(\t\x12=\n\x0fpurchase_option\x18\x0e \x01(\x0e\x32$.qwak.fitness.service.PurchaseOption\x12\x1c\n\x14\x62uild_destined_image\x18\x0f \x01(\t\x12\"\n\x1aprovision_instance_timeout\x18\x10 \x01(\x05\x12\x16\n\x0ejfrog_token_id\x18\x11 \x01(\t\x12\x1f\n\x17\x61rtifactory_project_key\x18\x12 \x01(\t\x12\x18\n\x10model_version_id\x18\x13 \x01(\tB\x0b\n\tResources\"g\n\x11\x42uildPropertiesV1\x12\x18\n\x10\x62uild_config_url\x18\x01 \x01(\t\x12\x1a\n\x12qwak_sdk_wheel_url\x18\x02 \x01(\t\x12\x1c\n\x14qwak_sdk_version_url\x18\x03 \x01(\t\"\xba\x01\n\x0f\x42uildProperties\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12\x10\n\x08model_id\x18\x03 \x01(\t\x12\x0c\n\x04tags\x18\x04 \x03(\t\x12\x39\n\tmodel_uri\x18\x05 \x01(\x0b\x32&.qwak.builds.orchestrator.ModelUriSpec\x12\x16\n\x0egpu_compatible\x18\x06 \x01(\x08\x12\x12\n\nbuild_name\x18\x07 \x01(\t\"\xb2\x01\n\x0cModelUriSpec\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x12\n\ngit_branch\x18\x02 \x01(\t\x12\x17\n\x0fgit_credentials\x18\x03 \x01(\t\x12\x1e\n\x16git_credentials_secret\x18\x04 \x01(\t\x12\x11\n\tcommit_id\x18\x05 \x01(\t\x12\x10\n\x08main_dir\x18\x06 \x01(\t\x12#\n\x1b\x64\x65pendency_required_folders\x18\x07 \x03(\t\"|\n\x08\x42uildEnv\x12\x37\n\ndocker_env\x18\x01 \x01(\x0b\x32#.qwak.builds.orchestrator.DockerEnv\x12\x37\n\npython_env\x18\x02 \x01(\x0b\x32#.qwak.builds.orchestrator.PythonEnv\"\x8a\x01\n\tDockerEnv\x12\x12\n\nbase_image\x18\x01 \x01(\t\x12\x10\n\x08\x65nv_vars\x18\x02 \x03(\t\x12\x10\n\x08no_cache\x18\x03 \x01(\x08\x12\x1c\n\x14\x61ssumed_iam_role_arn\x18\x04 \x01(\t\x12\'\n\x1fservice_account_key_secret_name\x18\x05 \x01(\t\"\xb8\x01\n\tPythonEnv\x12\x17\n\x0fgit_credentials\x18\x01 \x01(\t\x12\x1e\n\x16git_credentials_secret\x18\x02 \x01(\t\x12\x18\n\x10qwak_sdk_version\x18\x03 \x01(\t\x12\x1c\n\x14qwak_sdk_extra_index\x18\x04 \x01(\t\x12\x1a\n\x12\x66rogml_cli_version\x18\x05 \x01(\t\x12\x1e\n\x16\x66rogml_cli_extra_index\x18\x06 \x01(\t\"n\n\x0c\x43puResources\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x02\x12\x15\n\rmemory_amount\x18\x02 \x01(\x05\x12:\n\x0cmemory_units\x18\x03 \x01(\x0e\x32$.qwak.builds.orchestrator.MemoryUnit\"W\n\x0cGpuResources\x12\x33\n\x08gpu_type\x18\x01 \x01(\x0e\x32!.qwak.builds.orchestrator.GpuType\x12\x12\n\ngpu_amount\x18\x02 \x01(\x05\"\x91\x01\n\x13\x44\x61taTableDefinition\x12?\n\x07\x63olumns\x18\x01 \x03(\x0b\x32..qwak.builds.orchestrator.DataColumnDefinition\x12\x39\n\x0b\x64\x61ta_format\x18\x02 \x01(\x0b\x32$.qwak.builds.orchestrator.DataFormat\"\\\n\x14\x44\x61taColumnDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.qwak.builds.orchestrator.DataColumnType\"J\n\nDataFormat\x12\x32\n\x03\x63sv\x18\x01 \x01(\x0b\x32#.qwak.builds.orchestrator.CsvFormatH\x00\x42\x08\n\x06\x66ormat\"G\n\tCsvFormat\x12\x11\n\tdelimiter\x18\x01 \x01(\t\x12\x12\n\nquote_char\x18\x02 \x01(\t\x12\x13\n\x0b\x65scape_char\x18\x03 \x01(\t\"\xa5\x01\n\x0e\x42uildInitiator\x12<\n\x04user\x18\x01 \x01(\x0b\x32,.qwak.builds.orchestrator.UserBuildInitiatorH\x00\x12H\n\nautomation\x18\x02 \x01(\x0b\x32\x32.qwak.builds.orchestrator.AutomationBuildInitiatorH\x00\x42\x0b\n\tInitiator\"\x14\n\x12UserBuildInitiator\"`\n\x18\x41utomationBuildInitiator\x12\x15\n\rautomation_id\x18\x01 \x01(\t\x12\x14\n\x0c\x65xecution_id\x18\x02 \x01(\t\x12\x17\n\x0f\x61utomation_name\x18\x03 \x01(\t*7\n\nMemoryUnit\x12\x17\n\x13UNKNOWN_MEMORY_UNIT\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02*\x82\x03\n\x07GpuType\x12\x0b\n\x07INVALID\x10\x00\x12\x0e\n\nNVIDIA_K80\x10\x01\x12\x0f\n\x0bNVIDIA_V100\x10\x02\x12\x0f\n\x0bNVIDIA_A100\x10\x03\x12\r\n\tNVIDIA_T4\x10\x04\x12\x0f\n\x0bNVIDIA_A10G\x10\x05\x12\r\n\tNVIDIA_L4\x10\x06\x12\x14\n\x10NVIDIA_T4_1_4_15\x10\x07\x12\x14\n\x10NVIDIA_T4_1_8_30\x10\x08\x12\x15\n\x11NVIDIA_T4_1_16_60\x10\t\x12\x1e\n\x1aNVIDIA_A100_80GB_8_96_1360\x10\n\x12\x16\n\x12NVIDIA_V100_1_8_52\x10\x0b\x12\x18\n\x14NVIDIA_V100_4_32_208\x10\x0c\x12\x13\n\x0fNVIDIA_H100_NVL\x10\r\x12\x0e\n\nNVIDIA_A10\x10\x0e\x12\x13\n\x0fNVIDIA_H100_SXM\x10\x0f\x12\x14\n\x10NVIDIA_H100_40GB\x10\x10\x12\x14\n\x10NVIDIA_H100_80GB\x10\x11\x12\x0e\n\nNVIDIA_M60\x10\x12*d\n\x0e\x44\x61taColumnType\x12\x17\n\x13INVALID_COLUMN_TYPE\x10\x00\x12\n\n\x06OBJECT\x10\x01\x12\x07\n\x03INT\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x0c\n\x08\x44\x41TETIME\x10\x05*K\n\x13\x42\x61seDockerImageType\x12\"\n\x1eUNKNOWN_BASE_DOCKER_IMAGE_TYPE\x10\x00\x12\x07\n\x03\x43PU\x10\x01\x12\x07\n\x03GPU\x10\x02\x42\'\n#com.qwak.ai.builds.orchestrator.apiP\x01\x62\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17qwak/builds/build.proto\x12\x18qwak.builds.orchestrator\x1a/qwak/user_application/common/v0/resources.proto\x1a\"qwak/fitness_service/fitness.proto\x1a\x1eqwak/builds/build_values.proto\"\xbf\x06\n\x0fRemoteBuildSpec\x12\x43\n\x10\x62uild_properties\x18\x01 \x01(\x0b\x32).qwak.builds.orchestrator.BuildProperties\x12\x35\n\tbuild_env\x18\x02 \x01(\x0b\x32\".qwak.builds.orchestrator.BuildEnv\x12\x43\n\rcpu_resources\x18\x03 \x01(\x0b\x32&.qwak.builds.orchestrator.CpuResourcesB\x02\x18\x01H\x00\x12\x43\n\rgpu_resources\x18\x07 \x01(\x0b\x32&.qwak.builds.orchestrator.GpuResourcesB\x02\x18\x01H\x00\x12\x62\n\x1c\x63lient_pod_compute_resources\x18\r \x01(\x0b\x32:.qwak.user_application.common.v0.ClientPodComputeResourcesH\x00\x12\x0f\n\x07verbose\x18\x04 \x01(\x05\x12\x17\n\x0f\x62uild_code_path\x18\x05 \x01(\t\x12\x14\n\x0c\x62uild_config\x18\x06 \x01(\t\x12\x15\n\rbuild_v1_flag\x18\x08 \x01(\x08\x12H\n\x13\x62uild_properties_v1\x18\t \x01(\x0b\x32+.qwak.builds.orchestrator.BuildPropertiesV1\x12\x13\n\x0b\x62uild_steps\x18\n \x03(\t\x12\x16\n\x0e\x65nvironment_id\x18\x0b \x01(\t\x12\x13\n\x0bsdk_version\x18\x0c \x01(\t\x12=\n\x0fpurchase_option\x18\x0e \x01(\x0e\x32$.qwak.fitness.service.PurchaseOption\x12\x1c\n\x14\x62uild_destined_image\x18\x0f \x01(\t\x12\"\n\x1aprovision_instance_timeout\x18\x10 \x01(\x05\x12\x16\n\x0ejfrog_token_id\x18\x11 \x01(\t\x12\x1f\n\x17\x61rtifactory_project_key\x18\x12 \x01(\t\x12\x18\n\x10model_version_id\x18\x13 \x01(\tB\x0b\n\tResources\"g\n\x11\x42uildPropertiesV1\x12\x18\n\x10\x62uild_config_url\x18\x01 \x01(\t\x12\x1a\n\x12qwak_sdk_wheel_url\x18\x02 \x01(\t\x12\x1c\n\x14qwak_sdk_version_url\x18\x03 \x01(\t\"\xba\x01\n\x0f\x42uildProperties\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12\x10\n\x08model_id\x18\x03 \x01(\t\x12\x0c\n\x04tags\x18\x04 \x03(\t\x12\x39\n\tmodel_uri\x18\x05 \x01(\x0b\x32&.qwak.builds.orchestrator.ModelUriSpec\x12\x16\n\x0egpu_compatible\x18\x06 \x01(\x08\x12\x12\n\nbuild_name\x18\x07 \x01(\t\"\xb2\x01\n\x0cModelUriSpec\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x12\n\ngit_branch\x18\x02 \x01(\t\x12\x17\n\x0fgit_credentials\x18\x03 \x01(\t\x12\x1e\n\x16git_credentials_secret\x18\x04 \x01(\t\x12\x11\n\tcommit_id\x18\x05 \x01(\t\x12\x10\n\x08main_dir\x18\x06 \x01(\t\x12#\n\x1b\x64\x65pendency_required_folders\x18\x07 \x03(\t\"|\n\x08\x42uildEnv\x12\x37\n\ndocker_env\x18\x01 \x01(\x0b\x32#.qwak.builds.orchestrator.DockerEnv\x12\x37\n\npython_env\x18\x02 \x01(\x0b\x32#.qwak.builds.orchestrator.PythonEnv\"\xcc\x01\n\tDockerEnv\x12\x12\n\nbase_image\x18\x01 \x01(\t\x12\x10\n\x08\x65nv_vars\x18\x02 \x03(\t\x12\x10\n\x08no_cache\x18\x03 \x01(\x08\x12\x1c\n\x14\x61ssumed_iam_role_arn\x18\x04 \x01(\t\x12\'\n\x1fservice_account_key_secret_name\x18\x05 \x01(\t\x12@\n\x10\x63ontainer_engine\x18\x06 \x01(\x0b\x32&.qwak.build.management.ContainerEngine\"\xb8\x01\n\tPythonEnv\x12\x17\n\x0fgit_credentials\x18\x01 \x01(\t\x12\x1e\n\x16git_credentials_secret\x18\x02 \x01(\t\x12\x18\n\x10qwak_sdk_version\x18\x03 \x01(\t\x12\x1c\n\x14qwak_sdk_extra_index\x18\x04 \x01(\t\x12\x1a\n\x12\x66rogml_cli_version\x18\x05 \x01(\t\x12\x1e\n\x16\x66rogml_cli_extra_index\x18\x06 \x01(\t\"n\n\x0c\x43puResources\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x02\x12\x15\n\rmemory_amount\x18\x02 \x01(\x05\x12:\n\x0cmemory_units\x18\x03 \x01(\x0e\x32$.qwak.builds.orchestrator.MemoryUnit\"W\n\x0cGpuResources\x12\x33\n\x08gpu_type\x18\x01 \x01(\x0e\x32!.qwak.builds.orchestrator.GpuType\x12\x12\n\ngpu_amount\x18\x02 \x01(\x05\"\x91\x01\n\x13\x44\x61taTableDefinition\x12?\n\x07\x63olumns\x18\x01 \x03(\x0b\x32..qwak.builds.orchestrator.DataColumnDefinition\x12\x39\n\x0b\x64\x61ta_format\x18\x02 \x01(\x0b\x32$.qwak.builds.orchestrator.DataFormat\"\\\n\x14\x44\x61taColumnDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.qwak.builds.orchestrator.DataColumnType\"J\n\nDataFormat\x12\x32\n\x03\x63sv\x18\x01 \x01(\x0b\x32#.qwak.builds.orchestrator.CsvFormatH\x00\x42\x08\n\x06\x66ormat\"G\n\tCsvFormat\x12\x11\n\tdelimiter\x18\x01 \x01(\t\x12\x12\n\nquote_char\x18\x02 \x01(\t\x12\x13\n\x0b\x65scape_char\x18\x03 \x01(\t\"\xa5\x01\n\x0e\x42uildInitiator\x12<\n\x04user\x18\x01 \x01(\x0b\x32,.qwak.builds.orchestrator.UserBuildInitiatorH\x00\x12H\n\nautomation\x18\x02 \x01(\x0b\x32\x32.qwak.builds.orchestrator.AutomationBuildInitiatorH\x00\x42\x0b\n\tInitiator\"\x14\n\x12UserBuildInitiator\"`\n\x18\x41utomationBuildInitiator\x12\x15\n\rautomation_id\x18\x01 \x01(\t\x12\x14\n\x0c\x65xecution_id\x18\x02 \x01(\t\x12\x17\n\x0f\x61utomation_name\x18\x03 \x01(\t*7\n\nMemoryUnit\x12\x17\n\x13UNKNOWN_MEMORY_UNIT\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02*\x82\x03\n\x07GpuType\x12\x0b\n\x07INVALID\x10\x00\x12\x0e\n\nNVIDIA_K80\x10\x01\x12\x0f\n\x0bNVIDIA_V100\x10\x02\x12\x0f\n\x0bNVIDIA_A100\x10\x03\x12\r\n\tNVIDIA_T4\x10\x04\x12\x0f\n\x0bNVIDIA_A10G\x10\x05\x12\r\n\tNVIDIA_L4\x10\x06\x12\x14\n\x10NVIDIA_T4_1_4_15\x10\x07\x12\x14\n\x10NVIDIA_T4_1_8_30\x10\x08\x12\x15\n\x11NVIDIA_T4_1_16_60\x10\t\x12\x1e\n\x1aNVIDIA_A100_80GB_8_96_1360\x10\n\x12\x16\n\x12NVIDIA_V100_1_8_52\x10\x0b\x12\x18\n\x14NVIDIA_V100_4_32_208\x10\x0c\x12\x13\n\x0fNVIDIA_H100_NVL\x10\r\x12\x0e\n\nNVIDIA_A10\x10\x0e\x12\x13\n\x0fNVIDIA_H100_SXM\x10\x0f\x12\x14\n\x10NVIDIA_H100_40GB\x10\x10\x12\x14\n\x10NVIDIA_H100_80GB\x10\x11\x12\x0e\n\nNVIDIA_M60\x10\x12*d\n\x0e\x44\x61taColumnType\x12\x17\n\x13INVALID_COLUMN_TYPE\x10\x00\x12\n\n\x06OBJECT\x10\x01\x12\x07\n\x03INT\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x0c\n\x08\x44\x41TETIME\x10\x05*K\n\x13\x42\x61seDockerImageType\x12\"\n\x1eUNKNOWN_BASE_DOCKER_IMAGE_TYPE\x10\x00\x12\x07\n\x03\x43PU\x10\x01\x12\x07\n\x03GPU\x10\x02\x42\'\n#com.qwak.ai.builds.orchestrator.apiP\x01\x62\x06proto3')
19
20
 
20
21
  _globals = globals()
21
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -28,44 +29,44 @@ if _descriptor._USE_C_DESCRIPTORS == False:
28
29
  _REMOTEBUILDSPEC.fields_by_name['cpu_resources']._serialized_options = b'\030\001'
29
30
  _REMOTEBUILDSPEC.fields_by_name['gpu_resources']._options = None
30
31
  _REMOTEBUILDSPEC.fields_by_name['gpu_resources']._serialized_options = b'\030\001'
31
- _globals['_MEMORYUNIT']._serialized_start=2781
32
- _globals['_MEMORYUNIT']._serialized_end=2836
33
- _globals['_GPUTYPE']._serialized_start=2839
34
- _globals['_GPUTYPE']._serialized_end=3225
35
- _globals['_DATACOLUMNTYPE']._serialized_start=3227
36
- _globals['_DATACOLUMNTYPE']._serialized_end=3327
37
- _globals['_BASEDOCKERIMAGETYPE']._serialized_start=3329
38
- _globals['_BASEDOCKERIMAGETYPE']._serialized_end=3404
39
- _globals['_REMOTEBUILDSPEC']._serialized_start=139
40
- _globals['_REMOTEBUILDSPEC']._serialized_end=970
41
- _globals['_BUILDPROPERTIESV1']._serialized_start=972
42
- _globals['_BUILDPROPERTIESV1']._serialized_end=1075
43
- _globals['_BUILDPROPERTIES']._serialized_start=1078
44
- _globals['_BUILDPROPERTIES']._serialized_end=1264
45
- _globals['_MODELURISPEC']._serialized_start=1267
46
- _globals['_MODELURISPEC']._serialized_end=1445
47
- _globals['_BUILDENV']._serialized_start=1447
48
- _globals['_BUILDENV']._serialized_end=1571
49
- _globals['_DOCKERENV']._serialized_start=1574
50
- _globals['_DOCKERENV']._serialized_end=1712
51
- _globals['_PYTHONENV']._serialized_start=1715
52
- _globals['_PYTHONENV']._serialized_end=1899
53
- _globals['_CPURESOURCES']._serialized_start=1901
54
- _globals['_CPURESOURCES']._serialized_end=2011
55
- _globals['_GPURESOURCES']._serialized_start=2013
56
- _globals['_GPURESOURCES']._serialized_end=2100
57
- _globals['_DATATABLEDEFINITION']._serialized_start=2103
58
- _globals['_DATATABLEDEFINITION']._serialized_end=2248
59
- _globals['_DATACOLUMNDEFINITION']._serialized_start=2250
60
- _globals['_DATACOLUMNDEFINITION']._serialized_end=2342
61
- _globals['_DATAFORMAT']._serialized_start=2344
62
- _globals['_DATAFORMAT']._serialized_end=2418
63
- _globals['_CSVFORMAT']._serialized_start=2420
64
- _globals['_CSVFORMAT']._serialized_end=2491
65
- _globals['_BUILDINITIATOR']._serialized_start=2494
66
- _globals['_BUILDINITIATOR']._serialized_end=2659
67
- _globals['_USERBUILDINITIATOR']._serialized_start=2661
68
- _globals['_USERBUILDINITIATOR']._serialized_end=2681
69
- _globals['_AUTOMATIONBUILDINITIATOR']._serialized_start=2683
70
- _globals['_AUTOMATIONBUILDINITIATOR']._serialized_end=2779
32
+ _globals['_MEMORYUNIT']._serialized_start=2879
33
+ _globals['_MEMORYUNIT']._serialized_end=2934
34
+ _globals['_GPUTYPE']._serialized_start=2937
35
+ _globals['_GPUTYPE']._serialized_end=3323
36
+ _globals['_DATACOLUMNTYPE']._serialized_start=3325
37
+ _globals['_DATACOLUMNTYPE']._serialized_end=3425
38
+ _globals['_BASEDOCKERIMAGETYPE']._serialized_start=3427
39
+ _globals['_BASEDOCKERIMAGETYPE']._serialized_end=3502
40
+ _globals['_REMOTEBUILDSPEC']._serialized_start=171
41
+ _globals['_REMOTEBUILDSPEC']._serialized_end=1002
42
+ _globals['_BUILDPROPERTIESV1']._serialized_start=1004
43
+ _globals['_BUILDPROPERTIESV1']._serialized_end=1107
44
+ _globals['_BUILDPROPERTIES']._serialized_start=1110
45
+ _globals['_BUILDPROPERTIES']._serialized_end=1296
46
+ _globals['_MODELURISPEC']._serialized_start=1299
47
+ _globals['_MODELURISPEC']._serialized_end=1477
48
+ _globals['_BUILDENV']._serialized_start=1479
49
+ _globals['_BUILDENV']._serialized_end=1603
50
+ _globals['_DOCKERENV']._serialized_start=1606
51
+ _globals['_DOCKERENV']._serialized_end=1810
52
+ _globals['_PYTHONENV']._serialized_start=1813
53
+ _globals['_PYTHONENV']._serialized_end=1997
54
+ _globals['_CPURESOURCES']._serialized_start=1999
55
+ _globals['_CPURESOURCES']._serialized_end=2109
56
+ _globals['_GPURESOURCES']._serialized_start=2111
57
+ _globals['_GPURESOURCES']._serialized_end=2198
58
+ _globals['_DATATABLEDEFINITION']._serialized_start=2201
59
+ _globals['_DATATABLEDEFINITION']._serialized_end=2346
60
+ _globals['_DATACOLUMNDEFINITION']._serialized_start=2348
61
+ _globals['_DATACOLUMNDEFINITION']._serialized_end=2440
62
+ _globals['_DATAFORMAT']._serialized_start=2442
63
+ _globals['_DATAFORMAT']._serialized_end=2516
64
+ _globals['_CSVFORMAT']._serialized_start=2518
65
+ _globals['_CSVFORMAT']._serialized_end=2589
66
+ _globals['_BUILDINITIATOR']._serialized_start=2592
67
+ _globals['_BUILDINITIATOR']._serialized_end=2757
68
+ _globals['_USERBUILDINITIATOR']._serialized_start=2759
69
+ _globals['_USERBUILDINITIATOR']._serialized_end=2779
70
+ _globals['_AUTOMATIONBUILDINITIATOR']._serialized_start=2781
71
+ _globals['_AUTOMATIONBUILDINITIATOR']._serialized_end=2877
71
72
  # @@protoc_insertion_point(module_scope)
@@ -8,6 +8,7 @@ import google.protobuf.descriptor
8
8
  import google.protobuf.internal.containers
9
9
  import google.protobuf.internal.enum_type_wrapper
10
10
  import google.protobuf.message
11
+ import qwak.builds.build_values_pb2
11
12
  import qwak.fitness_service.fitness_pb2
12
13
  import qwak.user_application.common.v0.resources_pb2
13
14
  import sys
@@ -380,6 +381,7 @@ class DockerEnv(google.protobuf.message.Message):
380
381
  NO_CACHE_FIELD_NUMBER: builtins.int
381
382
  ASSUMED_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
382
383
  SERVICE_ACCOUNT_KEY_SECRET_NAME_FIELD_NUMBER: builtins.int
384
+ CONTAINER_ENGINE_FIELD_NUMBER: builtins.int
383
385
  base_image: builtins.str
384
386
  """Base image to use for serving"""
385
387
  @property
@@ -393,6 +395,9 @@ class DockerEnv(google.protobuf.message.Message):
393
395
  """Custom IAM role to be assumed by model"""
394
396
  service_account_key_secret_name: builtins.str
395
397
  """Service account key secret name for gcp"""
398
+ @property
399
+ def container_engine(self) -> qwak.builds.build_values_pb2.ContainerEngine:
400
+ """Container engine to use for building and pushing the image (e.g., Docker, Podman)"""
396
401
  def __init__(
397
402
  self,
398
403
  *,
@@ -401,8 +406,10 @@ class DockerEnv(google.protobuf.message.Message):
401
406
  no_cache: builtins.bool = ...,
402
407
  assumed_iam_role_arn: builtins.str = ...,
403
408
  service_account_key_secret_name: builtins.str = ...,
409
+ container_engine: qwak.builds.build_values_pb2.ContainerEngine | None = ...,
404
410
  ) -> None: ...
405
- def ClearField(self, field_name: typing_extensions.Literal["assumed_iam_role_arn", b"assumed_iam_role_arn", "base_image", b"base_image", "env_vars", b"env_vars", "no_cache", b"no_cache", "service_account_key_secret_name", b"service_account_key_secret_name"]) -> None: ...
411
+ def HasField(self, field_name: typing_extensions.Literal["container_engine", b"container_engine"]) -> builtins.bool: ...
412
+ def ClearField(self, field_name: typing_extensions.Literal["assumed_iam_role_arn", b"assumed_iam_role_arn", "base_image", b"base_image", "container_engine", b"container_engine", "env_vars", b"env_vars", "no_cache", b"no_cache", "service_account_key_secret_name", b"service_account_key_secret_name"]) -> None: ...
406
413
 
407
414
  global___DockerEnv = DockerEnv
408
415
 
@@ -0,0 +1,76 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: qwak/builds/build_values.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ from google.protobuf.internal import builder as _builder
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+ from _qwak_proto.qwak.user_application.common.v0 import resources_pb2 as qwak_dot_user__application_dot_common_dot_v0_dot_resources__pb2
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eqwak/builds/build_values.proto\x12\x15qwak.build.management\x1a/qwak/user_application/common/v0/resources.proto\"\xc3\x03\n\x10ModelBuildValues\x12\x34\n\nbuild_info\x18\x01 \x01(\x0b\x32 .qwak.build.management.BuildInfo\x12<\n\x0emodel_metadata\x18\x02 \x01(\x0b\x32$.qwak.build.management.ModelMetadata\x12\x45\n\x13model_code_location\x18\x03 \x01(\x0b\x32(.qwak.build.management.ModelCodeLocation\x12G\n\x14\x62uild_execution_spec\x18\x04 \x01(\x0b\x32).qwak.build.management.BuildExecutionSpec\x12\x30\n\x08sdk_spec\x18\x05 \x01(\x0b\x32\x1e.qwak.build.management.SdkSpec\x12G\n\x14jfrog_ecosystem_spec\x18\x06 \x01(\x0b\x32).qwak.build.management.JfrogEcosystemSpec\x12\x30\n\x08job_spec\x18\x07 \x01(\x0b\x32\x1e.qwak.build.management.JobSpec\"\xa3\x01\n\tBuildInfo\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x13\n\x0b\x62ranch_name\x18\x02 \x01(\t\x12\x12\n\nbuild_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x62uild_config\x18\x04 \x01(\t\x12\x45\n\x13\x62uild_properties_v1\x18\x05 \x01(\x0b\x32(.qwak.build.management.BuildPropertiesV1\"]\n\x11\x42uildPropertiesV1\x12\x18\n\x10\x62uild_config_url\x18\x01 \x01(\t\x12\x15\n\rsdk_wheel_url\x18\x02 \x01(\t\x12\x17\n\x0fsdk_version_url\x18\x03 \x01(\t\"\x8e\x01\n\rModelMetadata\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x46\n\x13\x61rtifactory_details\x18\x04 \x01(\x0b\x32).qwak.build.management.ArtifactoryDetails\")\n\x12\x41rtifactoryDetails\x12\x13\n\x0bproject_key\x18\x01 \x01(\t\"\xa0\x01\n\x11ModelCodeLocation\x12\x1c\n\x14main_model_directory\x18\x01 \x01(\t\x12\x34\n\tlocal_uri\x18\x02 \x01(\x0b\x32\x1f.qwak.build.management.LocalUriH\x00\x12\x30\n\x07git_uri\x18\x03 \x01(\x0b\x32\x1d.qwak.build.management.GitUriH\x00\x42\x05\n\x03uri\"\x18\n\x08LocalUri\x12\x0c\n\x04path\x18\x01 \x01(\t\"M\n\x06GitUri\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x36\n\x0bgit_details\x18\x02 \x01(\x0b\x32!.qwak.build.management.GitDetails\"|\n\nGitDetails\x12\x0e\n\x06\x62ranch\x18\x01 \x01(\t\x12\x11\n\tcommit_id\x18\x02 \x01(\t\x12\x15\n\x0b\x63redentials\x18\x03 \x01(\tH\x00\x12!\n\x17\x63redentials_secret_name\x18\x04 \x01(\tH\x00\x42\x11\n\x0fgit_credentials\"\xd0\x02\n\x12\x42uildExecutionSpec\x12\x1f\n\x17\x62uild_image_destination\x18\x01 \x01(\t\x12\"\n\x1ashould_build_without_cache\x18\x02 \x01(\x08\x12G\n\x14logs_verbosity_level\x18\x03 \x01(\x0e\x32).qwak.build.management.LogsVerbosityLevel\x12\x12\n\nbase_image\x18\x04 \x01(\t\x12\x1b\n\x13\x63ustom_iam_role_arn\x18\x05 \x01(\t\x12\x10\n\x08\x65nv_vars\x18\x06 \x03(\t\x12\'\n\x1fremote_builder_auth_secret_name\x18\x07 \x01(\t\x12@\n\x10\x63ontainer_engine\x18\x08 \x01(\x0b\x32&.qwak.build.management.ContainerEngine\"a\n\x07SdkSpec\x12\x13\n\x0bsdk_version\x18\x01 \x01(\t\x12\x1b\n\x13sdk_extra_index_url\x18\x02 \x01(\t\x12$\n\x1csdk_runtime_version_override\x18\x03 \x01(\t\"k\n\x12JfrogEcosystemSpec\x12\x0f\n\x07\x62\x61seUrl\x18\x01 \x01(\t\x12\x1d\n\x15\x61\x63\x63\x65ssTokenSecretName\x18\x02 \x01(\t\x12%\n\x1d\x61rtifactorySettingsSecretName\x18\x03 \x01(\t\"\x9d\x03\n\x07JobSpec\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\"\n\x1aprovision_instance_timeout\x18\x02 \x01(\x05\x12>\n\x0fpurchase_option\x18\x03 \x01(\x0e\x32%.qwak.build.management.PurchaseOption\x12$\n\x1cis_node_optimization_enabled\x18\x04 \x01(\x08\x12\"\n\x1ashould_use_build_isolation\x18\x05 \x01(\x08\x12#\n\x1bis_multi_tenant_environment\x18\x06 \x01(\x08\x12\x1a\n\x12is_self_hosted_jpd\x18\n \x01(\x08\x12 \n\x18\x62uild_executor_image_url\x18\x07 \x01(\t\x12<\n\x0e\x63loud_provider\x18\x08 \x01(\x0e\x32$.qwak.build.management.CloudProvider\x12\x30\n\x08job_size\x18\t \x01(\x0b\x32\x1e.qwak.build.management.JobSize\"\x9e\x02\n\x07JobSize\x12\x0f\n\x03\x63pu\x18\x01 \x01(\x02\x42\x02\x18\x01\x12\x19\n\rmemory_amount\x18\x02 \x01(\x05\x42\x02\x18\x01\x12;\n\x0cmemory_units\x18\x03 \x01(\x0e\x32!.qwak.build.management.MemoryUnitB\x02\x18\x01\x12H\n\rgpu_resources\x18\x04 \x01(\x0b\x32-.qwak.user_application.common.v0.GpuResourcesB\x02\x18\x01\x12`\n\x1c\x63lient_pod_compute_resources\x18\x05 \x01(\x0b\x32:.qwak.user_application.common.v0.ClientPodComputeResources\"\x99\x01\n\x0f\x43ontainerEngine\x12>\n\x06\x64ocker\x18\x01 \x01(\x0b\x32,.qwak.build.management.DockerContainerEngineH\x00\x12>\n\x06podman\x18\x02 \x01(\x0b\x32,.qwak.build.management.PodmanContainerEngineH\x00\x42\x06\n\x04type\"\x17\n\x15\x44ockerContainerEngine\"\x17\n\x15PodmanContainerEngine*e\n\x0ePurchaseOption\x12\x1b\n\x17INVALID_PURCHASE_OPTION\x10\x00\x12\x18\n\x14SPOT_PURCHASE_OPTION\x10\x01\x12\x1c\n\x18ONDEMAND_PURCHASE_OPTION\x10\x02*H\n\rCloudProvider\x12\x1a\n\x16INVALID_CLOUD_PROVIDER\x10\x00\x12\x07\n\x03\x41WS\x10\x01\x12\x07\n\x03GCP\x10\x02\x12\t\n\x05\x41ZURE\x10\x03*7\n\nMemoryUnit\x12\x17\n\x13INVALID_MEMORY_UNIT\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02*S\n\x12LogsVerbosityLevel\x12\x1a\n\x16INVALID_LOGS_VERBOSITY\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\n\x12\x08\n\x04INFO\x10\x14\x12\x0c\n\x08\x43RITICAL\x10\x32\x42\x36\n com.qwak.ai.management.build.apiP\x01Z\x10qwak/build;buildb\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'qwak.builds.build_values_pb2', _globals)
22
+ if _descriptor._USE_C_DESCRIPTORS == False:
23
+
24
+ DESCRIPTOR._options = None
25
+ DESCRIPTOR._serialized_options = b'\n com.qwak.ai.management.build.apiP\001Z\020qwak/build;build'
26
+ _JOBSIZE.fields_by_name['cpu']._options = None
27
+ _JOBSIZE.fields_by_name['cpu']._serialized_options = b'\030\001'
28
+ _JOBSIZE.fields_by_name['memory_amount']._options = None
29
+ _JOBSIZE.fields_by_name['memory_amount']._serialized_options = b'\030\001'
30
+ _JOBSIZE.fields_by_name['memory_units']._options = None
31
+ _JOBSIZE.fields_by_name['memory_units']._serialized_options = b'\030\001'
32
+ _JOBSIZE.fields_by_name['gpu_resources']._options = None
33
+ _JOBSIZE.fields_by_name['gpu_resources']._serialized_options = b'\030\001'
34
+ _globals['_PURCHASEOPTION']._serialized_start=2861
35
+ _globals['_PURCHASEOPTION']._serialized_end=2962
36
+ _globals['_CLOUDPROVIDER']._serialized_start=2964
37
+ _globals['_CLOUDPROVIDER']._serialized_end=3036
38
+ _globals['_MEMORYUNIT']._serialized_start=3038
39
+ _globals['_MEMORYUNIT']._serialized_end=3093
40
+ _globals['_LOGSVERBOSITYLEVEL']._serialized_start=3095
41
+ _globals['_LOGSVERBOSITYLEVEL']._serialized_end=3178
42
+ _globals['_MODELBUILDVALUES']._serialized_start=107
43
+ _globals['_MODELBUILDVALUES']._serialized_end=558
44
+ _globals['_BUILDINFO']._serialized_start=561
45
+ _globals['_BUILDINFO']._serialized_end=724
46
+ _globals['_BUILDPROPERTIESV1']._serialized_start=726
47
+ _globals['_BUILDPROPERTIESV1']._serialized_end=819
48
+ _globals['_MODELMETADATA']._serialized_start=822
49
+ _globals['_MODELMETADATA']._serialized_end=964
50
+ _globals['_ARTIFACTORYDETAILS']._serialized_start=966
51
+ _globals['_ARTIFACTORYDETAILS']._serialized_end=1007
52
+ _globals['_MODELCODELOCATION']._serialized_start=1010
53
+ _globals['_MODELCODELOCATION']._serialized_end=1170
54
+ _globals['_LOCALURI']._serialized_start=1172
55
+ _globals['_LOCALURI']._serialized_end=1196
56
+ _globals['_GITURI']._serialized_start=1198
57
+ _globals['_GITURI']._serialized_end=1275
58
+ _globals['_GITDETAILS']._serialized_start=1277
59
+ _globals['_GITDETAILS']._serialized_end=1401
60
+ _globals['_BUILDEXECUTIONSPEC']._serialized_start=1404
61
+ _globals['_BUILDEXECUTIONSPEC']._serialized_end=1740
62
+ _globals['_SDKSPEC']._serialized_start=1742
63
+ _globals['_SDKSPEC']._serialized_end=1839
64
+ _globals['_JFROGECOSYSTEMSPEC']._serialized_start=1841
65
+ _globals['_JFROGECOSYSTEMSPEC']._serialized_end=1948
66
+ _globals['_JOBSPEC']._serialized_start=1951
67
+ _globals['_JOBSPEC']._serialized_end=2364
68
+ _globals['_JOBSIZE']._serialized_start=2367
69
+ _globals['_JOBSIZE']._serialized_end=2653
70
+ _globals['_CONTAINERENGINE']._serialized_start=2656
71
+ _globals['_CONTAINERENGINE']._serialized_end=2809
72
+ _globals['_DOCKERCONTAINERENGINE']._serialized_start=2811
73
+ _globals['_DOCKERCONTAINERENGINE']._serialized_end=2834
74
+ _globals['_PODMANCONTAINERENGINE']._serialized_start=2836
75
+ _globals['_PODMANCONTAINERENGINE']._serialized_end=2859
76
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,533 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.internal.containers
9
+ import google.protobuf.internal.enum_type_wrapper
10
+ import google.protobuf.message
11
+ import qwak.user_application.common.v0.resources_pb2
12
+ import sys
13
+ import typing
14
+
15
+ if sys.version_info >= (3, 10):
16
+ import typing as typing_extensions
17
+ else:
18
+ import typing_extensions
19
+
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ class _PurchaseOption:
23
+ ValueType = typing.NewType("ValueType", builtins.int)
24
+ V: typing_extensions.TypeAlias = ValueType
25
+
26
+ class _PurchaseOptionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PurchaseOption.ValueType], builtins.type): # noqa: F821
27
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
28
+ INVALID_PURCHASE_OPTION: _PurchaseOption.ValueType # 0
29
+ SPOT_PURCHASE_OPTION: _PurchaseOption.ValueType # 1
30
+ ONDEMAND_PURCHASE_OPTION: _PurchaseOption.ValueType # 2
31
+
32
+ class PurchaseOption(_PurchaseOption, metaclass=_PurchaseOptionEnumTypeWrapper): ...
33
+
34
+ INVALID_PURCHASE_OPTION: PurchaseOption.ValueType # 0
35
+ SPOT_PURCHASE_OPTION: PurchaseOption.ValueType # 1
36
+ ONDEMAND_PURCHASE_OPTION: PurchaseOption.ValueType # 2
37
+ global___PurchaseOption = PurchaseOption
38
+
39
+ class _CloudProvider:
40
+ ValueType = typing.NewType("ValueType", builtins.int)
41
+ V: typing_extensions.TypeAlias = ValueType
42
+
43
+ class _CloudProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CloudProvider.ValueType], builtins.type): # noqa: F821
44
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
45
+ INVALID_CLOUD_PROVIDER: _CloudProvider.ValueType # 0
46
+ AWS: _CloudProvider.ValueType # 1
47
+ GCP: _CloudProvider.ValueType # 2
48
+ AZURE: _CloudProvider.ValueType # 3
49
+
50
+ class CloudProvider(_CloudProvider, metaclass=_CloudProviderEnumTypeWrapper): ...
51
+
52
+ INVALID_CLOUD_PROVIDER: CloudProvider.ValueType # 0
53
+ AWS: CloudProvider.ValueType # 1
54
+ GCP: CloudProvider.ValueType # 2
55
+ AZURE: CloudProvider.ValueType # 3
56
+ global___CloudProvider = CloudProvider
57
+
58
+ class _MemoryUnit:
59
+ ValueType = typing.NewType("ValueType", builtins.int)
60
+ V: typing_extensions.TypeAlias = ValueType
61
+
62
+ class _MemoryUnitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MemoryUnit.ValueType], builtins.type): # noqa: F821
63
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
64
+ INVALID_MEMORY_UNIT: _MemoryUnit.ValueType # 0
65
+ MIB: _MemoryUnit.ValueType # 1
66
+ GIB: _MemoryUnit.ValueType # 2
67
+
68
+ class MemoryUnit(_MemoryUnit, metaclass=_MemoryUnitEnumTypeWrapper): ...
69
+
70
+ INVALID_MEMORY_UNIT: MemoryUnit.ValueType # 0
71
+ MIB: MemoryUnit.ValueType # 1
72
+ GIB: MemoryUnit.ValueType # 2
73
+ global___MemoryUnit = MemoryUnit
74
+
75
+ class _LogsVerbosityLevel:
76
+ ValueType = typing.NewType("ValueType", builtins.int)
77
+ V: typing_extensions.TypeAlias = ValueType
78
+
79
+ class _LogsVerbosityLevelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LogsVerbosityLevel.ValueType], builtins.type): # noqa: F821
80
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
81
+ INVALID_LOGS_VERBOSITY: _LogsVerbosityLevel.ValueType # 0
82
+ DEBUG: _LogsVerbosityLevel.ValueType # 10
83
+ INFO: _LogsVerbosityLevel.ValueType # 20
84
+ CRITICAL: _LogsVerbosityLevel.ValueType # 50
85
+
86
+ class LogsVerbosityLevel(_LogsVerbosityLevel, metaclass=_LogsVerbosityLevelEnumTypeWrapper): ...
87
+
88
+ INVALID_LOGS_VERBOSITY: LogsVerbosityLevel.ValueType # 0
89
+ DEBUG: LogsVerbosityLevel.ValueType # 10
90
+ INFO: LogsVerbosityLevel.ValueType # 20
91
+ CRITICAL: LogsVerbosityLevel.ValueType # 50
92
+ global___LogsVerbosityLevel = LogsVerbosityLevel
93
+
94
+ class ModelBuildValues(google.protobuf.message.Message):
95
+ """Represents all values required for initiating a model build job.
96
+ Mirrors the Helm chart values used by Admiral to deploy model builds.
97
+ """
98
+
99
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
100
+
101
+ BUILD_INFO_FIELD_NUMBER: builtins.int
102
+ MODEL_METADATA_FIELD_NUMBER: builtins.int
103
+ MODEL_CODE_LOCATION_FIELD_NUMBER: builtins.int
104
+ BUILD_EXECUTION_SPEC_FIELD_NUMBER: builtins.int
105
+ SDK_SPEC_FIELD_NUMBER: builtins.int
106
+ JFROG_ECOSYSTEM_SPEC_FIELD_NUMBER: builtins.int
107
+ JOB_SPEC_FIELD_NUMBER: builtins.int
108
+ @property
109
+ def build_info(self) -> global___BuildInfo:
110
+ """Build identifiers, tags, parameters, and serialized configuration."""
111
+ @property
112
+ def model_metadata(self) -> global___ModelMetadata:
113
+ """Identifiers and ownership metadata."""
114
+ @property
115
+ def model_code_location(self) -> global___ModelCodeLocation:
116
+ """Location of model code"""
117
+ @property
118
+ def build_execution_spec(self) -> global___BuildExecutionSpec:
119
+ """Execution parameters for the build process."""
120
+ @property
121
+ def sdk_spec(self) -> global___SdkSpec:
122
+ """Environment and SDK-specific execution config."""
123
+ @property
124
+ def jfrog_ecosystem_spec(self) -> global___JfrogEcosystemSpec:
125
+ """Access settings for JFrog ecosystem."""
126
+ @property
127
+ def job_spec(self) -> global___JobSpec:
128
+ """Infrastructure and runtime settings for the build job."""
129
+ def __init__(
130
+ self,
131
+ *,
132
+ build_info: global___BuildInfo | None = ...,
133
+ model_metadata: global___ModelMetadata | None = ...,
134
+ model_code_location: global___ModelCodeLocation | None = ...,
135
+ build_execution_spec: global___BuildExecutionSpec | None = ...,
136
+ sdk_spec: global___SdkSpec | None = ...,
137
+ jfrog_ecosystem_spec: global___JfrogEcosystemSpec | None = ...,
138
+ job_spec: global___JobSpec | None = ...,
139
+ ) -> None: ...
140
+ def HasField(self, field_name: typing_extensions.Literal["build_execution_spec", b"build_execution_spec", "build_info", b"build_info", "jfrog_ecosystem_spec", b"jfrog_ecosystem_spec", "job_spec", b"job_spec", "model_code_location", b"model_code_location", "model_metadata", b"model_metadata", "sdk_spec", b"sdk_spec"]) -> builtins.bool: ...
141
+ def ClearField(self, field_name: typing_extensions.Literal["build_execution_spec", b"build_execution_spec", "build_info", b"build_info", "jfrog_ecosystem_spec", b"jfrog_ecosystem_spec", "job_spec", b"job_spec", "model_code_location", b"model_code_location", "model_metadata", b"model_metadata", "sdk_spec", b"sdk_spec"]) -> None: ...
142
+
143
+ global___ModelBuildValues = ModelBuildValues
144
+
145
+ class BuildInfo(google.protobuf.message.Message):
146
+ """Build identifiers, tags, parameters, and serialized configuration."""
147
+
148
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
149
+
150
+ BUILD_ID_FIELD_NUMBER: builtins.int
151
+ BRANCH_NAME_FIELD_NUMBER: builtins.int
152
+ BUILD_TAGS_FIELD_NUMBER: builtins.int
153
+ BUILD_CONFIG_FIELD_NUMBER: builtins.int
154
+ BUILD_PROPERTIES_V1_FIELD_NUMBER: builtins.int
155
+ build_id: builtins.str
156
+ branch_name: builtins.str
157
+ @property
158
+ def build_tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
159
+ build_config: builtins.str
160
+ """Serialized build configuration."""
161
+ @property
162
+ def build_properties_v1(self) -> global___BuildPropertiesV1: ...
163
+ def __init__(
164
+ self,
165
+ *,
166
+ build_id: builtins.str = ...,
167
+ branch_name: builtins.str = ...,
168
+ build_tags: collections.abc.Iterable[builtins.str] | None = ...,
169
+ build_config: builtins.str = ...,
170
+ build_properties_v1: global___BuildPropertiesV1 | None = ...,
171
+ ) -> None: ...
172
+ def HasField(self, field_name: typing_extensions.Literal["build_properties_v1", b"build_properties_v1"]) -> builtins.bool: ...
173
+ def ClearField(self, field_name: typing_extensions.Literal["branch_name", b"branch_name", "build_config", b"build_config", "build_id", b"build_id", "build_properties_v1", b"build_properties_v1", "build_tags", b"build_tags"]) -> None: ...
174
+
175
+ global___BuildInfo = BuildInfo
176
+
177
+ class BuildPropertiesV1(google.protobuf.message.Message):
178
+ """Build artifact urls set at upload time"""
179
+
180
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
181
+
182
+ BUILD_CONFIG_URL_FIELD_NUMBER: builtins.int
183
+ SDK_WHEEL_URL_FIELD_NUMBER: builtins.int
184
+ SDK_VERSION_URL_FIELD_NUMBER: builtins.int
185
+ build_config_url: builtins.str
186
+ sdk_wheel_url: builtins.str
187
+ sdk_version_url: builtins.str
188
+ def __init__(
189
+ self,
190
+ *,
191
+ build_config_url: builtins.str = ...,
192
+ sdk_wheel_url: builtins.str = ...,
193
+ sdk_version_url: builtins.str = ...,
194
+ ) -> None: ...
195
+ def ClearField(self, field_name: typing_extensions.Literal["build_config_url", b"build_config_url", "sdk_version_url", b"sdk_version_url", "sdk_wheel_url", b"sdk_wheel_url"]) -> None: ...
196
+
197
+ global___BuildPropertiesV1 = BuildPropertiesV1
198
+
199
+ class ModelMetadata(google.protobuf.message.Message):
200
+ """Metadata identifying the model and its ownership."""
201
+
202
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
203
+
204
+ MODEL_ID_FIELD_NUMBER: builtins.int
205
+ ACCOUNT_ID_FIELD_NUMBER: builtins.int
206
+ USER_ID_FIELD_NUMBER: builtins.int
207
+ ARTIFACTORY_DETAILS_FIELD_NUMBER: builtins.int
208
+ model_id: builtins.str
209
+ account_id: builtins.str
210
+ user_id: builtins.str
211
+ @property
212
+ def artifactory_details(self) -> global___ArtifactoryDetails: ...
213
+ def __init__(
214
+ self,
215
+ *,
216
+ model_id: builtins.str = ...,
217
+ account_id: builtins.str = ...,
218
+ user_id: builtins.str = ...,
219
+ artifactory_details: global___ArtifactoryDetails | None = ...,
220
+ ) -> None: ...
221
+ def HasField(self, field_name: typing_extensions.Literal["artifactory_details", b"artifactory_details"]) -> builtins.bool: ...
222
+ def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "artifactory_details", b"artifactory_details", "model_id", b"model_id", "user_id", b"user_id"]) -> None: ...
223
+
224
+ global___ModelMetadata = ModelMetadata
225
+
226
+ class ArtifactoryDetails(google.protobuf.message.Message):
227
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
228
+
229
+ PROJECT_KEY_FIELD_NUMBER: builtins.int
230
+ project_key: builtins.str
231
+ def __init__(
232
+ self,
233
+ *,
234
+ project_key: builtins.str = ...,
235
+ ) -> None: ...
236
+ def ClearField(self, field_name: typing_extensions.Literal["project_key", b"project_key"]) -> None: ...
237
+
238
+ global___ArtifactoryDetails = ArtifactoryDetails
239
+
240
+ class ModelCodeLocation(google.protobuf.message.Message):
241
+ """References to the model's storage location and source control info."""
242
+
243
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
244
+
245
+ MAIN_MODEL_DIRECTORY_FIELD_NUMBER: builtins.int
246
+ LOCAL_URI_FIELD_NUMBER: builtins.int
247
+ GIT_URI_FIELD_NUMBER: builtins.int
248
+ main_model_directory: builtins.str
249
+ @property
250
+ def local_uri(self) -> global___LocalUri: ...
251
+ @property
252
+ def git_uri(self) -> global___GitUri: ...
253
+ def __init__(
254
+ self,
255
+ *,
256
+ main_model_directory: builtins.str = ...,
257
+ local_uri: global___LocalUri | None = ...,
258
+ git_uri: global___GitUri | None = ...,
259
+ ) -> None: ...
260
+ def HasField(self, field_name: typing_extensions.Literal["git_uri", b"git_uri", "local_uri", b"local_uri", "uri", b"uri"]) -> builtins.bool: ...
261
+ def ClearField(self, field_name: typing_extensions.Literal["git_uri", b"git_uri", "local_uri", b"local_uri", "main_model_directory", b"main_model_directory", "uri", b"uri"]) -> None: ...
262
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["uri", b"uri"]) -> typing_extensions.Literal["local_uri", "git_uri"] | None: ...
263
+
264
+ global___ModelCodeLocation = ModelCodeLocation
265
+
266
+ class LocalUri(google.protobuf.message.Message):
267
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
268
+
269
+ PATH_FIELD_NUMBER: builtins.int
270
+ path: builtins.str
271
+ def __init__(
272
+ self,
273
+ *,
274
+ path: builtins.str = ...,
275
+ ) -> None: ...
276
+ def ClearField(self, field_name: typing_extensions.Literal["path", b"path"]) -> None: ...
277
+
278
+ global___LocalUri = LocalUri
279
+
280
+ class GitUri(google.protobuf.message.Message):
281
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
282
+
283
+ URL_FIELD_NUMBER: builtins.int
284
+ GIT_DETAILS_FIELD_NUMBER: builtins.int
285
+ url: builtins.str
286
+ @property
287
+ def git_details(self) -> global___GitDetails: ...
288
+ def __init__(
289
+ self,
290
+ *,
291
+ url: builtins.str = ...,
292
+ git_details: global___GitDetails | None = ...,
293
+ ) -> None: ...
294
+ def HasField(self, field_name: typing_extensions.Literal["git_details", b"git_details"]) -> builtins.bool: ...
295
+ def ClearField(self, field_name: typing_extensions.Literal["git_details", b"git_details", "url", b"url"]) -> None: ...
296
+
297
+ global___GitUri = GitUri
298
+
299
+ class GitDetails(google.protobuf.message.Message):
300
+ """Git source control information used for the build."""
301
+
302
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
303
+
304
+ BRANCH_FIELD_NUMBER: builtins.int
305
+ COMMIT_ID_FIELD_NUMBER: builtins.int
306
+ CREDENTIALS_FIELD_NUMBER: builtins.int
307
+ CREDENTIALS_SECRET_NAME_FIELD_NUMBER: builtins.int
308
+ branch: builtins.str
309
+ commit_id: builtins.str
310
+ credentials: builtins.str
311
+ credentials_secret_name: builtins.str
312
+ def __init__(
313
+ self,
314
+ *,
315
+ branch: builtins.str = ...,
316
+ commit_id: builtins.str = ...,
317
+ credentials: builtins.str = ...,
318
+ credentials_secret_name: builtins.str = ...,
319
+ ) -> None: ...
320
+ def HasField(self, field_name: typing_extensions.Literal["credentials", b"credentials", "credentials_secret_name", b"credentials_secret_name", "git_credentials", b"git_credentials"]) -> builtins.bool: ...
321
+ def ClearField(self, field_name: typing_extensions.Literal["branch", b"branch", "commit_id", b"commit_id", "credentials", b"credentials", "credentials_secret_name", b"credentials_secret_name", "git_credentials", b"git_credentials"]) -> None: ...
322
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["git_credentials", b"git_credentials"]) -> typing_extensions.Literal["credentials", "credentials_secret_name"] | None: ...
323
+
324
+ global___GitDetails = GitDetails
325
+
326
+ class BuildExecutionSpec(google.protobuf.message.Message):
327
+ """Specifies how the build should be executed."""
328
+
329
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
330
+
331
+ BUILD_IMAGE_DESTINATION_FIELD_NUMBER: builtins.int
332
+ SHOULD_BUILD_WITHOUT_CACHE_FIELD_NUMBER: builtins.int
333
+ LOGS_VERBOSITY_LEVEL_FIELD_NUMBER: builtins.int
334
+ BASE_IMAGE_FIELD_NUMBER: builtins.int
335
+ CUSTOM_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
336
+ ENV_VARS_FIELD_NUMBER: builtins.int
337
+ REMOTE_BUILDER_AUTH_SECRET_NAME_FIELD_NUMBER: builtins.int
338
+ CONTAINER_ENGINE_FIELD_NUMBER: builtins.int
339
+ build_image_destination: builtins.str
340
+ """Destination image to be built and pushed."""
341
+ should_build_without_cache: builtins.bool
342
+ """If true, disables build caching."""
343
+ logs_verbosity_level: global___LogsVerbosityLevel.ValueType
344
+ """Verbosity level for build logs."""
345
+ base_image: builtins.str
346
+ """Base Docker image used in the build."""
347
+ custom_iam_role_arn: builtins.str
348
+ """Custom IAM role used during the build."""
349
+ @property
350
+ def env_vars(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
351
+ """Env var parameters used in the build process"""
352
+ remote_builder_auth_secret_name: builtins.str
353
+ """Secret name for the remote builder, used for remote build registry authentication"""
354
+ @property
355
+ def container_engine(self) -> global___ContainerEngine:
356
+ """Container engine to use for the build (e.g., Docker, Podman)"""
357
+ def __init__(
358
+ self,
359
+ *,
360
+ build_image_destination: builtins.str = ...,
361
+ should_build_without_cache: builtins.bool = ...,
362
+ logs_verbosity_level: global___LogsVerbosityLevel.ValueType = ...,
363
+ base_image: builtins.str = ...,
364
+ custom_iam_role_arn: builtins.str = ...,
365
+ env_vars: collections.abc.Iterable[builtins.str] | None = ...,
366
+ remote_builder_auth_secret_name: builtins.str = ...,
367
+ container_engine: global___ContainerEngine | None = ...,
368
+ ) -> None: ...
369
+ def HasField(self, field_name: typing_extensions.Literal["container_engine", b"container_engine"]) -> builtins.bool: ...
370
+ def ClearField(self, field_name: typing_extensions.Literal["base_image", b"base_image", "build_image_destination", b"build_image_destination", "container_engine", b"container_engine", "custom_iam_role_arn", b"custom_iam_role_arn", "env_vars", b"env_vars", "logs_verbosity_level", b"logs_verbosity_level", "remote_builder_auth_secret_name", b"remote_builder_auth_secret_name", "should_build_without_cache", b"should_build_without_cache"]) -> None: ...
371
+
372
+ global___BuildExecutionSpec = BuildExecutionSpec
373
+
374
+ class SdkSpec(google.protobuf.message.Message):
375
+ """Specifies the SDK environment and configuration used to execute the build."""
376
+
377
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
378
+
379
+ SDK_VERSION_FIELD_NUMBER: builtins.int
380
+ SDK_EXTRA_INDEX_URL_FIELD_NUMBER: builtins.int
381
+ SDK_RUNTIME_VERSION_OVERRIDE_FIELD_NUMBER: builtins.int
382
+ sdk_version: builtins.str
383
+ sdk_extra_index_url: builtins.str
384
+ sdk_runtime_version_override: builtins.str
385
+ def __init__(
386
+ self,
387
+ *,
388
+ sdk_version: builtins.str = ...,
389
+ sdk_extra_index_url: builtins.str = ...,
390
+ sdk_runtime_version_override: builtins.str = ...,
391
+ ) -> None: ...
392
+ def ClearField(self, field_name: typing_extensions.Literal["sdk_extra_index_url", b"sdk_extra_index_url", "sdk_runtime_version_override", b"sdk_runtime_version_override", "sdk_version", b"sdk_version"]) -> None: ...
393
+
394
+ global___SdkSpec = SdkSpec
395
+
396
+ class JfrogEcosystemSpec(google.protobuf.message.Message):
397
+ """JFrog ecosystem configuration, used for authentication and configuration"""
398
+
399
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
400
+
401
+ BASEURL_FIELD_NUMBER: builtins.int
402
+ ACCESSTOKENSECRETNAME_FIELD_NUMBER: builtins.int
403
+ ARTIFACTORYSETTINGSSECRETNAME_FIELD_NUMBER: builtins.int
404
+ baseUrl: builtins.str
405
+ accessTokenSecretName: builtins.str
406
+ artifactorySettingsSecretName: builtins.str
407
+ def __init__(
408
+ self,
409
+ *,
410
+ baseUrl: builtins.str = ...,
411
+ accessTokenSecretName: builtins.str = ...,
412
+ artifactorySettingsSecretName: builtins.str = ...,
413
+ ) -> None: ...
414
+ def ClearField(self, field_name: typing_extensions.Literal["accessTokenSecretName", b"accessTokenSecretName", "artifactorySettingsSecretName", b"artifactorySettingsSecretName", "baseUrl", b"baseUrl"]) -> None: ...
415
+
416
+ global___JfrogEcosystemSpec = JfrogEcosystemSpec
417
+
418
+ class JobSpec(google.protobuf.message.Message):
419
+ """Describes the runtime and infrastructure settings for a build job."""
420
+
421
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
422
+
423
+ NAMESPACE_FIELD_NUMBER: builtins.int
424
+ PROVISION_INSTANCE_TIMEOUT_FIELD_NUMBER: builtins.int
425
+ PURCHASE_OPTION_FIELD_NUMBER: builtins.int
426
+ IS_NODE_OPTIMIZATION_ENABLED_FIELD_NUMBER: builtins.int
427
+ SHOULD_USE_BUILD_ISOLATION_FIELD_NUMBER: builtins.int
428
+ IS_MULTI_TENANT_ENVIRONMENT_FIELD_NUMBER: builtins.int
429
+ IS_SELF_HOSTED_JPD_FIELD_NUMBER: builtins.int
430
+ BUILD_EXECUTOR_IMAGE_URL_FIELD_NUMBER: builtins.int
431
+ CLOUD_PROVIDER_FIELD_NUMBER: builtins.int
432
+ JOB_SIZE_FIELD_NUMBER: builtins.int
433
+ namespace: builtins.str
434
+ """Kubernetes namespace in which to run the build job."""
435
+ provision_instance_timeout: builtins.int
436
+ purchase_option: global___PurchaseOption.ValueType
437
+ is_node_optimization_enabled: builtins.bool
438
+ should_use_build_isolation: builtins.bool
439
+ is_multi_tenant_environment: builtins.bool
440
+ is_self_hosted_jpd: builtins.bool
441
+ build_executor_image_url: builtins.str
442
+ """Image used for the build executor."""
443
+ cloud_provider: global___CloudProvider.ValueType
444
+ @property
445
+ def job_size(self) -> global___JobSize: ...
446
+ def __init__(
447
+ self,
448
+ *,
449
+ namespace: builtins.str = ...,
450
+ provision_instance_timeout: builtins.int = ...,
451
+ purchase_option: global___PurchaseOption.ValueType = ...,
452
+ is_node_optimization_enabled: builtins.bool = ...,
453
+ should_use_build_isolation: builtins.bool = ...,
454
+ is_multi_tenant_environment: builtins.bool = ...,
455
+ is_self_hosted_jpd: builtins.bool = ...,
456
+ build_executor_image_url: builtins.str = ...,
457
+ cloud_provider: global___CloudProvider.ValueType = ...,
458
+ job_size: global___JobSize | None = ...,
459
+ ) -> None: ...
460
+ def HasField(self, field_name: typing_extensions.Literal["job_size", b"job_size"]) -> builtins.bool: ...
461
+ def ClearField(self, field_name: typing_extensions.Literal["build_executor_image_url", b"build_executor_image_url", "cloud_provider", b"cloud_provider", "is_multi_tenant_environment", b"is_multi_tenant_environment", "is_node_optimization_enabled", b"is_node_optimization_enabled", "is_self_hosted_jpd", b"is_self_hosted_jpd", "job_size", b"job_size", "namespace", b"namespace", "provision_instance_timeout", b"provision_instance_timeout", "purchase_option", b"purchase_option", "should_use_build_isolation", b"should_use_build_isolation"]) -> None: ...
462
+
463
+ global___JobSpec = JobSpec
464
+
465
+ class JobSize(google.protobuf.message.Message):
466
+ """Defines the CPU, memory, and GPU resources allocated to a build job."""
467
+
468
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
469
+
470
+ CPU_FIELD_NUMBER: builtins.int
471
+ MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
472
+ MEMORY_UNITS_FIELD_NUMBER: builtins.int
473
+ GPU_RESOURCES_FIELD_NUMBER: builtins.int
474
+ CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
475
+ cpu: builtins.float
476
+ memory_amount: builtins.int
477
+ memory_units: global___MemoryUnit.ValueType
478
+ @property
479
+ def gpu_resources(self) -> qwak.user_application.common.v0.resources_pb2.GpuResources: ...
480
+ @property
481
+ def client_pod_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources: ...
482
+ def __init__(
483
+ self,
484
+ *,
485
+ cpu: builtins.float = ...,
486
+ memory_amount: builtins.int = ...,
487
+ memory_units: global___MemoryUnit.ValueType = ...,
488
+ gpu_resources: qwak.user_application.common.v0.resources_pb2.GpuResources | None = ...,
489
+ client_pod_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
490
+ ) -> None: ...
491
+ def HasField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "gpu_resources", b"gpu_resources"]) -> builtins.bool: ...
492
+ def ClearField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "cpu", b"cpu", "gpu_resources", b"gpu_resources", "memory_amount", b"memory_amount", "memory_units", b"memory_units"]) -> None: ...
493
+
494
+ global___JobSize = JobSize
495
+
496
+ class ContainerEngine(google.protobuf.message.Message):
497
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
498
+
499
+ DOCKER_FIELD_NUMBER: builtins.int
500
+ PODMAN_FIELD_NUMBER: builtins.int
501
+ @property
502
+ def docker(self) -> global___DockerContainerEngine: ...
503
+ @property
504
+ def podman(self) -> global___PodmanContainerEngine: ...
505
+ def __init__(
506
+ self,
507
+ *,
508
+ docker: global___DockerContainerEngine | None = ...,
509
+ podman: global___PodmanContainerEngine | None = ...,
510
+ ) -> None: ...
511
+ def HasField(self, field_name: typing_extensions.Literal["docker", b"docker", "podman", b"podman", "type", b"type"]) -> builtins.bool: ...
512
+ def ClearField(self, field_name: typing_extensions.Literal["docker", b"docker", "podman", b"podman", "type", b"type"]) -> None: ...
513
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["docker", "podman"] | None: ...
514
+
515
+ global___ContainerEngine = ContainerEngine
516
+
517
+ class DockerContainerEngine(google.protobuf.message.Message):
518
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
519
+
520
+ def __init__(
521
+ self,
522
+ ) -> None: ...
523
+
524
+ global___DockerContainerEngine = DockerContainerEngine
525
+
526
+ class PodmanContainerEngine(google.protobuf.message.Message):
527
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
528
+
529
+ def __init__(
530
+ self,
531
+ ) -> None: ...
532
+
533
+ global___PodmanContainerEngine = PodmanContainerEngine
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -11,12 +11,12 @@ from google.protobuf.internal import builder as _builder
11
11
  _sym_db = _symbol_database.Default()
12
12
 
13
13
 
14
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
14
15
  from _qwak_proto.qwak.models import models_pb2 as qwak_dot_models_dot_models__pb2
15
16
  from _qwak_proto.qwak.projects import jfrog_project_spec_pb2 as qwak_dot_projects_dot_jfrog__project__spec__pb2
16
- from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x18qwak/models/models.proto\x1a&qwak/projects/jfrog_project_spec.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xad\x03\n\x0eProjectRequest\x12P\n\x16\x63reate_project_request\x18\x01 \x01(\x0b\x32..qwak.projects.management.CreateProjectRequestH\x00\x12P\n\x16\x64\x65lete_project_request\x18\x02 \x01(\x0b\x32..qwak.projects.management.DeleteProjectRequestH\x00\x12P\n\x16update_project_request\x18\x03 \x01(\x0b\x32..qwak.projects.management.UpdateProjectRequestH\x00\x12J\n\x13get_project_request\x18\x04 \x01(\x0b\x32+.qwak.projects.management.GetProjectRequestH\x00\x12N\n\x15list_projects_request\x18\x05 \x01(\x0b\x32-.qwak.projects.management.ListProjectsRequestH\x00\x42\t\n\x07request\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"M\n\x18ProjectSpecConfiguration\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18qwak/models/models.proto\x1a&qwak/projects/jfrog_project_spec.proto\"\xad\x03\n\x0eProjectRequest\x12P\n\x16\x63reate_project_request\x18\x01 \x01(\x0b\x32..qwak.projects.management.CreateProjectRequestH\x00\x12P\n\x16\x64\x65lete_project_request\x18\x02 \x01(\x0b\x32..qwak.projects.management.DeleteProjectRequestH\x00\x12P\n\x16update_project_request\x18\x03 \x01(\x0b\x32..qwak.projects.management.UpdateProjectRequestH\x00\x12J\n\x13get_project_request\x18\x04 \x01(\x0b\x32+.qwak.projects.management.GetProjectRequestH\x00\x12N\n\x15list_projects_request\x18\x05 \x01(\x0b\x32-.qwak.projects.management.ListProjectsRequestH\x00\x42\t\n\x07request\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"Q\n\x18ProjectSpecConfiguration\x12\x18\n\x0cproject_name\x18\x01 \x01(\tB\x02\x18\x01\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -27,6 +27,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
27
27
  DESCRIPTOR._serialized_options = b'\n#com.qwak.ai.management.projects.apiP\001'
28
28
  _PROJECT.fields_by_name['models']._options = None
29
29
  _PROJECT.fields_by_name['models']._serialized_options = b'\030\001'
30
+ _PROJECTSPECCONFIGURATION.fields_by_name['project_name']._options = None
31
+ _PROJECTSPECCONFIGURATION.fields_by_name['project_name']._serialized_options = b'\030\001'
30
32
  _globals['_PROJECTREQUEST']._serialized_start=158
31
33
  _globals['_PROJECTREQUEST']._serialized_end=587
32
34
  _globals['_CREATEPROJECTREQUEST']._serialized_start=590
@@ -56,17 +58,17 @@ if _descriptor._USE_C_DESCRIPTORS == False:
56
58
  _globals['_PROJECTSPEC_STATUS']._serialized_start=1958
57
59
  _globals['_PROJECTSPEC_STATUS']._serialized_end=2020
58
60
  _globals['_PROJECTSPECCONFIGURATION']._serialized_start=2022
59
- _globals['_PROJECTSPECCONFIGURATION']._serialized_end=2099
60
- _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_start=2102
61
- _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_end=2407
62
- _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_start=2409
63
- _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_end=2473
64
- _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_start=2475
65
- _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_end=2538
66
- _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_start=2541
67
- _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_end=2852
68
- _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_start=2854
69
- _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_end=2908
70
- _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_start=2911
71
- _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_end=3496
61
+ _globals['_PROJECTSPECCONFIGURATION']._serialized_end=2103
62
+ _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_start=2106
63
+ _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_end=2411
64
+ _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_start=2413
65
+ _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_end=2477
66
+ _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_start=2479
67
+ _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_end=2542
68
+ _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_start=2545
69
+ _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_end=2856
70
+ _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_start=2858
71
+ _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_end=2912
72
+ _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_start=2915
73
+ _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_end=3500
72
74
  # @@protoc_insertion_point(module_scope)
qwak/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for qwak-core."""
2
2
 
3
3
  __author__ = "Qwak.ai"
4
- __version__ = "0.4.370"
4
+ __version__ = "0.4.396"
5
5
 
6
6
  from qwak.inner.di_configuration import wire_dependencies
7
7
  from qwak.model.experiment_tracking import log_metric, log_param
@@ -16,6 +16,7 @@ from qwak.feature_store._common.value import (
16
16
  UPDATE_QWAK_SDK_WITH_FEATURE_STORE_EXTRA_MSG,
17
17
  )
18
18
  from requests import HTTPError, Response
19
+ from urllib.parse import urlparse, ParseResult
19
20
 
20
21
  ZIP_FUNCTION_CONTENT_TYPE = "text/plain"
21
22
 
@@ -220,17 +221,22 @@ def put_files_content(
220
221
 
221
222
 
222
223
  def upload_to_s3(presign_url: str, in_memory_zip: bytes, content_type: str) -> str:
224
+ parsed_url: ParseResult = urlparse(presign_url)
225
+ extra_headers: Dict[str, str] = (
226
+ {"x-ms-blob-type": "BlockBlob"}
227
+ if parsed_url.hostname.endswith(".blob.core.windows.net")
228
+ else None
229
+ )
223
230
  put_files_content(
224
231
  url=presign_url,
225
232
  content=in_memory_zip,
226
233
  content_type=content_type,
234
+ extra_headers=extra_headers,
227
235
  )
228
- from urllib.parse import urlparse
229
236
 
230
- parsed_url = urlparse(presign_url)
231
- postfix = parsed_url.path
232
- bucket = parsed_url.hostname.split(".s3.")[0]
233
- s3_path = f"s3://{bucket}{postfix}" # noqa: E231
237
+ postfix: str = parsed_url.path
238
+ bucket: str = parsed_url.hostname.split(".s3.")[0]
239
+ s3_path: str = f"s3://{bucket}{postfix}" # noqa: E231
234
240
  return s3_path
235
241
 
236
242
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qwak-core
3
- Version: 0.4.370
3
+ Version: 0.4.396
4
4
  Summary: Qwak Core contains the necessary objects and communication tools for using the Qwak Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -46,8 +46,8 @@ _qwak_proto/qwak/administration/runtime_configuration/v0/creds/secret_pb2_grpc.p
46
46
  _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.py,sha256=qhcszHQcNgbDHdsC2U0E0f0s6Z6K9ZCSQNKkaeaIMbU,2888
47
47
  _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2.pyi,sha256=itqSZkHGzVDfHMNTK6rlgXkU19ZncRNYYeO8-lHIpXU,3399
48
48
  _qwak_proto/qwak/administration/runtime_configuration/v0/data_catalog_config_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
49
- _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.py,sha256=VDRq528CqnP-pdD2yRxZhRIFqL3kRCqR9r5ZwMaPdj4,3038
50
- _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.pyi,sha256=I5Sl--28ll5QxyRi2Baaf8uuOmz5NLC8CYl2XllbhtE,3764
49
+ _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.py,sha256=Xsr3QoqcR-5ktyX6ks595efBZ8BXxgaRXXuZ6MEmHk8,3537
50
+ _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2.pyi,sha256=IYgeqMFvIzl4rJrrJh0SSlGsQcqCGoQ5IXl_IwBy33g,5125
51
51
  _qwak_proto/qwak/administration/runtime_configuration/v0/external/databricks/auth_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
52
52
  _qwak_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.py,sha256=KbF15euA3Jrc4LfCVSjWAEM1dIcV5KCqSuo_w7RIo44,2308
53
53
  _qwak_proto/qwak/administration/runtime_configuration/v0/external/elasticsearch_config_pb2.pyi,sha256=kn55-29574hUvrodpivp5TLXyOaJ8VuGzyUIt73syAc,1525
@@ -70,8 +70,8 @@ _qwak_proto/qwak/administration/runtime_configuration/v0/feature_store_config_pb
70
70
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.py,sha256=7cnXQm-0nz1N9ABllcUYWAP877989cA9V64hdgFebp4,4634
71
71
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2.pyi,sha256=ShrRAP2q9cAiK-DGgCrOY-yx8HNEc3faRAOW8sGrTso,7529
72
72
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/aws/auth_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
73
- _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.py,sha256=iFVB7yut69FX7HAewDV50-aAUY2Q_UWAzGGuEeQETmY,3760
74
- _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.pyi,sha256=u0sPHHuH3Z4nIRNs5bWWXye2Z1AKJKtyU8lBrObSvSU,4943
73
+ _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.py,sha256=I5fgDuhWQJngaEzPNcqJ90re1eAW9NY2tvBh2If_kcA,4219
74
+ _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2.pyi,sha256=rkgJJYJc_QbMllvphZOwrm_Jla-KPpZ2Rt6Lb1bqWcQ,6127
75
75
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting/azure/auth_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
76
76
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.py,sha256=PdbXyznN2L1xFXs1P9CiHXIhI6Iy3xve46iiXM-PnQM,4776
77
77
  _qwak_proto/qwak/administration/runtime_configuration/v0/hosting_config_pb2.pyi,sha256=lFhK2Vh0aZXfCBlzL-EKVSzEKR5yQ9MVHI_NnKXosek,7326
@@ -196,12 +196,15 @@ _qwak_proto/qwak/build_settings/build_settings_api_pb2_grpc.py,sha256=I8qxd_DuYr
196
196
  _qwak_proto/qwak/build_settings/build_settings_pb2.py,sha256=KycMr1SY_3UPDhXm2IONYur2gT0egCEcAeO_DGHBqyg,3258
197
197
  _qwak_proto/qwak/build_settings/build_settings_pb2.pyi,sha256=MMYamilVLTgHn-WmsIqRCI8K9QJSehtxAclPeP75CWA,7049
198
198
  _qwak_proto/qwak/build_settings/build_settings_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
199
- _qwak_proto/qwak/builds/build_pb2.py,sha256=aeFmWCMYPFNcGrdn7OxxzDpZeJSxkV8gJ5JCN1alvZs,9184
200
- _qwak_proto/qwak/builds/build_pb2.pyi,sha256=8YfYEmIXAYJF6SseytV3QZvS7gxabDf9m7wy8PlAxX8,26554
199
+ _qwak_proto/qwak/builds/build_pb2.py,sha256=VucN5JInr7_b-rWxOM17dtFcaAXwpFRE1YpcBOpyamQ,9410
200
+ _qwak_proto/qwak/builds/build_pb2.pyi,sha256=yuwHuPN-i6iQ470SwNyhl4WP-z8mgFgk96X6787s3Ds,27079
201
201
  _qwak_proto/qwak/builds/build_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
202
202
  _qwak_proto/qwak/builds/build_url_pb2.py,sha256=G7EUD7nYmhEVsStEYPnmqiESsV6sKaWjmcuyvahI0nk,4611
203
203
  _qwak_proto/qwak/builds/build_url_pb2.pyi,sha256=qaYyuLRHN2hOqYXlN9mKJo9gpggUnPmTVZIu-zNA0dI,11372
204
204
  _qwak_proto/qwak/builds/build_url_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
205
+ _qwak_proto/qwak/builds/build_values_pb2.py,sha256=L-bkUAQIZFC1NcJcpsnNDUlBO8Br2N52yest-pZ3ZNA,8860
206
+ _qwak_proto/qwak/builds/build_values_pb2.pyi,sha256=T-WvC45AaYIuQbYbs2QysVVHVaOqsaG1HyTz8NxQaek,24158
207
+ _qwak_proto/qwak/builds/build_values_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
205
208
  _qwak_proto/qwak/builds/builds_orchestrator_service_pb2.py,sha256=nvh6ANn8rNVjWByiB0xu-8Kt45FKh-C8YJaw5_I_N9M,14575
206
209
  _qwak_proto/qwak/builds/builds_orchestrator_service_pb2.pyi,sha256=Vl8UmQpIEslUhln3_xizdaHAWfBMBuaL8-aNAbdNBQs,24711
207
210
  _qwak_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py,sha256=nNTst6BicQAkC-z2Iz2OXI6_3oXCVL7S0zrwEWgKjuE,27004
@@ -541,7 +544,7 @@ _qwak_proto/qwak/offline/serving/v1/population_pb2_grpc.py,sha256=1oboBPFxaTEXt9
541
544
  _qwak_proto/qwak/projects/jfrog_project_spec_pb2.py,sha256=W4eUydLc6G50n8M56_b2BVdn39Pq3H0qfemHaf4mCTI,1310
542
545
  _qwak_proto/qwak/projects/jfrog_project_spec_pb2.pyi,sha256=Ovtqc19hCDGuOaaXKfMplDFnuMjVnzI7GX1lep8NrjA,1279
543
546
  _qwak_proto/qwak/projects/jfrog_project_spec_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
544
- _qwak_proto/qwak/projects/projects_pb2.py,sha256=J6O9FrcmE6A36hc5xgeGPTzioEmrWyVeE6fa-UjyGIQ,8665
547
+ _qwak_proto/qwak/projects/projects_pb2.py,sha256=3PbNFlXi5_qM2joyhBcC2XdNjQRQubCItRZoKg-hqvk,8846
545
548
  _qwak_proto/qwak/projects/projects_pb2.pyi,sha256=JG3ORdann5kvmsPfOH_ECRNJQluTpeQyv7DtHXqHy9I,20118
546
549
  _qwak_proto/qwak/projects/projects_pb2_grpc.py,sha256=bM4s9M89p8YSodLUwWTPR_IpB3bGw6E6NQxXoONxxMA,9642
547
550
  _qwak_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2.py,sha256=UlQf0aTOQzdo9SeFIpv7Uytdm2j8-dovKewLIKZWBHI,9021
@@ -619,7 +622,7 @@ _qwak_proto/qwak/workspace/workspace_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
619
622
  _qwak_proto/qwak/workspace/workspace_service_pb2.py,sha256=93uNm83VVrkLG_XVsuBOBTPs4UJF91YD1xJTOEbRyig,9239
620
623
  _qwak_proto/qwak/workspace/workspace_service_pb2.pyi,sha256=nKKCHwnovZhsy8TSVmdz-Vtl0nviOOoX56HD-41Xo08,13726
621
624
  _qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py,sha256=yKGuexxTBza99Ihe0DSTniV2ZSd_AG47inHenqfi890,27193
622
- qwak/__init__.py,sha256=sVNasoCT_YbRXU_tUrY8iS4mP3T_3VoVCine1S5Y2Z0,587
625
+ qwak/__init__.py,sha256=ZGpyc7CXYfta3EtWAtLY9jand5pauIWwpHEt8jqVhI8,587
623
626
  qwak/automations/__init__.py,sha256=qFZRvCxUUn8gcxkJR0v19ulHW2oJ0x6-Rif7HiheDP4,1522
624
627
  qwak/automations/automation_executions.py,sha256=5MeH_epYYWb8NKXgAozwT_jPyyUDednBHG7izloi7RY,3228
625
628
  qwak/automations/automations.py,sha256=2Wyrgj2mW5VmJzTKAXj3vQM_svYCuq_Bsu3_Vu9SdR4,12732
@@ -729,7 +732,7 @@ qwak/feature_store/_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
729
732
  qwak/feature_store/_common/artifact_utils.py,sha256=9N_hFk5eguOWUHR4xw93bCghJyG3oc7zNfb40ypGQy8,1933
730
733
  qwak/feature_store/_common/feature_set_utils.py,sha256=dhtPWnwv1nB3h3EA8FAYklx1qGkO_Dj1jecaBGNNpew,8634
731
734
  qwak/feature_store/_common/functions.py,sha256=kSNYJ7dy48NN09HG9asm4ibQh0JaCGcZYsRDjRWlUHE,659
732
- qwak/feature_store/_common/packaging.py,sha256=jKGlsHcIEGc0_J8CIAHYxnNTX_tpcPcCk7IpKHfPDIM,8512
735
+ qwak/feature_store/_common/packaging.py,sha256=dUXwg3dFc5asv0tqeepnfCE6sUnlu_g8wcUUMNOqWaM,8754
733
736
  qwak/feature_store/_common/source_code_spec.py,sha256=UmpuJxte8OtztkXuN5d4TFQk_f-MLnjHm_T7W4DF3N4,3762
734
737
  qwak/feature_store/_common/source_code_spec_factory.py,sha256=F4aKvUnDHvRiB-jQpeH2kTNpUsZlGUC1kAVIz9xWIMY,3326
735
738
  qwak/feature_store/_common/value.py,sha256=6aN3101DvEDUJalNL1LrzH32wi9SVhl0ZpsGHcFJZzg,323
@@ -1092,6 +1095,6 @@ qwak_services_mock/mocks/workspace_manager_service_mock.py,sha256=O9ZSwln4T4kHVk
1092
1095
  qwak_services_mock/services_mock.py,sha256=0BWwS2re9ryO3JrJJgSNyEQ0lDOjyrpV36oa8t7Pd7A,19163
1093
1096
  qwak_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1094
1097
  qwak_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1095
- qwak_core-0.4.370.dist-info/METADATA,sha256=6pTmzUZrkVXJp0l7V-m89xojpk08J5vFHCt9vQ4Mkf0,2088
1096
- qwak_core-0.4.370.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1097
- qwak_core-0.4.370.dist-info/RECORD,,
1098
+ qwak_core-0.4.396.dist-info/METADATA,sha256=518i_0mKuV6-1sirnyV5onCGdsbH2WRy2ycLrPjfkF4,2088
1099
+ qwak_core-0.4.396.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1100
+ qwak_core-0.4.396.dist-info/RECORD,,