frogml-core 0.0.72__py3-none-any.whl → 0.0.74__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.
- frogml_core/__init__.py +1 -1
- frogml_core/clients/feature_store/offline_serving_client.py +31 -29
- frogml_core/clients/location_discovery/__init__.py +1 -0
- frogml_core/clients/location_discovery/client.py +73 -0
- frogml_core/feature_store/_common/functions.py +0 -19
- frogml_core/feature_store/offline/__init__.py +1 -2
- frogml_core/inner/model_loggers_utils.py +8 -22
- frogml_core/model_loggers/artifact_logger.py +7 -2
- frogml_core/model_loggers/data_logger.py +11 -6
- {frogml_core-0.0.72.dist-info → frogml_core-0.0.74.dist-info}/METADATA +1 -1
- {frogml_core-0.0.72.dist-info → frogml_core-0.0.74.dist-info}/RECORD +21 -16
- frogml_proto/qwak/service_discovery/service_discovery_location_pb2.py +65 -0
- frogml_proto/qwak/service_discovery/service_discovery_location_pb2.pyi +73 -0
- frogml_proto/qwak/service_discovery/service_discovery_location_pb2_grpc.py +4 -0
- frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2.py +49 -0
- frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2.pyi +41 -0
- frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2_grpc.py +231 -0
- frogml_services_mock/mocks/frogml_mocks.py +4 -0
- frogml_services_mock/mocks/location_discovery_service_api.py +104 -0
- frogml_services_mock/services_mock.py +16 -4
- frogml_core/feature_store/offline/_query_engine.py +0 -32
- frogml_core/feature_store/offline/athena/__init__.py +0 -0
- frogml_core/feature_store/offline/athena/athena_query_engine.py +0 -154
- frogml_core/feature_store/offline/client.py +0 -721
- {frogml_core-0.0.72.dist-info → frogml_core-0.0.74.dist-info}/WHEEL +0 -0
frogml_core/__init__.py
CHANGED
@@ -1,40 +1,23 @@
|
|
1
1
|
import logging
|
2
2
|
from typing import List, Optional
|
3
3
|
|
4
|
-
|
5
|
-
from
|
6
|
-
|
4
|
+
import grpc
|
5
|
+
from frogml_core.clients.location_discovery import LocationDiscoveryClient
|
6
|
+
from frogml_core.inner.tool.grpc.grpc_tools import create_grpc_channel
|
7
|
+
from frogml_core.inner.tool.retry_utils import retry
|
7
8
|
from frogml_proto.qwak.offline.serving.v1.feature_values_pb2 import (
|
8
9
|
FeaturesetFeatures as ProtoFeaturesetFeatures,
|
9
10
|
)
|
10
11
|
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
11
12
|
FeatureValuesRequestStatus as ProtoFeatureValuesRequestStatus,
|
12
|
-
)
|
13
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
14
13
|
FileFormat as ProtoFileFormat,
|
15
|
-
)
|
16
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
17
14
|
GetFeatureValuesInRangeRequest as ProtoGetFeatureValuesInRangeRequest,
|
18
|
-
)
|
19
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
20
15
|
GetFeatureValuesInRangeResponse as ProtoGetFeatureValuesInRangeResponse,
|
21
|
-
)
|
22
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
23
16
|
GetFeatureValuesRequest as ProtoGetFeatureValuesRequest,
|
24
|
-
)
|
25
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
26
17
|
GetFeatureValuesResponse as ProtoGetFeatureValuesResponse,
|
27
|
-
)
|
28
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
29
18
|
GetFeatureValuesResultRequest as ProtoGetFeatureValuesResultRequest,
|
30
|
-
)
|
31
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
32
19
|
GetFeatureValuesResultResponse as ProtoGetFeatureValuesResultResponse,
|
33
|
-
)
|
34
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
35
20
|
GetFileUploadUrlRequest as ProtoGetFileUploadUrlRequest,
|
36
|
-
)
|
37
|
-
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2 import (
|
38
21
|
GetFileUploadUrlResponse as ProtoGetFileUploadUrlResponse,
|
39
22
|
)
|
40
23
|
from frogml_proto.qwak.offline.serving.v1.offline_serving_async_service_pb2_grpc import (
|
@@ -45,15 +28,10 @@ from frogml_proto.qwak.offline.serving.v1.options_pb2 import (
|
|
45
28
|
)
|
46
29
|
from frogml_proto.qwak.offline.serving.v1.population_pb2 import (
|
47
30
|
Population as ProtoPopulation,
|
48
|
-
)
|
49
|
-
from frogml_proto.qwak.offline.serving.v1.population_pb2 import (
|
50
31
|
PopulationFileUploadUrlType as ProtoPopulationFileUploadUrlType,
|
51
|
-
)
|
52
|
-
from frogml_proto.qwak.offline.serving.v1.population_pb2 import (
|
53
32
|
TimedPopulation as ProtoTimedPopulation,
|
54
33
|
)
|
55
|
-
from
|
56
|
-
from frogml_core.inner.tool.retry_utils import retry
|
34
|
+
from google.protobuf.timestamp_pb2 import Timestamp as ProtoTimestamp
|
57
35
|
|
58
36
|
|
59
37
|
class FeatureValuesResultNotReadyException(Exception):
|
@@ -69,8 +47,32 @@ class FsOfflineServingClient:
|
|
69
47
|
Querying offline features store
|
70
48
|
"""
|
71
49
|
|
72
|
-
def __init__(self, grpc_channel
|
73
|
-
self._client =
|
50
|
+
def __init__(self, grpc_channel: Optional[grpc.Channel] = None):
|
51
|
+
self._client = self._create_client(grpc_channel)
|
52
|
+
|
53
|
+
@staticmethod
|
54
|
+
def _get_offline_serving_url() -> str:
|
55
|
+
"""
|
56
|
+
Fetches the offline serving service URL from the LocationDiscoveryService.
|
57
|
+
"""
|
58
|
+
return LocationDiscoveryClient().get_offline_serving().service_url
|
59
|
+
|
60
|
+
def _create_client(
|
61
|
+
self, grpc_channel: Optional[grpc.Channel] = None
|
62
|
+
) -> FeatureStoreOfflineServingAsyncServiceStub:
|
63
|
+
if grpc_channel:
|
64
|
+
return FeatureStoreOfflineServingAsyncServiceStub(grpc_channel)
|
65
|
+
|
66
|
+
channel = create_grpc_channel(
|
67
|
+
url=self._get_offline_serving_url(),
|
68
|
+
enable_ssl=True,
|
69
|
+
status_for_retry=(
|
70
|
+
grpc.StatusCode.UNAVAILABLE,
|
71
|
+
grpc.StatusCode.CANCELLED,
|
72
|
+
grpc.StatusCode.DEADLINE_EXCEEDED,
|
73
|
+
),
|
74
|
+
)
|
75
|
+
return FeatureStoreOfflineServingAsyncServiceStub(channel)
|
74
76
|
|
75
77
|
def get_population_file_upload_url(
|
76
78
|
self,
|
@@ -0,0 +1 @@
|
|
1
|
+
from .client import LocationDiscoveryClient
|
@@ -0,0 +1,73 @@
|
|
1
|
+
from typing import Callable
|
2
|
+
|
3
|
+
import grpc
|
4
|
+
from dependency_injector.wiring import Provide
|
5
|
+
from frogml_core.exceptions import FrogmlException
|
6
|
+
from frogml_core.inner.di_configuration import FrogmlContainer
|
7
|
+
from frogml_proto.qwak.service_discovery.service_discovery_location_pb2 import (
|
8
|
+
ServiceLocationDescriptor,
|
9
|
+
)
|
10
|
+
from frogml_proto.qwak.service_discovery.service_discovery_location_service_pb2 import (
|
11
|
+
GetServingUrlRequest as ProtoGetServingUrlRequest,
|
12
|
+
GetServingUrlRequestResponse as ProtoGetServingUrlRequestResponse,
|
13
|
+
)
|
14
|
+
from frogml_proto.qwak.service_discovery.service_discovery_location_service_pb2_grpc import (
|
15
|
+
LocationDiscoveryServiceStub,
|
16
|
+
)
|
17
|
+
|
18
|
+
|
19
|
+
class LocationDiscoveryClient:
|
20
|
+
"""
|
21
|
+
Client for querying service locations from the LocationDiscoveryService.
|
22
|
+
"""
|
23
|
+
|
24
|
+
def __init__(self, grpc_channel=Provide[FrogmlContainer.core_grpc_channel]):
|
25
|
+
self._service = LocationDiscoveryServiceStub(grpc_channel)
|
26
|
+
|
27
|
+
@staticmethod
|
28
|
+
def _get_location(
|
29
|
+
method: Callable[
|
30
|
+
[ProtoGetServingUrlRequest], ProtoGetServingUrlRequestResponse
|
31
|
+
],
|
32
|
+
) -> ServiceLocationDescriptor:
|
33
|
+
"""
|
34
|
+
Calls a specific RPC and extracts the service location descriptor.
|
35
|
+
|
36
|
+
Args:
|
37
|
+
method: The gRPC method to call.
|
38
|
+
|
39
|
+
Returns:
|
40
|
+
ServiceLocationDescriptor: Contains service_url and location metadata.
|
41
|
+
"""
|
42
|
+
try:
|
43
|
+
request = ProtoGetServingUrlRequest()
|
44
|
+
response = method(request)
|
45
|
+
return response.location
|
46
|
+
except grpc.RpcError as e:
|
47
|
+
raise FrogmlException(
|
48
|
+
f"Failed to retrieve service location. Error is: {e.details()}"
|
49
|
+
) from e
|
50
|
+
|
51
|
+
def get_offline_serving(self) -> ServiceLocationDescriptor:
|
52
|
+
"""Fetches the offline serving service location."""
|
53
|
+
return self._get_location(self._service.GetOfflineServingUrl)
|
54
|
+
|
55
|
+
def get_distribution_manager(self) -> ServiceLocationDescriptor:
|
56
|
+
"""Fetches the distribution manager service location."""
|
57
|
+
return self._get_location(self._service.GetDistributionManagerUrl)
|
58
|
+
|
59
|
+
def get_analytics_engine(self) -> ServiceLocationDescriptor:
|
60
|
+
"""Fetches the analytics engine service location."""
|
61
|
+
return self._get_location(self._service.GetAnalyticsEngineUrl)
|
62
|
+
|
63
|
+
def get_metrics_gateway(self) -> ServiceLocationDescriptor:
|
64
|
+
"""Fetches the metrics gateway service location."""
|
65
|
+
return self._get_location(self._service.GetMetricsGatewayUrl)
|
66
|
+
|
67
|
+
def get_features_operator(self) -> ServiceLocationDescriptor:
|
68
|
+
"""Fetches the features operator service location."""
|
69
|
+
return self._get_location(self._service.GetFeaturesOperatorUrl)
|
70
|
+
|
71
|
+
def get_hosting_gateway(self) -> ServiceLocationDescriptor:
|
72
|
+
"""Fetches the hosting gateway service location."""
|
73
|
+
return self._get_location(self._service.GetHostingGatewayUrl)
|
@@ -16,22 +16,3 @@ def _generate_new_col(col_name: str, duplicate_cols_dict: dict):
|
|
16
16
|
return col_name
|
17
17
|
elif len(feature_full_name) == 2 and duplicate_cols_dict[feature_full_name[1]] == 1:
|
18
18
|
return feature_full_name[1]
|
19
|
-
|
20
|
-
|
21
|
-
def normalize_cols(cols) -> List[str]:
|
22
|
-
"""
|
23
|
-
Normalize cols - try to remove leading feature set name from features
|
24
|
-
Args:
|
25
|
-
cols: list of column
|
26
|
-
Return normalized columns
|
27
|
-
"""
|
28
|
-
duplicate_columns_dict = {}
|
29
|
-
for col in cols:
|
30
|
-
feature_full_name: List[str] = col.split(".")
|
31
|
-
if len(feature_full_name) != 2:
|
32
|
-
duplicate_columns_dict[col] = 1
|
33
|
-
else:
|
34
|
-
fs_name = feature_full_name[1]
|
35
|
-
duplicate_columns_dict[fs_name] = duplicate_columns_dict.get(fs_name, 0) + 1
|
36
|
-
cols = [_generate_new_col(col_name, duplicate_columns_dict) for col_name in cols]
|
37
|
-
return cols
|
@@ -4,9 +4,6 @@ from typing import Optional
|
|
4
4
|
|
5
5
|
import requests
|
6
6
|
|
7
|
-
from frogml_proto.qwak.builds.builds_orchestrator_service_pb2 import (
|
8
|
-
AuthenticationDetail,
|
9
|
-
)
|
10
7
|
from frogml_core.clients.model_management.client import ModelsManagementClient
|
11
8
|
from frogml_core.exceptions import FrogmlException
|
12
9
|
|
@@ -71,33 +68,22 @@ def fetch_build_id() -> Optional[str]:
|
|
71
68
|
def upload_data(
|
72
69
|
upload_url: str,
|
73
70
|
data: bytes,
|
74
|
-
|
71
|
+
headers: dict,
|
75
72
|
content_type: str = "text/plain",
|
76
|
-
)
|
73
|
+
):
|
77
74
|
"""
|
78
75
|
Upload data
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
content_type: Uploaded content-type
|
76
|
+
:param upload_url: the url to upload to.
|
77
|
+
:param data: the data to upload
|
78
|
+
:param headers: authentication details for upload data
|
79
|
+
:param content_type: Uploaded content-type
|
84
80
|
"""
|
85
81
|
try:
|
86
|
-
|
87
|
-
if (
|
88
|
-
authentication_details.WhichOneof("integration_type")
|
89
|
-
== "jfrog_authentication_detail"
|
90
|
-
):
|
91
|
-
auth = (
|
92
|
-
authentication_details.jfrog_authentication_detail.username,
|
93
|
-
authentication_details.jfrog_authentication_detail.token,
|
94
|
-
)
|
95
|
-
|
82
|
+
headers["Content-Type"] = content_type
|
96
83
|
http_response = requests.put( # nosec B113
|
97
84
|
upload_url,
|
98
85
|
data=data,
|
99
|
-
headers=
|
100
|
-
auth=auth,
|
86
|
+
headers=headers,
|
101
87
|
)
|
102
88
|
|
103
89
|
if http_response.status_code not in [200, 201]:
|
@@ -11,6 +11,9 @@ from frogml_core.inner.model_loggers_utils import (
|
|
11
11
|
validate_model,
|
12
12
|
validate_tag,
|
13
13
|
)
|
14
|
+
from frogml_proto.qwak.builds.builds_orchestrator_service_pb2 import (
|
15
|
+
GetBuildVersioningUploadURLResponse,
|
16
|
+
)
|
14
17
|
|
15
18
|
|
16
19
|
def log_file(
|
@@ -38,7 +41,9 @@ def log_file(
|
|
38
41
|
# Checking if called inside a model - then build id saved as environment variable or stays
|
39
42
|
build_id = fetch_build_id()
|
40
43
|
|
41
|
-
upload_url_response
|
44
|
+
upload_url_response: (
|
45
|
+
GetBuildVersioningUploadURLResponse
|
46
|
+
) = BuildOrchestratorClient().get_build_versioning_upload_url(
|
42
47
|
build_id=build_id,
|
43
48
|
model_id=model_id,
|
44
49
|
tag=tag,
|
@@ -53,7 +58,7 @@ def log_file(
|
|
53
58
|
upload_data(
|
54
59
|
upload_url_response.upload_url,
|
55
60
|
f.read(),
|
56
|
-
upload_url_response.
|
61
|
+
upload_url_response.headers,
|
57
62
|
)
|
58
63
|
|
59
64
|
|
@@ -12,6 +12,9 @@ from frogml_proto.qwak.builds.build_pb2 import (
|
|
12
12
|
DataTableDefinition,
|
13
13
|
)
|
14
14
|
from frogml_proto.qwak.builds.build_url_pb2 import BuildVersioningTagsType
|
15
|
+
from frogml_proto.qwak.builds.builds_orchestrator_service_pb2 import (
|
16
|
+
GetBuildVersioningUploadURLResponse,
|
17
|
+
)
|
15
18
|
from frogml_core.clients.build_orchestrator.client import BuildOrchestratorClient
|
16
19
|
from frogml_core.clients.data_versioning.client import DataVersioningManagementClient
|
17
20
|
from frogml_core.exceptions import FrogmlException
|
@@ -63,11 +66,13 @@ def log_data(
|
|
63
66
|
build_id = fetch_build_id()
|
64
67
|
|
65
68
|
client = BuildOrchestratorClient()
|
66
|
-
upload_url_response =
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
69
|
+
upload_url_response: GetBuildVersioningUploadURLResponse = (
|
70
|
+
client.get_build_versioning_upload_url(
|
71
|
+
build_id=build_id,
|
72
|
+
model_id=model_id,
|
73
|
+
tag=str(data_tag),
|
74
|
+
tag_type=BuildVersioningTagsType.DATA_TAG_TYPE,
|
75
|
+
)
|
71
76
|
)
|
72
77
|
|
73
78
|
string_buffer = StringIO()
|
@@ -76,7 +81,7 @@ def log_data(
|
|
76
81
|
upload_url=upload_url_response.upload_url,
|
77
82
|
data=gzip.compress(bytes(string_buffer.getvalue(), "utf-8")),
|
78
83
|
content_type="text/plain",
|
79
|
-
|
84
|
+
headers=upload_url_response.headers,
|
80
85
|
)
|
81
86
|
|
82
87
|
dataframe_definition = DataTableDefinition(
|
@@ -1,4 +1,4 @@
|
|
1
|
-
frogml_core/__init__.py,sha256=
|
1
|
+
frogml_core/__init__.py,sha256=y9MsA0PqQlAWmz9MxiMFu0w_prsUtWeqpuP2Ng_J62Q,777
|
2
2
|
frogml_core/automations/__init__.py,sha256=j2gD15MN-xVWhI5rAFsDwhL0CIyICLNT0scXsKvNBkU,1547
|
3
3
|
frogml_core/automations/automation_executions.py,sha256=xpOb9Dq8gPPGNQDJTvBBZbNz4woZDRZY0HqnLSu7pwU,3230
|
4
4
|
frogml_core/automations/automations.py,sha256=GKEQyQMi8sxX5oZn62PaxPi0zD8IaJRjBkhczRJxHNs,13070
|
@@ -52,7 +52,7 @@ frogml_core/clients/feature_store/__init__.py,sha256=mMCPBHDga6Y7dtJfNoHvfOvCyjN
|
|
52
52
|
frogml_core/clients/feature_store/execution_management_client.py,sha256=vLSq2I_Tw6IZAIcf5BeN6OAK3qwj_5WketVAcu4nci0,4114
|
53
53
|
frogml_core/clients/feature_store/job_registry_client.py,sha256=zggguwuvnkSccClLO_4NasmTWIUkoLje4TXzVyZ-GxU,2668
|
54
54
|
frogml_core/clients/feature_store/management_client.py,sha256=cSBFxwXNkL8amIdopLaMkDbKzxiVcX6ED1cST3aYKH4,20768
|
55
|
-
frogml_core/clients/feature_store/offline_serving_client.py,sha256=
|
55
|
+
frogml_core/clients/feature_store/offline_serving_client.py,sha256=OBY4Q7bNLIiqHIMQTAd4kBk3Wx4BfaxTIfRIVD2OnDo,9372
|
56
56
|
frogml_core/clients/feature_store/operator_client.py,sha256=G-i1ild7JEHcwAB9-O2OTHB3-W8n5DQuGtV8JJoXIeA,5837
|
57
57
|
frogml_core/clients/file_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
58
|
frogml_core/clients/file_versioning/client.py,sha256=GQ0drq_6f3lyKFSEg_tLh6wybGgyiiPF7TsiHCIPPZU,2533
|
@@ -68,6 +68,8 @@ frogml_core/clients/jfrog_gateway/__init__.py,sha256=E_BrYKBESU3wGNiR_RQncbAhLWy
|
|
68
68
|
frogml_core/clients/jfrog_gateway/client.py,sha256=H4hF3MNi0QBYwGgD9c9A-4-VQlBB7zlQgH3ImpX8aBQ,1357
|
69
69
|
frogml_core/clients/kube_deployment_captain/__init__.py,sha256=rJUEEy3zNH0aTFyuO_UBexzaUKdjvwU9P2vV1MDj684,41
|
70
70
|
frogml_core/clients/kube_deployment_captain/client.py,sha256=oz7VF37TSO0S07MqXOYu2Xmx_rl9IVrfHOz_8MWnBZ8,9340
|
71
|
+
frogml_core/clients/location_discovery/__init__.py,sha256=sqGQ75YHFE6nvOcir38fykUUmAa6cFEIze8PJYgYWRc,44
|
72
|
+
frogml_core/clients/location_discovery/client.py,sha256=P9Ru2za3FtBCF6PkYFeeHPiPPtvNKLDNH1khmUmN0ng,2892
|
71
73
|
frogml_core/clients/logging_client/__init__.py,sha256=1OCHnigQBYThBwGbxCreYA0BgP0HcuLFzNEWd3Yxh-c,34
|
72
74
|
frogml_core/clients/logging_client/client.py,sha256=A7qQJWW54Ve7O0DuJX9gmSJlUQyRIKC0VmfGS6bUwjo,4950
|
73
75
|
frogml_core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
|
@@ -112,7 +114,7 @@ frogml_core/feature_store/_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
112
114
|
frogml_core/feature_store/_common/artifact_utils.py,sha256=STiDfiYOOX57zYSm2O8oUKIiRNP07w2NaxNcR0CuqWk,2005
|
113
115
|
frogml_core/feature_store/_common/feature_set_utils.py,sha256=s_GGSHqgMD88c1ij62ptgMo0ar9iEBi4yd6T1wuocwQ,9222
|
114
116
|
frogml_core/feature_store/_common/featureset_asterisk_handler.py,sha256=3kygt0HM6QxDSGIRWcWoDwhOr126wwtv0Xr8W7AUGnk,4721
|
115
|
-
frogml_core/feature_store/_common/functions.py,sha256=
|
117
|
+
frogml_core/feature_store/_common/functions.py,sha256=kSNYJ7dy48NN09HG9asm4ibQh0JaCGcZYsRDjRWlUHE,659
|
116
118
|
frogml_core/feature_store/_common/packaging.py,sha256=5E8v6NO_g-r-qJDD1pv1tqjWEAHjR6pAEWJ0s6VzJEE,8185
|
117
119
|
frogml_core/feature_store/_common/source_code_spec.py,sha256=Ue8N_xdqrooPXJn690ZClct0LvfmxvRgDDiS0ZLHhww,1988
|
118
120
|
frogml_core/feature_store/_common/source_code_spec_factory.py,sha256=pK2k6DDUFwaJje9zMYcOU8fBMj7VrvaUlm6Ez7wg3Xs,1798
|
@@ -174,12 +176,8 @@ frogml_core/feature_store/feature_sets/transformations/functions/frogml_pandas.p
|
|
174
176
|
frogml_core/feature_store/feature_sets/transformations/functions/schema.py,sha256=kuu8MZ3d2Y9DkmgPZCRgDb0ecsc8isFHQG1lFLPBR3Y,1156
|
175
177
|
frogml_core/feature_store/feature_sets/transformations/transformations.py,sha256=MOZFeeMumXP5QODG5h2Hifcry69IDuiZgoiTlKpgVcE,15978
|
176
178
|
frogml_core/feature_store/feature_sets/transformations/validations/validations_util.py,sha256=u5EnrfpMzJjzbhO-odYDyNtgF50GBq6oMrDMivsPwmg,3215
|
177
|
-
frogml_core/feature_store/offline/__init__.py,sha256=
|
179
|
+
frogml_core/feature_store/offline/__init__.py,sha256=NKI5pmLMuRjh_5C5f9jMImOwnG80fxy-n8y3kjU8Jdk,103
|
178
180
|
frogml_core/feature_store/offline/_offline_serving_validations.py,sha256=yfkV8UVLDi719QvZU_UfIiIHqdWfrTzATUDTVAseDu0,1239
|
179
|
-
frogml_core/feature_store/offline/_query_engine.py,sha256=LBVejISK9daYYWUYclXuMifezfsuzF4JgBhp2YlHZf0,738
|
180
|
-
frogml_core/feature_store/offline/athena/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
181
|
-
frogml_core/feature_store/offline/athena/athena_query_engine.py,sha256=7Obo5n5BWtMpV06IwYQ0gm63uq5JrC8L5E9zgw-SWto,5213
|
182
|
-
frogml_core/feature_store/offline/client.py,sha256=psgNKr9MjI1ZnRbpAlpHhx34d7AE71KX1YNKYPOx-kc,28759
|
183
181
|
frogml_core/feature_store/offline/client_v2.py,sha256=kTFyHAYIsKBe3wcuE1S_LyD9CLQ_yCorOLcHVR3Emms,14966
|
184
182
|
frogml_core/feature_store/offline/feature_set_features.py,sha256=MjrQrXNhzk7QBdCojdpLfy1fuGdP3GcpOgcc7n7H0G8,740
|
185
183
|
frogml_core/feature_store/online/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -277,7 +275,7 @@ frogml_core/inner/di_configuration/config.yml,sha256=GUvaZMWIDIR_d7hFcPVG_kHdCwp
|
|
277
275
|
frogml_core/inner/di_configuration/containers.py,sha256=epzNvWcHcfO07EV6aQxEaGIehqgKBUK2CGzKgk1HeEA,1148
|
278
276
|
frogml_core/inner/instance_template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
279
277
|
frogml_core/inner/instance_template/verify_template_id.py,sha256=3rmVpZyqDs7wUyXSmfJ8YjUK15Q4_H95J8Ba5E6KuA8,1951
|
280
|
-
frogml_core/inner/model_loggers_utils.py,sha256=
|
278
|
+
frogml_core/inner/model_loggers_utils.py,sha256=NOSLcdKEoLIcK9Hx19KP1iGgzJu2NjWOGUh4yAuycTI,2465
|
281
279
|
frogml_core/inner/provider.py,sha256=3evQnyp0v0enpvGGDyaZziusO4BGi-U9j1sno8DAHo4,70
|
282
280
|
frogml_core/inner/runtime_di/__init__.py,sha256=HXqtejgH3J9TXjnEBT6cNwnTDPq6v3sTifcmfWiwyFA,312
|
283
281
|
frogml_core/inner/runtime_di/containers.py,sha256=LbapepWFjBjkELEOTK7m7AJEfj4KENVDlpD7lv7zw6o,577
|
@@ -407,8 +405,8 @@ frogml_core/model/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
407
405
|
frogml_core/model/utils/extract_wrapped_function.py,sha256=uIle1zL8vbmeS3PGAuaNFLIUQAsvpuzk3LlH-Teba94,320
|
408
406
|
frogml_core/model/utils/feature_utils.py,sha256=ObIU4jLKOMEa3DWEyrXm1m3wC2wseAVwr-zxlSiojYk,2525
|
409
407
|
frogml_core/model_loggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
410
|
-
frogml_core/model_loggers/artifact_logger.py,sha256=
|
411
|
-
frogml_core/model_loggers/data_logger.py,sha256=
|
408
|
+
frogml_core/model_loggers/artifact_logger.py,sha256=7T06QL1keo6BTpIh76JtXRcNlZuIbqECz343kEw0Hfc,3128
|
409
|
+
frogml_core/model_loggers/data_logger.py,sha256=I3o2TkAGAnKuVWccPMlGL5-rg1e2UDHRc9cRSS8kqmc,5678
|
412
410
|
frogml_core/model_loggers/model_logger.py,sha256=xDUIwRzeFAorzzR47ovyag5ohwuYZWp9fRWpLpMzcg4,863
|
413
411
|
frogml_core/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
414
412
|
frogml_core/testing/fixtures.py,sha256=tjWIvdZ2nIfNPs6VtUeGx5coJepQVMUWemKGtqUYPzM,318
|
@@ -995,6 +993,12 @@ frogml_proto/qwak/self_service/user/v1/user_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7
|
|
995
993
|
frogml_proto/qwak/self_service/user/v1/user_service_pb2.py,sha256=NgUE8b_XEdnLYblT7kAhC1iE8h9lOXwFYCLL6cNJMX8,10404
|
996
994
|
frogml_proto/qwak/self_service/user/v1/user_service_pb2.pyi,sha256=e3OA_PP-BzlZxm05tM9IJ0LDjKd8iW0E9a9I0-R8_Q8,8278
|
997
995
|
frogml_proto/qwak/self_service/user/v1/user_service_pb2_grpc.py,sha256=B8i4v8j4UdQu331789PPN2tWLKi2hwS8mtZU57nutXY,10513
|
996
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_pb2.py,sha256=WY5jhlurURD49b4xNmR6BFIPZOJ4QU6V7k2D_WwDwh4,3342
|
997
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_pb2.pyi,sha256=33gciRiYabLn_gmN5Ksw5reequ4GkfUbGxFW4gionf4,2406
|
998
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
999
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2.py,sha256=jWtA0BNqmA7R3jjHW6RnDN4IlfbsoFIzigS7kIM5NWA,3827
|
1000
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2.pyi,sha256=g3ooXHZr8fgpGnIm5NFqD2ZJ9caK6Hkt5484x1ZmpU4,1396
|
1001
|
+
frogml_proto/qwak/service_discovery/service_discovery_location_service_pb2_grpc.py,sha256=3s2fslqiAsckASNky0FzqVVtVA5801fdbI1UvmBHqLA,13685
|
998
1002
|
frogml_proto/qwak/traffic/v1/traffic_api_pb2.py,sha256=yWJe2zJWGKK7sx11-SQNG1Jf9jymyAYUN4alBWcE2is,6923
|
999
1003
|
frogml_proto/qwak/traffic/v1/traffic_api_pb2.pyi,sha256=1InzqfEe36axD60wEF0_S7NjISDTTalrfzBY-7kgeBE,5251
|
1000
1004
|
frogml_proto/qwak/traffic/v1/traffic_api_pb2_grpc.py,sha256=rxTMb-vkj5ZpaKg7uEpgj-CKW7fajw0FX64AFzScQZU,8229
|
@@ -1057,13 +1061,14 @@ frogml_services_mock/mocks/features_operator_v3_service.py,sha256=_RcUeL9LRFbxL7
|
|
1057
1061
|
frogml_services_mock/mocks/features_set_state_service_api.py,sha256=jLtDYRBQUXP9x2DaywRPNFTtAGewP1JF1wv28ZTRbL4,2290
|
1058
1062
|
frogml_services_mock/mocks/feedback_service.py,sha256=NH8IskHnwbHGfDJCunSWMWQd9UfVBL7rPzVrFWrCZC4,1140
|
1059
1063
|
frogml_services_mock/mocks/file_versioning_service.py,sha256=MtxGcWoB_hkJUMBRSso9-G_6_WBbHkrgzG6Rf_37Ysk,2606
|
1060
|
-
frogml_services_mock/mocks/frogml_mocks.py,sha256=
|
1064
|
+
frogml_services_mock/mocks/frogml_mocks.py,sha256=bR8pW3pdz5ogHBiHTA_RrQNf85x1CDSnUnwMvOpt4p0,6546
|
1061
1065
|
frogml_services_mock/mocks/fs_offline_serving_service.py,sha256=O4hd4kQ-sXm9zMPVJYHXO4ARPuc3UN0E9rcOtDkSJRk,2093
|
1062
1066
|
frogml_services_mock/mocks/instance_template_management_service.py,sha256=8J8NlD667kWfjhSXsyH31jjr7qKIaF77K1Fc7FgxtHY,4762
|
1063
1067
|
frogml_services_mock/mocks/integration_management_service.py,sha256=XvWyif8pGuqJsrjTs6m29cneVuYdjVptPpRndwIdqq4,2771
|
1064
1068
|
frogml_services_mock/mocks/internal_build_orchestrator_service.py,sha256=saWQOWbJC5uoAcr053rmd0Jj2TI4TH3Kyr2D5lsL87w,1059
|
1065
1069
|
frogml_services_mock/mocks/job_registry_service_api.py,sha256=Zd5lVM6h4jFfKHxnQAux1FiBEw2tXFA284OJ33a_IH4,2711
|
1066
1070
|
frogml_services_mock/mocks/kube_captain_service_api.py,sha256=WVCaoOHY-kFdS73bd7kuOssr1RAK1F6MUlJ-NO0eLfY,1596
|
1071
|
+
frogml_services_mock/mocks/location_discovery_service_api.py,sha256=TUdku1zdmIZXZYbkGurK-OhScPfMeGUzRVa7FgxZnrQ,3682
|
1067
1072
|
frogml_services_mock/mocks/logging_service.py,sha256=JRTCjJRIKlJQeTHr3Qt5gbkfxMLUPblo0Sp50COspxE,7385
|
1068
1073
|
frogml_services_mock/mocks/model_management_service.py,sha256=YKNgZ65AcKTMFs1zkrfVfGOBjqPBpodTgD6r358iRMg,4167
|
1069
1074
|
frogml_services_mock/mocks/model_version_manager_service.py,sha256=nBSB-bL0X8AR1e_3J8R_bHuRaGQvf9P8aFskjNUvEo8,4814
|
@@ -1079,9 +1084,9 @@ frogml_services_mock/mocks/utils/exception_handlers.py,sha256=k_8mez3cwjNjKE9yGQ
|
|
1079
1084
|
frogml_services_mock/mocks/vector_serving_api.py,sha256=ZljLOw9_ee-nlvEMU0HNzmK2tcsmBY6VzuVzLmInYj4,5838
|
1080
1085
|
frogml_services_mock/mocks/vectors_management_api.py,sha256=-GtKow3JmBj6LRZw625WdD8pt9VKtGZUs2VXTbtEPg0,3602
|
1081
1086
|
frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xTicwJO7jdY-gN_5hF_s9GOU-ZO5P_2_M,7745
|
1082
|
-
frogml_services_mock/services_mock.py,sha256=
|
1087
|
+
frogml_services_mock/services_mock.py,sha256=xfbYvl05gFUq2oT82cT-6K2CEJ6d9kFX_tk77QZHTFI,20787
|
1083
1088
|
frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1084
1089
|
frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
|
1085
|
-
frogml_core-0.0.
|
1086
|
-
frogml_core-0.0.
|
1087
|
-
frogml_core-0.0.
|
1090
|
+
frogml_core-0.0.74.dist-info/METADATA,sha256=mJKWzqEde9DndjFpgBpUBWhwkkwZqlOWV6ecRV82UFo,2004
|
1091
|
+
frogml_core-0.0.74.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
1092
|
+
frogml_core-0.0.74.dist-info/RECORD,,
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: frogml_proto.qwak.service_discovery/service_discovery_location.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 message as _message
|
8
|
+
from google.protobuf import reflection as _reflection
|
9
|
+
from google.protobuf import symbol_database as _symbol_database
|
10
|
+
# @@protoc_insertion_point(imports)
|
11
|
+
|
12
|
+
_sym_db = _symbol_database.Default()
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7qwak/service_discovery/service_discovery_location.proto\x12\"qwak.service_discovery.location.v0\"w\n\x19ServiceLocationDescriptor\x12\x13\n\x0bservice_url\x18\x01 \x01(\t\x12\x45\n\x08location\x18\x02 \x01(\x0b\x32\x33.qwak.service_discovery.location.v0.ServiceLocation\"\x99\x01\n\x0fServiceLocation\x12\x38\n\x04\x63ore\x18\x01 \x01(\x0b\x32(.qwak.service_discovery.location.v0.CoreH\x00\x12\x38\n\x04\x65\x64ge\x18\x02 \x01(\x0b\x32(.qwak.service_discovery.location.v0.EdgeH\x00\x42\x12\n\x10service_location\"\x06\n\x04\x43ore\"\x06\n\x04\x45\x64geB-\n)com.qwak.ai.service_discovery.location.v0P\x01\x62\x06proto3')
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
_SERVICELOCATIONDESCRIPTOR = DESCRIPTOR.message_types_by_name['ServiceLocationDescriptor']
|
22
|
+
_SERVICELOCATION = DESCRIPTOR.message_types_by_name['ServiceLocation']
|
23
|
+
_CORE = DESCRIPTOR.message_types_by_name['Core']
|
24
|
+
_EDGE = DESCRIPTOR.message_types_by_name['Edge']
|
25
|
+
ServiceLocationDescriptor = _reflection.GeneratedProtocolMessageType('ServiceLocationDescriptor', (_message.Message,), {
|
26
|
+
'DESCRIPTOR' : _SERVICELOCATIONDESCRIPTOR,
|
27
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_pb2'
|
28
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.ServiceLocationDescriptor)
|
29
|
+
})
|
30
|
+
_sym_db.RegisterMessage(ServiceLocationDescriptor)
|
31
|
+
|
32
|
+
ServiceLocation = _reflection.GeneratedProtocolMessageType('ServiceLocation', (_message.Message,), {
|
33
|
+
'DESCRIPTOR' : _SERVICELOCATION,
|
34
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_pb2'
|
35
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.ServiceLocation)
|
36
|
+
})
|
37
|
+
_sym_db.RegisterMessage(ServiceLocation)
|
38
|
+
|
39
|
+
Core = _reflection.GeneratedProtocolMessageType('Core', (_message.Message,), {
|
40
|
+
'DESCRIPTOR' : _CORE,
|
41
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_pb2'
|
42
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.Core)
|
43
|
+
})
|
44
|
+
_sym_db.RegisterMessage(Core)
|
45
|
+
|
46
|
+
Edge = _reflection.GeneratedProtocolMessageType('Edge', (_message.Message,), {
|
47
|
+
'DESCRIPTOR' : _EDGE,
|
48
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_pb2'
|
49
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.Edge)
|
50
|
+
})
|
51
|
+
_sym_db.RegisterMessage(Edge)
|
52
|
+
|
53
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
54
|
+
|
55
|
+
DESCRIPTOR._options = None
|
56
|
+
DESCRIPTOR._serialized_options = b'\n)com.qwak.ai.service_discovery.location.v0P\001'
|
57
|
+
_SERVICELOCATIONDESCRIPTOR._serialized_start=95
|
58
|
+
_SERVICELOCATIONDESCRIPTOR._serialized_end=214
|
59
|
+
_SERVICELOCATION._serialized_start=217
|
60
|
+
_SERVICELOCATION._serialized_end=370
|
61
|
+
_CORE._serialized_start=372
|
62
|
+
_CORE._serialized_end=378
|
63
|
+
_EDGE._serialized_start=380
|
64
|
+
_EDGE._serialized_end=386
|
65
|
+
# @@protoc_insertion_point(module_scope)
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
3
|
+
isort:skip_file
|
4
|
+
"""
|
5
|
+
import builtins
|
6
|
+
import google.protobuf.descriptor
|
7
|
+
import google.protobuf.message
|
8
|
+
import sys
|
9
|
+
|
10
|
+
if sys.version_info >= (3, 8):
|
11
|
+
import typing as typing_extensions
|
12
|
+
else:
|
13
|
+
import typing_extensions
|
14
|
+
|
15
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
16
|
+
|
17
|
+
class ServiceLocationDescriptor(google.protobuf.message.Message):
|
18
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
19
|
+
|
20
|
+
SERVICE_URL_FIELD_NUMBER: builtins.int
|
21
|
+
LOCATION_FIELD_NUMBER: builtins.int
|
22
|
+
service_url: builtins.str
|
23
|
+
@property
|
24
|
+
def location(self) -> global___ServiceLocation: ...
|
25
|
+
def __init__(
|
26
|
+
self,
|
27
|
+
*,
|
28
|
+
service_url: builtins.str = ...,
|
29
|
+
location: global___ServiceLocation | None = ...,
|
30
|
+
) -> None: ...
|
31
|
+
def HasField(self, field_name: typing_extensions.Literal["location", b"location"]) -> builtins.bool: ...
|
32
|
+
def ClearField(self, field_name: typing_extensions.Literal["location", b"location", "service_url", b"service_url"]) -> None: ...
|
33
|
+
|
34
|
+
global___ServiceLocationDescriptor = ServiceLocationDescriptor
|
35
|
+
|
36
|
+
class ServiceLocation(google.protobuf.message.Message):
|
37
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
38
|
+
|
39
|
+
CORE_FIELD_NUMBER: builtins.int
|
40
|
+
EDGE_FIELD_NUMBER: builtins.int
|
41
|
+
@property
|
42
|
+
def core(self) -> global___Core: ...
|
43
|
+
@property
|
44
|
+
def edge(self) -> global___Edge: ...
|
45
|
+
def __init__(
|
46
|
+
self,
|
47
|
+
*,
|
48
|
+
core: global___Core | None = ...,
|
49
|
+
edge: global___Edge | None = ...,
|
50
|
+
) -> None: ...
|
51
|
+
def HasField(self, field_name: typing_extensions.Literal["core", b"core", "edge", b"edge", "service_location", b"service_location"]) -> builtins.bool: ...
|
52
|
+
def ClearField(self, field_name: typing_extensions.Literal["core", b"core", "edge", b"edge", "service_location", b"service_location"]) -> None: ...
|
53
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["service_location", b"service_location"]) -> typing_extensions.Literal["core", "edge"] | None: ...
|
54
|
+
|
55
|
+
global___ServiceLocation = ServiceLocation
|
56
|
+
|
57
|
+
class Core(google.protobuf.message.Message):
|
58
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
59
|
+
|
60
|
+
def __init__(
|
61
|
+
self,
|
62
|
+
) -> None: ...
|
63
|
+
|
64
|
+
global___Core = Core
|
65
|
+
|
66
|
+
class Edge(google.protobuf.message.Message):
|
67
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
68
|
+
|
69
|
+
def __init__(
|
70
|
+
self,
|
71
|
+
) -> None: ...
|
72
|
+
|
73
|
+
global___Edge = Edge
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: frogml_proto.qwak.service_discovery/service_discovery_location_service.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 message as _message
|
8
|
+
from google.protobuf import reflection as _reflection
|
9
|
+
from google.protobuf import symbol_database as _symbol_database
|
10
|
+
# @@protoc_insertion_point(imports)
|
11
|
+
|
12
|
+
_sym_db = _symbol_database.Default()
|
13
|
+
|
14
|
+
|
15
|
+
from frogml_proto.qwak.service_discovery import service_discovery_location_pb2 as qwak_dot_service__discovery_dot_service__discovery__location__pb2
|
16
|
+
|
17
|
+
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?qwak/service_discovery/service_discovery_location_service.proto\x12\"qwak.service_discovery.location.v0\x1a\x37qwak/service_discovery/service_discovery_location.proto\"\x16\n\x14GetServingUrlRequest\"o\n\x1cGetServingUrlRequestResponse\x12O\n\x08location\x18\x01 \x01(\x0b\x32=.qwak.service_discovery.location.v0.ServiceLocationDescriptor2\xa0\x07\n\x18LocationDiscoveryService\x12\x92\x01\n\x14GetOfflineServingUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponse\x12\x97\x01\n\x19GetDistributionManagerUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponse\x12\x93\x01\n\x15GetAnalyticsEngineUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponse\x12\x92\x01\n\x14GetMetricsGatewayUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponse\x12\x94\x01\n\x16GetFeaturesOperatorUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponse\x12\x92\x01\n\x14GetHostingGatewayUrl\x12\x38.qwak.service_discovery.location.v0.GetServingUrlRequest\x1a@.qwak.service_discovery.location.v0.GetServingUrlRequestResponseB-\n)com.qwak.ai.service_discovery.location.v0P\x01\x62\x06proto3')
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
_GETSERVINGURLREQUEST = DESCRIPTOR.message_types_by_name['GetServingUrlRequest']
|
23
|
+
_GETSERVINGURLREQUESTRESPONSE = DESCRIPTOR.message_types_by_name['GetServingUrlRequestResponse']
|
24
|
+
GetServingUrlRequest = _reflection.GeneratedProtocolMessageType('GetServingUrlRequest', (_message.Message,), {
|
25
|
+
'DESCRIPTOR' : _GETSERVINGURLREQUEST,
|
26
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_service_pb2'
|
27
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.GetServingUrlRequest)
|
28
|
+
})
|
29
|
+
_sym_db.RegisterMessage(GetServingUrlRequest)
|
30
|
+
|
31
|
+
GetServingUrlRequestResponse = _reflection.GeneratedProtocolMessageType('GetServingUrlRequestResponse', (_message.Message,), {
|
32
|
+
'DESCRIPTOR' : _GETSERVINGURLREQUESTRESPONSE,
|
33
|
+
'__module__' : 'qwak.service_discovery.service_discovery_location_service_pb2'
|
34
|
+
# @@protoc_insertion_point(class_scope:qwak.service_discovery.location.v0.GetServingUrlRequestResponse)
|
35
|
+
})
|
36
|
+
_sym_db.RegisterMessage(GetServingUrlRequestResponse)
|
37
|
+
|
38
|
+
_LOCATIONDISCOVERYSERVICE = DESCRIPTOR.services_by_name['LocationDiscoveryService']
|
39
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
40
|
+
|
41
|
+
DESCRIPTOR._options = None
|
42
|
+
DESCRIPTOR._serialized_options = b'\n)com.qwak.ai.service_discovery.location.v0P\001'
|
43
|
+
_GETSERVINGURLREQUEST._serialized_start=160
|
44
|
+
_GETSERVINGURLREQUEST._serialized_end=182
|
45
|
+
_GETSERVINGURLREQUESTRESPONSE._serialized_start=184
|
46
|
+
_GETSERVINGURLREQUESTRESPONSE._serialized_end=295
|
47
|
+
_LOCATIONDISCOVERYSERVICE._serialized_start=298
|
48
|
+
_LOCATIONDISCOVERYSERVICE._serialized_end=1226
|
49
|
+
# @@protoc_insertion_point(module_scope)
|