frogml-core 0.0.90__py3-none-any.whl → 0.0.92__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. frogml_core/__init__.py +1 -1
  2. frogml_core/clients/instance_template/client.py +4 -6
  3. frogml_core/clients/model_version_manager/client.py +3 -3
  4. frogml_core/clients/prompt_manager/model_descriptor_mapper.py +4 -4
  5. frogml_core/feature_store/_common/artifact_utils.py +3 -3
  6. frogml_core/feature_store/data_sources/batch/athena.py +3 -3
  7. frogml_core/feature_store/feature_sets/context.py +6 -2
  8. frogml_core/feature_store/feature_sets/streaming.py +3 -3
  9. frogml_core/feature_store/feature_sets/streaming_backfill.py +1 -1
  10. frogml_core/feature_store/online/client.py +6 -6
  11. frogml_core/feature_store/sinks/streaming/factory.py +1 -1
  12. frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py +3 -3
  13. frogml_core/llmops/provider/openai/provider.py +3 -3
  14. frogml_core/model/tools/adapters/output.py +1 -1
  15. frogml_core/tools/logger/logger.py +1 -1
  16. frogml_core-0.0.92.dist-info/METADATA +46 -0
  17. {frogml_core-0.0.90.dist-info → frogml_core-0.0.92.dist-info}/RECORD +21 -53
  18. frogml_proto/qwak/builds/builds_orchestrator_service_pb2.py +23 -3
  19. frogml_proto/qwak/builds/builds_orchestrator_service_pb2.pyi +25 -0
  20. frogml_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py +33 -0
  21. frogml_core-0.0.90.dist-info/METADATA +0 -412
  22. frogml_core-0.0.90.dist-info/entry_points.txt +0 -3
  23. frogml_storage/__init__.py +0 -0
  24. frogml_storage/_artifactory_api.py +0 -315
  25. frogml_storage/_environment.py +0 -22
  26. frogml_storage/_log_config.py +0 -45
  27. frogml_storage/_storage_utils.py +0 -15
  28. frogml_storage/_utils.py +0 -69
  29. frogml_storage/authentication/_authentication_utils.py +0 -259
  30. frogml_storage/authentication/models/_auth_config.py +0 -70
  31. frogml_storage/cli/_frogml_cli.py +0 -40
  32. frogml_storage/cli/_login_cli.py +0 -240
  33. frogml_storage/cli/commands/_login_command.py +0 -74
  34. frogml_storage/cli/models/_cli_login_arguments.py +0 -22
  35. frogml_storage/cli/utils/_cli_utils.py +0 -19
  36. frogml_storage/cli/utils/_login_checks_utility.py +0 -114
  37. frogml_storage/constants.py +0 -56
  38. frogml_storage/dataset_manifest.py +0 -13
  39. frogml_storage/entity_manifest.py +0 -93
  40. frogml_storage/exceptions/checksum_verification_error.py +0 -3
  41. frogml_storage/exceptions/validation_error.py +0 -4
  42. frogml_storage/frog_ml.py +0 -668
  43. frogml_storage/frogml_entity_type_info.py +0 -46
  44. frogml_storage/http/__init__.py +0 -0
  45. frogml_storage/http/http_client.py +0 -83
  46. frogml_storage/model_manifest.py +0 -60
  47. frogml_storage/models/_download_context.py +0 -54
  48. frogml_storage/models/frogml_dataset_version.py +0 -21
  49. frogml_storage/models/frogml_entity_version.py +0 -34
  50. frogml_storage/models/frogml_model_version.py +0 -21
  51. frogml_storage/serialization_metadata.py +0 -15
  52. frogml_storage/storage.py +0 -140
  53. frogml_storage/utils/_input_checks_utility.py +0 -104
  54. {frogml_core-0.0.90.dist-info → frogml_core-0.0.92.dist-info}/WHEEL +0 -0
frogml_core/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for frogml."""
2
2
 
3
3
  __author__ = "jfrog"
4
- __version__ = "0.0.90"
4
+ __version__ = "0.0.92"
5
5
 
6
6
  from frogml_core.inner.di_configuration import wire_dependencies
7
7
  from frogml_core.model.model_version_tracking import ( # noqa: F401,E501
@@ -50,12 +50,10 @@ class InstanceTemplateManagementClient:
50
50
 
51
51
  def list_instance_templates(self) -> List[InstanceTemplateSpec]:
52
52
  try:
53
- result: ListInstanceTemplatesResponse = (
54
- self._instance_template_service.ListInstanceTemplates(
55
- ListInstanceTemplatesRequest(
56
- optional_instance_filter=InstanceFilter(
57
- instance_type_filter=InstanceTypeFilter.INSTANCE_TYPE_FILTER_ALL
58
- )
53
+ result: ListInstanceTemplatesResponse = self._instance_template_service.ListInstanceTemplates(
54
+ ListInstanceTemplatesRequest(
55
+ optional_instance_filter=InstanceFilter(
56
+ instance_type_filter=InstanceTypeFilter.INSTANCE_TYPE_FILTER_ALL
59
57
  )
60
58
  )
61
59
  )
@@ -210,9 +210,9 @@ class ModelVersionManagerClient:
210
210
  Optional[List[ArtifactProto]],
211
211
  List[ArtifactProto],
212
212
  ]:
213
- model_artifact_proto: List[ArtifactProto] = (
214
- ProtoUtils.convert_artifacts_to_artifacts_proto(model_artifact)
215
- )
213
+ model_artifact_proto: List[
214
+ ArtifactProto
215
+ ] = ProtoUtils.convert_artifacts_to_artifacts_proto(model_artifact)
216
216
  dependency_artifacts_proto = (
217
217
  ProtoUtils.convert_artifacts_to_artifacts_proto(dependency_artifacts)
218
218
  if dependency_artifacts
@@ -57,10 +57,10 @@ class ModelDescriptorMapper:
57
57
  model_id: str, openai_chat_params: ProtoOpenAIChatModelParams
58
58
  ) -> OpenAIChat:
59
59
  p = openai_chat_params
60
- _tool_choice: Union[str, ChatCompletionNamedToolChoiceParam] = (
61
- ModelDescriptorMapper._from_tool_choice(
62
- openai_chat_params=openai_chat_params
63
- )
60
+ _tool_choice: Union[
61
+ str, ChatCompletionNamedToolChoiceParam
62
+ ] = ModelDescriptorMapper._from_tool_choice(
63
+ openai_chat_params=openai_chat_params
64
64
  )
65
65
  _tools: List[ChatCompletionToolParam] = []
66
66
 
@@ -45,9 +45,9 @@ class ArtifactsUploader:
45
45
  featureset_name: str,
46
46
  __instance_module_path__: str,
47
47
  ) -> Optional[ArtifactSpec]:
48
- transformation_functions: Optional[List[Callable[..., Any]]] = (
49
- transformation.get_functions()
50
- )
48
+ transformation_functions: Optional[
49
+ List[Callable[..., Any]]
50
+ ] = transformation.get_functions()
51
51
  if transformation_functions is not None and transformation_functions:
52
52
  return ArtifactSpec(
53
53
  artifact_name=featureset_name,
@@ -130,9 +130,9 @@ class AthenaSource(JdbcSource):
130
130
  )
131
131
  )
132
132
 
133
- time_partition_columns: Optional[TimePartitionColumns] = (
134
- AthenaSource._extract_partition_column(proto_athena_source)
135
- )
133
+ time_partition_columns: Optional[
134
+ TimePartitionColumns
135
+ ] = AthenaSource._extract_partition_column(proto_athena_source)
136
136
  workgroup: Optional[str] = (
137
137
  proto_athena_source.workgroup
138
138
  if proto_athena_source.HasField("workgroup")
@@ -5,5 +5,9 @@ from typing import Union
5
5
 
6
6
  @dataclass
7
7
  class Context:
8
- start_time: Union[str, datetime] = "${qwak_ingestion_start_timestamp}"
9
- end_time: Union[str, datetime] = "${qwak_ingestion_end_timestamp}"
8
+ start_time: Union[
9
+ str, datetime
10
+ ] = "${qwak_ingestion_start_timestamp}" # todo mlops-2312 - rename?
11
+ end_time: Union[
12
+ str, datetime
13
+ ] = "${qwak_ingestion_end_timestamp}" # todo mlops-2312 - rename?
@@ -131,9 +131,9 @@ def feature_set(
131
131
  offline_scheduling_policy=offline_scheduling_policy,
132
132
  )
133
133
 
134
- streaming_backfill: Optional[StreamingBackfill] = (
135
- StreamingBackfill.get_streaming_backfill_from_function(function=function)
136
- )
134
+ streaming_backfill: Optional[
135
+ StreamingBackfill
136
+ ] = StreamingBackfill.get_streaming_backfill_from_function(function=function)
137
137
 
138
138
  fs_name = name or function.__name__
139
139
  streaming_feature_set = StreamingFeatureSet(
@@ -230,7 +230,7 @@ class StreamingBackfill:
230
230
 
231
231
  @staticmethod
232
232
  def _get_normalized_backfill_sources_spec(
233
- data_sources: Union[List[str], List[DataSourceBackfillSpec]],
233
+ data_sources: Union[List[str], List[DataSourceBackfillSpec]]
234
234
  ) -> List[DataSourceBackfillSpec]:
235
235
  # reformat all data source specs to 'DataSourceBackfillSpec'
236
236
  return [
@@ -197,12 +197,12 @@ class OnlineClient:
197
197
  )
198
198
  ordered_entities = [entity[0] for entity in ordered_entities_tuple]
199
199
 
200
- request_chunks: List[Tuple[RequestedEntitiesMatrix, pd.DataFrame]] = (
201
- OnlineClient._split_entities(
202
- entity_names=ordered_entities,
203
- population_df=df,
204
- max_entities_per_split=max_keys_per_request,
205
- )
200
+ request_chunks: List[
201
+ Tuple[RequestedEntitiesMatrix, pd.DataFrame]
202
+ ] = OnlineClient._split_entities(
203
+ entity_names=ordered_entities,
204
+ population_df=df,
205
+ max_entities_per_split=max_keys_per_request,
206
206
  )
207
207
 
208
208
  results: List[pd.DataFrame] = []
@@ -25,7 +25,7 @@ class StreamingSinkFactory:
25
25
  def get_streaming_sink(proto_streaming_sink: ProtoStreamingSink) -> BaseSink:
26
26
  sink_type = proto_streaming_sink.WhichOneof("sink_type")
27
27
 
28
- auth_conf: BaseAuthentication # noqa: F842
28
+ auth_conf: BaseAuthentication
29
29
  if sink_type == "kafka_sink":
30
30
  proto_kafka_sink: ProtoKafkaSink = proto_streaming_sink.kafka_sink
31
31
  auth_configuration: BaseAuthentication = cast(
@@ -161,9 +161,9 @@ def make_ssh_key_file(git_ssh_key: str) -> str:
161
161
 
162
162
 
163
163
  def add_ssh_file_to_env(ssh_key_file_path: str) -> None:
164
- os.environ["GIT_SSH_COMMAND"] = (
165
- f"ssh -i {ssh_key_file_path} -o StrictHostKeyChecking=no"
166
- )
164
+ os.environ[
165
+ "GIT_SSH_COMMAND"
166
+ ] = f"ssh -i {ssh_key_file_path} -o StrictHostKeyChecking=no"
167
167
  os.environ["GIT_SSH"] = f"ssh -i {ssh_key_file_path} -o StrictHostKeyChecking=no"
168
168
 
169
169
 
@@ -30,9 +30,9 @@ class OpenAIProvider:
30
30
  self.client = OpenAIClient()
31
31
 
32
32
  def _get_random_openai_api_key(self) -> Optional[str]:
33
- openai_api_keys: List[OpenAIApiKeySystemSecret] = (
34
- IntegrationUtils().get_openai_api_keys()
35
- )
33
+ openai_api_keys: List[
34
+ OpenAIApiKeySystemSecret
35
+ ] = IntegrationUtils().get_openai_api_keys()
36
36
  if len(openai_api_keys) == 0:
37
37
  return None
38
38
 
@@ -46,7 +46,7 @@ def get_output_adapter(
46
46
 
47
47
  first_result = (
48
48
  return_result[0]
49
- if isinstance(return_result, list) and len(return_result) > 0
49
+ if type(return_result) == list and len(return_result) > 0
50
50
  else return_result
51
51
  )
52
52
  if issubclass(type(first_result), Message):
@@ -276,7 +276,7 @@ def set_file_handler_log_file(
276
276
  logger: logging.Logger, handler_name: str, log_file: Path
277
277
  ):
278
278
  existing_handler = get_handler_from_logger(logger, handler_name)
279
- if not isinstance(existing_handler, RotatingFileHandler):
279
+ if type(existing_handler) != RotatingFileHandler:
280
280
  raise FrogmlException(
281
281
  f"Error in setting log file. Error message: handler of name {handler_name} is not a file logger handler"
282
282
  )
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.3
2
+ Name: frogml-core
3
+ Version: 0.0.92
4
+ Summary: frogml Core contains the necessary objects and communication tools for using the Jfrog ml Platform
5
+ License: Apache-2.0
6
+ Keywords: mlops,ml,deployment,serving,model
7
+ Author: Jfrog
8
+ Requires-Python: >=3.9,<3.12
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: Implementation :: CPython
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Provides-Extra: feature-store
18
+ Requires-Dist: PyYAML
19
+ Requires-Dist: cachetools
20
+ Requires-Dist: chevron (==0.14.0)
21
+ Requires-Dist: cloudpickle (==2.2.1) ; extra == "feature-store"
22
+ Requires-Dist: dacite (==1.8.1)
23
+ Requires-Dist: dependency-injector (>=4.0)
24
+ Requires-Dist: filelock
25
+ Requires-Dist: frogml-storage (>=0.11.2)
26
+ Requires-Dist: grpcio (>=1.57.0)
27
+ Requires-Dist: joblib (>=1.3.2,<2.0.0)
28
+ Requires-Dist: marshmallow-dataclass (>=8.5.8,<9.0.0)
29
+ Requires-Dist: protobuf (>=3.10,<4) ; python_version < "3.10"
30
+ Requires-Dist: protobuf (>=4.21.6) ; python_version >= "3.10"
31
+ Requires-Dist: pyarrow (>=6.0.0) ; extra == "feature-store"
32
+ Requires-Dist: pyathena (>=2.2.0,!=2.18.0) ; extra == "feature-store"
33
+ Requires-Dist: pyspark (==3.4.2) ; extra == "feature-store"
34
+ Requires-Dist: python-jose[cryptography] (>=3.4.0)
35
+ Requires-Dist: python-json-logger (>=2.0.2)
36
+ Requires-Dist: requests
37
+ Requires-Dist: retrying (==1.3.4)
38
+ Requires-Dist: typeguard (>=2,<3)
39
+ Project-URL: Home page, https://www.jfrog.com/
40
+ Description-Content-Type: text/markdown
41
+
42
+ # Frogml Core
43
+
44
+ Frogml is an end-to-end production ML platform designed to allow data scientists to build, deploy, and monitor their models in production with minimal engineering friction.
45
+ Frogml Core contains all the objects and tools necessary to use the Frogml Platform
46
+
@@ -1,4 +1,4 @@
1
- frogml_core/__init__.py,sha256=c4ggSJQwUvhzyrdVAlFCR4pkh8FQ7g9foccsc0WU-Sg,777
1
+ frogml_core/__init__.py,sha256=E6tHLokwOHafXgPOW8BSg_c3zwdXg-rrzGFU5F0xCA4,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
@@ -58,7 +58,7 @@ frogml_core/clients/file_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
58
58
  frogml_core/clients/file_versioning/client.py,sha256=GQ0drq_6f3lyKFSEg_tLh6wybGgyiiPF7TsiHCIPPZU,2533
59
59
  frogml_core/clients/file_versioning/file_tag_filter.py,sha256=Ehgr605zPt2x163EQP5IRXKdnmd_8gNwCVBhxUlRcnI,886
60
60
  frogml_core/clients/instance_template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- frogml_core/clients/instance_template/client.py,sha256=VDGU7IQgrTo3swnAzvRjBFFeyMqCV1i17LodsROchXE,2597
61
+ frogml_core/clients/instance_template/client.py,sha256=uKTSebOUwb79t8SosxBbjIg6N9PlXXSYfedOVt5-jjc,2541
62
62
  frogml_core/clients/integration_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  frogml_core/clients/integration_management/integration_manager_client.py,sha256=E6VcgbEI6IbP8TLsatWTTvWNXerdSP08er0KkdRmg90,1240
64
64
  frogml_core/clients/integration_management/integration_utils.py,sha256=j5gomMtYi-CYr2flYF8-BKd5pU4tHxAAlB9R2R3iYoo,968
@@ -75,11 +75,11 @@ frogml_core/clients/logging_client/client.py,sha256=A7qQJWW54Ve7O0DuJX9gmSJlUQyR
75
75
  frogml_core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
76
76
  frogml_core/clients/model_management/client.py,sha256=hOWbpO6KkcScT6sn3eNHSp7n2HfQIPug7lm-e-bkzEs,4915
77
77
  frogml_core/clients/model_version_manager/__init__.py,sha256=4Pnfzj4Egps48__dProdbSKQl5pNip0hGJd75w67BfY,46
78
- frogml_core/clients/model_version_manager/client.py,sha256=_qIfPNg-eZLpf9axOHuTUAveK0IQ3gtZGnBOZsskat8,9459
78
+ frogml_core/clients/model_version_manager/client.py,sha256=WeU9XXLu5K0ViS-2YeENq121qV4ESXmI6pzc_K8QkvM,9457
79
79
  frogml_core/clients/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  frogml_core/clients/project/client.py,sha256=2L4LJS3xIGTAeWuL2HOgW0OyUNiQUHZ4mXfukRLjX2U,2527
81
81
  frogml_core/clients/prompt_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- frogml_core/clients/prompt_manager/model_descriptor_mapper.py,sha256=IaIR4mseRiql0mgBrjz0rmioglSGgAR6OTEJeFXlatg,7866
82
+ frogml_core/clients/prompt_manager/model_descriptor_mapper.py,sha256=-j97vEEx0RUNBH245vIIMYw_xrFE-4AgV1hmg7g14U8,7856
83
83
  frogml_core/clients/prompt_manager/prompt_manager_client.py,sha256=pl5SZ0j81PBMBeJc7jOkDJtJ61TGMqeq3Splg6Tsr90,7958
84
84
  frogml_core/clients/prompt_manager/prompt_proto_mapper.py,sha256=WqIrL1wq_8LkLiLnyVO6vVh7qDLHnZNaHZ7n3s94qgw,10073
85
85
  frogml_core/clients/secret_service/__init__.py,sha256=TdQl1lgplXCKVHYSN4feRIAoonZ7XDz50zALjwVDcM4,40
@@ -111,7 +111,7 @@ frogml_core/exceptions/frogml_suggestion_exception.py,sha256=saqST0umnKRFCscoEBH
111
111
  frogml_core/exceptions/quiet_error.py,sha256=ePdCGP6ta8afjzprMiGoJFY-gxf8albRwuY0t1WF2lY,559
112
112
  frogml_core/feature_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  frogml_core/feature_store/_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- frogml_core/feature_store/_common/artifact_utils.py,sha256=g_DDeeBQ2JyqAuDiAj5utI742Jfyzy0woDW5QOy4vkI,2007
114
+ frogml_core/feature_store/_common/artifact_utils.py,sha256=STiDfiYOOX57zYSm2O8oUKIiRNP07w2NaxNcR0CuqWk,2005
115
115
  frogml_core/feature_store/_common/feature_set_utils.py,sha256=s_GGSHqgMD88c1ij62ptgMo0ar9iEBi4yd6T1wuocwQ,9222
116
116
  frogml_core/feature_store/_common/featureset_asterisk_handler.py,sha256=3kygt0HM6QxDSGIRWcWoDwhOr126wwtv0Xr8W7AUGnk,4721
117
117
  frogml_core/feature_store/_common/functions.py,sha256=kSNYJ7dy48NN09HG9asm4ibQh0JaCGcZYsRDjRWlUHE,659
@@ -125,7 +125,7 @@ frogml_core/feature_store/data_sources/base.py,sha256=sCJ1CzbhRX-fgsw_Y3ucUu-tKC
125
125
  frogml_core/feature_store/data_sources/batch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
126
  frogml_core/feature_store/data_sources/batch/_batch.py,sha256=xnrC1SZ4OH4b7gYLRajEBFQ2U00cA3JxKT8bKNTNHLg,204
127
127
  frogml_core/feature_store/data_sources/batch/_jdbc.py,sha256=lC-m3ZypER5vLtYo4h6ghYWeXvdfGSOdTadqS-sTb58,676
128
- frogml_core/feature_store/data_sources/batch/athena.py,sha256=fKKdKE1B59dbCiOQQ5amJECoyETwxswkBhDLQ-Pctsg,11292
128
+ frogml_core/feature_store/data_sources/batch/athena.py,sha256=2brkewwDRKEPiUW27oER1dwbjWOg9Xq3ik1tPSsHBxY,11290
129
129
  frogml_core/feature_store/data_sources/batch/big_query.py,sha256=h9iscw9I-WyCj1BeyesASNoIiNwPty9acQ37KGD0Ulo,3112
130
130
  frogml_core/feature_store/data_sources/batch/clickhouse.py,sha256=mUSE139-ACnInctQNZqETbnWgFyZidvffVJpwQu0T3Q,2149
131
131
  frogml_core/feature_store/data_sources/batch/csv.py,sha256=saxFeP--CL4h5j2toyxSuOl4kN_WtEEg8pumaYOjCHg,2070
@@ -161,12 +161,12 @@ frogml_core/feature_store/feature_sets/_utils/_featureset_utils.py,sha256=mnznpQ
161
161
  frogml_core/feature_store/feature_sets/backfill.py,sha256=oZqGb8PA1BQxVOxf9-MwzeZyjJqgwulbA-flmBmXAj4,1981
162
162
  frogml_core/feature_store/feature_sets/base_feature_set.py,sha256=1niCItXApA6JZB7tviXJJVaw91sFwSBwiA1f2xOQnwM,5378
163
163
  frogml_core/feature_store/feature_sets/batch.py,sha256=VADm8KVYhyxV7Ibt2luOlnrbrqd774_ICG0iKPs82cU,17422
164
- frogml_core/feature_store/feature_sets/context.py,sha256=zV6r0O70cfM4pmxlfC6xxAtro-wBhenXWwYwF3KwfTY,263
164
+ frogml_core/feature_store/feature_sets/context.py,sha256=RfHXPI6hD7AI7_hZWoLGEhYROeDDsfXTW0OToRB33-s,349
165
165
  frogml_core/feature_store/feature_sets/execution_spec.py,sha256=zKQd7U-PdYkZMqBpA9eIRhhWff-8xxKB_Qo4IDolwGI,2348
166
166
  frogml_core/feature_store/feature_sets/metadata.py,sha256=Vv2pyBbwaJZRFhWKRhxdFyN3AsV-DvTQzLs9nyRMWK0,1888
167
167
  frogml_core/feature_store/feature_sets/read_policies.py,sha256=BQu6B6IZuKJt8Ff5RYeADdqpHmSkec790RIYeSl6Ulo,6844
168
- frogml_core/feature_store/feature_sets/streaming.py,sha256=78ItVSojMfLoTY3k0SH6UD40XS7dnVZFn9cKfYUcS3Y,25295
169
- frogml_core/feature_store/feature_sets/streaming_backfill.py,sha256=u-tjq86AaXAusLUwPYtdCKhTuySQFAtRrUvbPrY3CtI,9834
168
+ frogml_core/feature_store/feature_sets/streaming.py,sha256=7IRumnjXgjwnmL7RU8RcW2E8-vLmmL4wDMP5snORt_s,25293
169
+ frogml_core/feature_store/feature_sets/streaming_backfill.py,sha256=Nl4q41NvnW8eHtus2aBNdViYc8WqP5he_z9xQgX5i08,9833
170
170
  frogml_core/feature_store/feature_sets/transformations/__init__.py,sha256=ozc50AI9RBY71nhNiJDu1-vSWJL2Bdgstyh7GGUW2ig,902
171
171
  frogml_core/feature_store/feature_sets/transformations/aggregations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
172
  frogml_core/feature_store/feature_sets/transformations/aggregations/aggregations.py,sha256=f81U0xiE-TBPqtqGabKb-3ApkIyE0tGU0yIxbF4j-D4,15308
@@ -181,14 +181,14 @@ frogml_core/feature_store/offline/_offline_serving_validations.py,sha256=yfkV8UV
181
181
  frogml_core/feature_store/offline/client_v2.py,sha256=kTFyHAYIsKBe3wcuE1S_LyD9CLQ_yCorOLcHVR3Emms,14966
182
182
  frogml_core/feature_store/offline/feature_set_features.py,sha256=MjrQrXNhzk7QBdCojdpLfy1fuGdP3GcpOgcc7n7H0G8,740
183
183
  frogml_core/feature_store/online/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- frogml_core/feature_store/online/client.py,sha256=_NCVJngFgh8D3IVBW8u8estPqZ7mSwg5IxmuTndFY0A,13572
184
+ frogml_core/feature_store/online/client.py,sha256=JM7GLS8TeXW-jhEbecu2wp-tHoFHxPePqCw1XrsM6lw,13554
185
185
  frogml_core/feature_store/online/endpoint_utils.py,sha256=lGssZR-r8kJpcSozVxQAk1_JpVXgRLqOVrK6fw8flPg,2242
186
186
  frogml_core/feature_store/sinks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  frogml_core/feature_store/sinks/base.py,sha256=QdIutDlO_8IBRr-zKfHBRHJ1-DjDmFfR_Yuad193kg0,361
188
188
  frogml_core/feature_store/sinks/kafka.py,sha256=zlawE62TSShX1D4RWHMowLdVaw5FFThl7kcDBkN2LH0,1923
189
189
  frogml_core/feature_store/sinks/streaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
190
  frogml_core/feature_store/sinks/streaming/attachment.py,sha256=oHHaxoMtSALI2udHk59joizs15di6OXX-BN_rruWF-c,1158
191
- frogml_core/feature_store/sinks/streaming/factory.py,sha256=nal7FWQEZWIKHsVZ4gIwPzCz3WClxL7tDBhkkuCtlsQ,2543
191
+ frogml_core/feature_store/sinks/streaming/factory.py,sha256=tpBkJmc1EC7OdhDO9bNiiVq2XtV7MVLfZJs1RiHt1Fk,2529
192
192
  frogml_core/feature_store/validations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
193
  frogml_core/feature_store/validations/validation_options.py,sha256=2EbOVC8pmnToP0GUwiPHuz3ew7Vrqr3IdRpUdiLqa0Y,2847
194
194
  frogml_core/feature_store/validations/validation_response.py,sha256=N7lh7h187wBkeuEfVTooE_cGDt_Wo29mEZjmiHR6Pq0,3953
@@ -248,7 +248,7 @@ frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manage
248
248
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
249
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/folder_strategy.py,sha256=Uy3HJuiIaGjqVdFyMhyB33QLQxZEHR22K_wx9KrFSaY,5081
250
250
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
- frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py,sha256=iqNqD79iKY9kgj3e5G2aZwjeLJnOIE4BC9i0Dl0aaII,5949
251
+ frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py,sha256=0ZbCGBJ6pxjIBi8t8fT-g2fK-es_vSHboZiPT_hgOkI,5947
252
252
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py,sha256=MocvnsB_0NAy8ab6NOWRhmNbApGnO_zttyBXvtx8CPE,1447
253
253
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
254
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/zip_strategy.py,sha256=wCDk5wQlEtCLVDFdC3lXEebpLIMECovHHTvyLsorki8,2276
@@ -345,7 +345,7 @@ frogml_core/llmops/provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
345
345
  frogml_core/llmops/provider/chat.py,sha256=n0WY2OhdX__w20DO7vvP53xVIqmr3cVF_G0yiCJsAzU,1626
346
346
  frogml_core/llmops/provider/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
347
347
  frogml_core/llmops/provider/openai/client.py,sha256=JwI9SMUu3bpMoixBAl10iX0J5xKdGFXV0SloPMI6gv8,4534
348
- frogml_core/llmops/provider/openai/provider.py,sha256=2dQQSBxr6hqJFhT4U-KJmsZd-K_vLnOPFeyBMdRntxU,3131
348
+ frogml_core/llmops/provider/openai/provider.py,sha256=cWM3KoxFNOKgMtkKAgSpcFO_D9MipXRBwwC-sQe3uZM,3129
349
349
  frogml_core/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
350
  frogml_core/model/_entity_extraction.py,sha256=gFeHgKgnz-MpB61w0OfJe30PUh5Cm390nZWSKy0JIls,4669
351
351
  frogml_core/model/adapters/__init__.py,sha256=jMM_0Nf6_vCKccsRB0izs8odCXYlXt-u1sXGh4PcpX4,1739
@@ -393,7 +393,7 @@ frogml_core/model/tools/adapters/input_adapters/image_input.py,sha256=Kh8RHMxqHO
393
393
  frogml_core/model/tools/adapters/input_adapters/json_input.py,sha256=kF3n6zFOjRtaU34PZuDoM9cIHKUe-N8Xx5v3GTW__OA,621
394
394
  frogml_core/model/tools/adapters/input_adapters/string_input.py,sha256=K2SIJy92C-1eX1ReT8iqeFAU8UQWF2d88Zv79jsMrac,151
395
395
  frogml_core/model/tools/adapters/input_adapters/tf_tensor_input.py,sha256=vP0DWrCzn2dh48cN16872QZzyTfWSRKPs5FAUxjZgHk,1415
396
- frogml_core/model/tools/adapters/output.py,sha256=JtmNkpPvJRuTqDrfjWo67GdEC9C4j6oZxOW7wKlVmrE,2745
396
+ frogml_core/model/tools/adapters/output.py,sha256=xkYikB2iTcm9oZ8l9pJ3W-vLlORRYy7wPsigkdOB4VQ,2741
397
397
  frogml_core/model/tools/adapters/output_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
398
398
  frogml_core/model/tools/adapters/output_adapters/base_output.py,sha256=VXiwnA1499RQSfdFbEU769lRhuOqWTBPfXglKaymhRc,343
399
399
  frogml_core/model/tools/adapters/output_adapters/dataframe_output.py,sha256=f1stPSAEJoceOO4rblmaid3cbN2PmzL-JV408hFQRLY,809
@@ -412,7 +412,7 @@ frogml_core/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
412
412
  frogml_core/testing/fixtures.py,sha256=tjWIvdZ2nIfNPs6VtUeGx5coJepQVMUWemKGtqUYPzM,318
413
413
  frogml_core/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
414
414
  frogml_core/tools/logger/__init__.py,sha256=3FfLlYKajB15QA7d2AeDUTfv_UPGz7s2hucPRe_GXdA,115
415
- frogml_core/tools/logger/logger.py,sha256=y4RaCRV8YVFtfUhj8KpSg1WukNoxFM61O6zpt8mv85A,9685
415
+ frogml_core/tools/logger/logger.py,sha256=m38m6niR7QJgcd90t7_5N6ZTKnO-cP2cRmshcbLRa5k,9677
416
416
  frogml_core/tools/logger/logging.yml,sha256=UWC2i3NVKT3j5S8_SapzqClDzXLIEAurzNIXa2tS4UA,1941
417
417
  frogml_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
418
418
  frogml_core/utils/datetime_utils.py,sha256=3zK7PUrerMlwB7U6WeuYwMAclVMfPqBNZihNRyIVMs4,581
@@ -636,9 +636,9 @@ frogml_proto/qwak/builds/build_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZ
636
636
  frogml_proto/qwak/builds/build_url_pb2.py,sha256=t4E1nCBQ5GNl40PQmsTC_gpb4kEtdDkxpvBzXHfQdvg,8577
637
637
  frogml_proto/qwak/builds/build_url_pb2.pyi,sha256=qaYyuLRHN2hOqYXlN9mKJo9gpggUnPmTVZIu-zNA0dI,11372
638
638
  frogml_proto/qwak/builds/build_url_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
639
- frogml_proto/qwak/builds/builds_orchestrator_service_pb2.py,sha256=QJzsxVvKK9kZVtP9-VfOjDzPUM7Rv2hXWhG9gEJEnoQ,21017
640
- frogml_proto/qwak/builds/builds_orchestrator_service_pb2.pyi,sha256=rwJAZpM1cCcBxF6nlrZh62fbKqs84kVt6AePod7MPO8,16803
641
- frogml_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py,sha256=BcNTGe7cqF4XseMybMl2gER10aEbDzdLgji6RTrQO9E,20765
639
+ frogml_proto/qwak/builds/builds_orchestrator_service_pb2.py,sha256=kIhr08peUCu0vbEoEtbrFWKPqdUX4IzBDMTomJKARRM,22691
640
+ frogml_proto/qwak/builds/builds_orchestrator_service_pb2.pyi,sha256=OA9gYL04o3F-GyqNCehijnVB1xPgqMIQZa1-Q1p9eTY,17778
641
+ frogml_proto/qwak/builds/builds_orchestrator_service_pb2_grpc.py,sha256=q5w4NQGA6FAY9b0RblzDL2qY2xdC1Wz6Y5tD86Pj3wg,22845
642
642
  frogml_proto/qwak/builds/builds_pb2.py,sha256=ILPm-E3Ydq0BHOd0fAF9P9TVU1EtfdSS5LoGko2CtAA,38507
643
643
  frogml_proto/qwak/builds/builds_pb2.pyi,sha256=tZPIpz0OrcLmHjPlCg2uGSFquCTp3djJjojsvhP8Xow,53726
644
644
  frogml_proto/qwak/builds/builds_pb2_grpc.py,sha256=iL3tgBh9XhBudqhLK1t-pXRp8zNdFbhNOKsViixNHSQ,11573
@@ -1103,38 +1103,6 @@ frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xT
1103
1103
  frogml_services_mock/services_mock.py,sha256=sgKgwhu2W0YOHtzil8x7f1znK_sZr_i27XSeiF4xqVE,21200
1104
1104
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1105
1105
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1106
- frogml_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1107
- frogml_storage/_artifactory_api.py,sha256=Hn8y7l61fhu9KZJBUr31F5m5gPIOz1UbnvthV4N_6-0,11209
1108
- frogml_storage/_environment.py,sha256=zuzOJBtBwFaguwn_JkKjfhXStZoustgP30KzOP3mYv8,707
1109
- frogml_storage/_log_config.py,sha256=ytwyRLYr3SyRlo4UpTjLBtlNqVApP9URTVO5m5DN3uU,1162
1110
- frogml_storage/_storage_utils.py,sha256=HB2g7uY5A3b33yIcAUM1OjHb5jWsnpESsiDrEviQwrI,366
1111
- frogml_storage/_utils.py,sha256=JkjJMObF-foFEA693KyrdDoVDHAyI21SW4UPlYrVYvs,1956
1112
- frogml_storage/authentication/_authentication_utils.py,sha256=RQUNd2c88cOpcRJ-khsmI_XotwvzQ473pde6oyVSUPc,9227
1113
- frogml_storage/authentication/models/_auth_config.py,sha256=uDcPXaPRXKDEtAhHEuN-GQTeDg8AUL8FE4aiAByHU_I,2024
1114
- frogml_storage/cli/_frogml_cli.py,sha256=KAv0TrwwHazXoCb_cIScnbSG7NwZLf1nCjxEel642fI,1045
1115
- frogml_storage/cli/_login_cli.py,sha256=n9sXUd4McD_0nULQErV8vrDmFJQvQTGKRMFEf8U-j64,8564
1116
- frogml_storage/cli/commands/_login_command.py,sha256=RyeChctCB_wSAoLa2MdvSVKJLYkBxK9oDLoD7PaxvCA,2899
1117
- frogml_storage/cli/models/_cli_login_arguments.py,sha256=jcFdiWRqjaVAGG9hiYpPHF0WUNT4DqMqVp1FPFGuwOM,723
1118
- frogml_storage/cli/utils/_cli_utils.py,sha256=hffNsDeA8WnjLTDS2lE_HZLSdYgi7xEElSjuWDFWJrk,581
1119
- frogml_storage/cli/utils/_login_checks_utility.py,sha256=sRS4-5MZQa3_Vcv7pSylUNZ_AcU8YW64PSCByDqGBCM,3014
1120
- frogml_storage/constants.py,sha256=Fx-Dyzkl9e28O2qCvIgyEf2aBuhftXAdbn2BIfXFaGw,1542
1121
- frogml_storage/dataset_manifest.py,sha256=x-1hLFXcX09T_drpCeN19JKZeI4WLD0HF1rXc8jcoa8,296
1122
- frogml_storage/entity_manifest.py,sha256=xal9plqq7QNhR0hEaISKi2zUfiNmB4ENbyuG_7W4gsU,2796
1123
- frogml_storage/exceptions/checksum_verification_error.py,sha256=t1muLRYvqza7Q4jo1mYHck9ZoDwlGE7WxcheAFAnIQs,159
1124
- frogml_storage/exceptions/validation_error.py,sha256=_twu_xcL-O7D26qkskuuR-_NcnPPTADIUO9HGY4g0x0,156
1125
- frogml_storage/frog_ml.py,sha256=ltESsR1ux8SU-cHNgiUQZ2Ua-Rr4m1eVKrG2Zmzll4k,24238
1126
- frogml_storage/frogml_entity_type_info.py,sha256=EnPP49U-PdMrTZpFUJzXib5WHPs8Vh4AwIEPC3x2iqM,1376
1127
- frogml_storage/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1128
- frogml_storage/http/http_client.py,sha256=B9KwfbX2UdzEDxWCgP0RqUE9BpyxSiyMjm8X7IcMrUo,2418
1129
- frogml_storage/model_manifest.py,sha256=BVDw_41GVajpWj5WhCoqAk6lIiNMMnIMFKTFHkLuUbU,2186
1130
- frogml_storage/models/_download_context.py,sha256=pc9KnepPQB9F-MaIe6JkRF0ineKj4B2ycdgr5e37zc4,1660
1131
- frogml_storage/models/frogml_dataset_version.py,sha256=Uwe50e8eD9XqwARCsa4-iJJqyMQsDqs9E-iuAInvJuA,637
1132
- frogml_storage/models/frogml_entity_version.py,sha256=-3lRFQSES76YbBAzKuOOlWGcT4T1v2RNQ-54bN8-GH0,921
1133
- frogml_storage/models/frogml_model_version.py,sha256=2pVHW-BhowBcIScLZzWj5SH0abAirP3cDvXeq334lJI,631
1134
- frogml_storage/serialization_metadata.py,sha256=KOJ9Yj0XGbYudpcUBMh67Hd7VohmoWsYOvhD-L2yzyY,347
1135
- frogml_storage/storage.py,sha256=gfkaNzQBgR7-uMHc9-prdiFwyIGb-rO4dKQ49r-TQ3I,5595
1136
- frogml_storage/utils/_input_checks_utility.py,sha256=bn3_xQcTnsASIHgmvoCyWCFu0akgWCiI8RdXn1AHqsE,3225
1137
- frogml_core-0.0.90.dist-info/METADATA,sha256=F2lmBOif_Q0HN9FmMh6sAcEZXrhV5WXJsZ_-cAoXtYA,14996
1138
- frogml_core-0.0.90.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1139
- frogml_core-0.0.90.dist-info/entry_points.txt,sha256=VvrKJ6Zw6M14z5ynvrzWY05fmyxgWrMm3Ti0r8eeCv0,62
1140
- frogml_core-0.0.90.dist-info/RECORD,,
1106
+ frogml_core-0.0.92.dist-info/METADATA,sha256=b9GwiyUqCHAhwXSnz0lN6XdavbNWmDkin14cQ1Yp8yw,2028
1107
+ frogml_core-0.0.92.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1108
+ frogml_core-0.0.92.dist-info/RECORD,,
@@ -16,7 +16,7 @@ from frogml_proto.qwak.builds import build_pb2 as qwak_dot_builds_dot_build__pb2
16
16
  from frogml_proto.qwak.builds import build_url_pb2 as qwak_dot_builds_dot_build__url__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-qwak/builds/builds_orchestrator_service.proto\x12\x18qwak.builds.orchestrator\x1a\x17qwak/builds/build.proto\x1a\x1bqwak/builds/build_url.proto\"R\n\x11\x42uildModelRequest\x12=\n\nbuild_spec\x18\x01 \x01(\x0b\x32).qwak.builds.orchestrator.RemoteBuildSpec\"\x14\n\x12\x42uildModelResponse\"+\n\x17\x43\x61ncelBuildModelRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"\x1a\n\x18\x43\x61ncelBuildModelResponse\"*\n\x16\x43reateUploadURLRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"C\n\x17\x43reateUploadURLResponse\x12\x12\n\nupload_url\x18\x01 \x01(\t\x12\x14\n\x0c\x64ownload_url\x18\x02 \x01(\t\"h\n\"GetBuildVersioningUploadURLRequest\x12\x42\n\x06params\x18\x01 \x01(\x0b\x32\x32.qwak.builds.orchestrator.BuildVersioningUrlParams\"\xa7\x02\n#GetBuildVersioningUploadURLResponse\x12\x12\n\nupload_url\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12Q\n\x15\x61uthentication_detail\x18\x03 \x01(\x0b\x32..qwak.builds.orchestrator.AuthenticationDetailB\x02\x18\x01\x12[\n\x07headers\x18\x04 \x03(\x0b\x32J.qwak.builds.orchestrator.GetBuildVersioningUploadURLResponse.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x01\n\x14\x41uthenticationDetail\x12Z\n\x1bjfrog_authentication_detail\x18\x01 \x01(\x0b\x32\x33.qwak.builds.orchestrator.JfrogAuthenticationDetailH\x00\x42\x12\n\x10integration_type\"<\n\x19JfrogAuthenticationDetail\x12\x10\n\x08username\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"j\n$GetBuildVersioningDownloadURLRequest\x12\x42\n\x06params\x18\x01 \x01(\x0b\x32\x32.qwak.builds.orchestrator.BuildVersioningUrlParams\"\xdf\x01\n%GetBuildVersioningDownloadURLResponse\x12\x14\n\x0c\x64ownload_url\x18\x01 \x01(\t\x12\x11\n\tfile_size\x18\x02 \x01(\x03\x12]\n\x07headers\x18\x03 \x03(\x0b\x32L.qwak.builds.orchestrator.GetBuildVersioningDownloadURLResponse.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x1eListBuildVersioningTagsRequest\x12L\n\x15\x62uild_versioning_tags\x18\x01 \x01(\x0b\x32-.qwak.builds.orchestrator.BuildVersioningTags\"\x9c\x01\n\x1fListBuildVersioningTagsResponse\x12\x61\n build_versioning_tags_properties\x18\x01 \x03(\x0b\x32\x37.qwak.builds.orchestrator.BuildVersioningTagsProperties\x12\x16\n\x0eui_direct_link\x18\x02 \x01(\t\"\x95\x01\n\x16\x43reateDataTableRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12<\n\x05table\x18\x04 \x01(\x0b\x32-.qwak.builds.orchestrator.DataTableDefinition\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x19\n\x17\x43reateDataTableResponse\"n\n\x1dGetBaseDockerImageNameRequest\x12M\n\x16\x62\x61se_docker_image_type\x18\x01 \x01(\x0e\x32-.qwak.builds.orchestrator.BaseDockerImageType\"@\n\x1eGetBaseDockerImageNameResponse\x12\x1e\n\x16\x62\x61se_docker_image_name\x18\x01 \x01(\t\"f\n\x17SaveArtifactPathRequest\x12K\n\x12\x61rtifact_path_spec\x18\x01 \x01(\x0b\x32/.qwak.builds.orchestrator.BuildArtifactPathSpec\"\x1a\n\x18SaveArtifactPathResponse\"-\n\x19ListBuildArtifactsRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"X\n\x1aListBuildArtifactsResponse\x12:\n\tartifacts\x18\x01 \x03(\x0b\x32\'.qwak.builds.orchestrator.BuildArtifact2\xcf\n\n\x19\x42uildsOrchestratorService\x12g\n\nBuildModel\x12+.qwak.builds.orchestrator.BuildModelRequest\x1a,.qwak.builds.orchestrator.BuildModelResponse\x12y\n\x10\x43\x61ncelBuildModel\x12\x31.qwak.builds.orchestrator.CancelBuildModelRequest\x1a\x32.qwak.builds.orchestrator.CancelBuildModelResponse\x12{\n\x0f\x43reateUploadURL\x12\x30.qwak.builds.orchestrator.CreateUploadURLRequest\x1a\x31.qwak.builds.orchestrator.CreateUploadURLResponse\"\x03\x88\x02\x01\x12\x9a\x01\n\x1bGetBuildVersioningUploadURL\x12<.qwak.builds.orchestrator.GetBuildVersioningUploadURLRequest\x1a=.qwak.builds.orchestrator.GetBuildVersioningUploadURLResponse\x12\xa0\x01\n\x1dGetBuildVersioningDownloadURL\x12>.qwak.builds.orchestrator.GetBuildVersioningDownloadURLRequest\x1a?.qwak.builds.orchestrator.GetBuildVersioningDownloadURLResponse\x12\x8e\x01\n\x17ListBuildVersioningTags\x12\x38.qwak.builds.orchestrator.ListBuildVersioningTagsRequest\x1a\x39.qwak.builds.orchestrator.ListBuildVersioningTagsResponse\x12v\n\x0f\x43reateDataTable\x12\x30.qwak.builds.orchestrator.CreateDataTableRequest\x1a\x31.qwak.builds.orchestrator.CreateDataTableResponse\x12\x8b\x01\n\x16GetBaseDockerImageName\x12\x37.qwak.builds.orchestrator.GetBaseDockerImageNameRequest\x1a\x38.qwak.builds.orchestrator.GetBaseDockerImageNameResponse\x12y\n\x10SaveArtifactPath\x12\x31.qwak.builds.orchestrator.SaveArtifactPathRequest\x1a\x32.qwak.builds.orchestrator.SaveArtifactPathResponse\x12\x7f\n\x12ListBuildArtifacts\x12\x33.qwak.builds.orchestrator.ListBuildArtifactsRequest\x1a\x34.qwak.builds.orchestrator.ListBuildArtifactsResponseB\'\n#com.qwak.ai.builds.orchestrator.apiP\x01\x62\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-qwak/builds/builds_orchestrator_service.proto\x12\x18qwak.builds.orchestrator\x1a\x17qwak/builds/build.proto\x1a\x1bqwak/builds/build_url.proto\"R\n\x11\x42uildModelRequest\x12=\n\nbuild_spec\x18\x01 \x01(\x0b\x32).qwak.builds.orchestrator.RemoteBuildSpec\"\x14\n\x12\x42uildModelResponse\"+\n\x17\x43\x61ncelBuildModelRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"\x1a\n\x18\x43\x61ncelBuildModelResponse\"*\n\x16\x43reateUploadURLRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"C\n\x17\x43reateUploadURLResponse\x12\x12\n\nupload_url\x18\x01 \x01(\t\x12\x14\n\x0c\x64ownload_url\x18\x02 \x01(\t\"h\n\"GetBuildVersioningUploadURLRequest\x12\x42\n\x06params\x18\x01 \x01(\x0b\x32\x32.qwak.builds.orchestrator.BuildVersioningUrlParams\"\xa7\x02\n#GetBuildVersioningUploadURLResponse\x12\x12\n\nupload_url\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12Q\n\x15\x61uthentication_detail\x18\x03 \x01(\x0b\x32..qwak.builds.orchestrator.AuthenticationDetailB\x02\x18\x01\x12[\n\x07headers\x18\x04 \x03(\x0b\x32J.qwak.builds.orchestrator.GetBuildVersioningUploadURLResponse.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x01\n\x14\x41uthenticationDetail\x12Z\n\x1bjfrog_authentication_detail\x18\x01 \x01(\x0b\x32\x33.qwak.builds.orchestrator.JfrogAuthenticationDetailH\x00\x42\x12\n\x10integration_type\"<\n\x19JfrogAuthenticationDetail\x12\x10\n\x08username\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"j\n$GetBuildVersioningDownloadURLRequest\x12\x42\n\x06params\x18\x01 \x01(\x0b\x32\x32.qwak.builds.orchestrator.BuildVersioningUrlParams\"\xdf\x01\n%GetBuildVersioningDownloadURLResponse\x12\x14\n\x0c\x64ownload_url\x18\x01 \x01(\t\x12\x11\n\tfile_size\x18\x02 \x01(\x03\x12]\n\x07headers\x18\x03 \x03(\x0b\x32L.qwak.builds.orchestrator.GetBuildVersioningDownloadURLResponse.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x1eListBuildVersioningTagsRequest\x12L\n\x15\x62uild_versioning_tags\x18\x01 \x01(\x0b\x32-.qwak.builds.orchestrator.BuildVersioningTags\"\x9c\x01\n\x1fListBuildVersioningTagsResponse\x12\x61\n build_versioning_tags_properties\x18\x01 \x03(\x0b\x32\x37.qwak.builds.orchestrator.BuildVersioningTagsProperties\x12\x16\n\x0eui_direct_link\x18\x02 \x01(\t\"\x95\x01\n\x16\x43reateDataTableRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12<\n\x05table\x18\x04 \x01(\x0b\x32-.qwak.builds.orchestrator.DataTableDefinition\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x19\n\x17\x43reateDataTableResponse\"n\n\x1dGetBaseDockerImageNameRequest\x12M\n\x16\x62\x61se_docker_image_type\x18\x01 \x01(\x0e\x32-.qwak.builds.orchestrator.BaseDockerImageType\"@\n\x1eGetBaseDockerImageNameResponse\x12\x1e\n\x16\x62\x61se_docker_image_name\x18\x01 \x01(\t\"f\n\x17SaveArtifactPathRequest\x12K\n\x12\x61rtifact_path_spec\x18\x01 \x01(\x0b\x32/.qwak.builds.orchestrator.BuildArtifactPathSpec\"\x1a\n\x18SaveArtifactPathResponse\"-\n\x19ListBuildArtifactsRequest\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\"X\n\x1aListBuildArtifactsResponse\x12:\n\tartifacts\x18\x01 \x03(\x0b\x32\'.qwak.builds.orchestrator.BuildArtifact\"A\n$DetachBuildsFromModelVersionsRequest\x12\x19\n\x11model_version_ids\x18\x01 \x03(\t\"\'\n%DetachBuildsFromModelVersionsResponse2\xf2\x0b\n\x19\x42uildsOrchestratorService\x12g\n\nBuildModel\x12+.qwak.builds.orchestrator.BuildModelRequest\x1a,.qwak.builds.orchestrator.BuildModelResponse\x12y\n\x10\x43\x61ncelBuildModel\x12\x31.qwak.builds.orchestrator.CancelBuildModelRequest\x1a\x32.qwak.builds.orchestrator.CancelBuildModelResponse\x12{\n\x0f\x43reateUploadURL\x12\x30.qwak.builds.orchestrator.CreateUploadURLRequest\x1a\x31.qwak.builds.orchestrator.CreateUploadURLResponse\"\x03\x88\x02\x01\x12\x9a\x01\n\x1bGetBuildVersioningUploadURL\x12<.qwak.builds.orchestrator.GetBuildVersioningUploadURLRequest\x1a=.qwak.builds.orchestrator.GetBuildVersioningUploadURLResponse\x12\xa0\x01\n\x1dGetBuildVersioningDownloadURL\x12>.qwak.builds.orchestrator.GetBuildVersioningDownloadURLRequest\x1a?.qwak.builds.orchestrator.GetBuildVersioningDownloadURLResponse\x12\x8e\x01\n\x17ListBuildVersioningTags\x12\x38.qwak.builds.orchestrator.ListBuildVersioningTagsRequest\x1a\x39.qwak.builds.orchestrator.ListBuildVersioningTagsResponse\x12v\n\x0f\x43reateDataTable\x12\x30.qwak.builds.orchestrator.CreateDataTableRequest\x1a\x31.qwak.builds.orchestrator.CreateDataTableResponse\x12\x8b\x01\n\x16GetBaseDockerImageName\x12\x37.qwak.builds.orchestrator.GetBaseDockerImageNameRequest\x1a\x38.qwak.builds.orchestrator.GetBaseDockerImageNameResponse\x12y\n\x10SaveArtifactPath\x12\x31.qwak.builds.orchestrator.SaveArtifactPathRequest\x1a\x32.qwak.builds.orchestrator.SaveArtifactPathResponse\x12\x7f\n\x12ListBuildArtifacts\x12\x33.qwak.builds.orchestrator.ListBuildArtifactsRequest\x1a\x34.qwak.builds.orchestrator.ListBuildArtifactsResponse\x12\xa0\x01\n\x1d\x44\x65tachBuildsFromModelVersions\x12>.qwak.builds.orchestrator.DetachBuildsFromModelVersionsRequest\x1a?.qwak.builds.orchestrator.DetachBuildsFromModelVersionsResponseB\'\n#com.qwak.ai.builds.orchestrator.apiP\x01\x62\x06proto3')
20
20
 
21
21
 
22
22
 
@@ -44,6 +44,8 @@ _SAVEARTIFACTPATHREQUEST = DESCRIPTOR.message_types_by_name['SaveArtifactPathReq
44
44
  _SAVEARTIFACTPATHRESPONSE = DESCRIPTOR.message_types_by_name['SaveArtifactPathResponse']
45
45
  _LISTBUILDARTIFACTSREQUEST = DESCRIPTOR.message_types_by_name['ListBuildArtifactsRequest']
46
46
  _LISTBUILDARTIFACTSRESPONSE = DESCRIPTOR.message_types_by_name['ListBuildArtifactsResponse']
47
+ _DETACHBUILDSFROMMODELVERSIONSREQUEST = DESCRIPTOR.message_types_by_name['DetachBuildsFromModelVersionsRequest']
48
+ _DETACHBUILDSFROMMODELVERSIONSRESPONSE = DESCRIPTOR.message_types_by_name['DetachBuildsFromModelVersionsResponse']
47
49
  BuildModelRequest = _reflection.GeneratedProtocolMessageType('BuildModelRequest', (_message.Message,), {
48
50
  'DESCRIPTOR' : _BUILDMODELREQUEST,
49
51
  '__module__' : 'qwak.builds.builds_orchestrator_service_pb2'
@@ -214,6 +216,20 @@ ListBuildArtifactsResponse = _reflection.GeneratedProtocolMessageType('ListBuild
214
216
  })
215
217
  _sym_db.RegisterMessage(ListBuildArtifactsResponse)
216
218
 
219
+ DetachBuildsFromModelVersionsRequest = _reflection.GeneratedProtocolMessageType('DetachBuildsFromModelVersionsRequest', (_message.Message,), {
220
+ 'DESCRIPTOR' : _DETACHBUILDSFROMMODELVERSIONSREQUEST,
221
+ '__module__' : 'qwak.builds.builds_orchestrator_service_pb2'
222
+ # @@protoc_insertion_point(class_scope:qwak.builds.orchestrator.DetachBuildsFromModelVersionsRequest)
223
+ })
224
+ _sym_db.RegisterMessage(DetachBuildsFromModelVersionsRequest)
225
+
226
+ DetachBuildsFromModelVersionsResponse = _reflection.GeneratedProtocolMessageType('DetachBuildsFromModelVersionsResponse', (_message.Message,), {
227
+ 'DESCRIPTOR' : _DETACHBUILDSFROMMODELVERSIONSRESPONSE,
228
+ '__module__' : 'qwak.builds.builds_orchestrator_service_pb2'
229
+ # @@protoc_insertion_point(class_scope:qwak.builds.orchestrator.DetachBuildsFromModelVersionsResponse)
230
+ })
231
+ _sym_db.RegisterMessage(DetachBuildsFromModelVersionsResponse)
232
+
217
233
  _BUILDSORCHESTRATORSERVICE = DESCRIPTOR.services_by_name['BuildsOrchestratorService']
218
234
  if _descriptor._USE_C_DESCRIPTORS == False:
219
235
 
@@ -275,6 +291,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
275
291
  _LISTBUILDARTIFACTSREQUEST._serialized_end=2163
276
292
  _LISTBUILDARTIFACTSRESPONSE._serialized_start=2165
277
293
  _LISTBUILDARTIFACTSRESPONSE._serialized_end=2253
278
- _BUILDSORCHESTRATORSERVICE._serialized_start=2256
279
- _BUILDSORCHESTRATORSERVICE._serialized_end=3615
294
+ _DETACHBUILDSFROMMODELVERSIONSREQUEST._serialized_start=2255
295
+ _DETACHBUILDSFROMMODELVERSIONSREQUEST._serialized_end=2320
296
+ _DETACHBUILDSFROMMODELVERSIONSRESPONSE._serialized_start=2322
297
+ _DETACHBUILDSFROMMODELVERSIONSRESPONSE._serialized_end=2361
298
+ _BUILDSORCHESTRATORSERVICE._serialized_start=2364
299
+ _BUILDSORCHESTRATORSERVICE._serialized_end=3886
280
300
  # @@protoc_insertion_point(module_scope)
@@ -417,3 +417,28 @@ class ListBuildArtifactsResponse(google.protobuf.message.Message):
417
417
  def ClearField(self, field_name: typing_extensions.Literal["artifacts", b"artifacts"]) -> None: ...
418
418
 
419
419
  global___ListBuildArtifactsResponse = ListBuildArtifactsResponse
420
+
421
+ class DetachBuildsFromModelVersionsRequest(google.protobuf.message.Message):
422
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
423
+
424
+ MODEL_VERSION_IDS_FIELD_NUMBER: builtins.int
425
+ @property
426
+ def model_version_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
427
+ """The model versions to detach"""
428
+ def __init__(
429
+ self,
430
+ *,
431
+ model_version_ids: collections.abc.Iterable[builtins.str] | None = ...,
432
+ ) -> None: ...
433
+ def ClearField(self, field_name: typing_extensions.Literal["model_version_ids", b"model_version_ids"]) -> None: ...
434
+
435
+ global___DetachBuildsFromModelVersionsRequest = DetachBuildsFromModelVersionsRequest
436
+
437
+ class DetachBuildsFromModelVersionsResponse(google.protobuf.message.Message):
438
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
439
+
440
+ def __init__(
441
+ self,
442
+ ) -> None: ...
443
+
444
+ global___DetachBuildsFromModelVersionsResponse = DetachBuildsFromModelVersionsResponse
@@ -64,6 +64,11 @@ class BuildsOrchestratorServiceStub(object):
64
64
  request_serializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.ListBuildArtifactsRequest.SerializeToString,
65
65
  response_deserializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.ListBuildArtifactsResponse.FromString,
66
66
  )
67
+ self.DetachBuildsFromModelVersions = channel.unary_unary(
68
+ '/qwak.builds.orchestrator.BuildsOrchestratorService/DetachBuildsFromModelVersions',
69
+ request_serializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsRequest.SerializeToString,
70
+ response_deserializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsResponse.FromString,
71
+ )
67
72
 
68
73
 
69
74
  class BuildsOrchestratorServiceServicer(object):
@@ -139,6 +144,12 @@ class BuildsOrchestratorServiceServicer(object):
139
144
  context.set_details('Method not implemented!')
140
145
  raise NotImplementedError('Method not implemented!')
141
146
 
147
+ def DetachBuildsFromModelVersions(self, request, context):
148
+ """Missing associated documentation comment in .proto file."""
149
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
150
+ context.set_details('Method not implemented!')
151
+ raise NotImplementedError('Method not implemented!')
152
+
142
153
 
143
154
  def add_BuildsOrchestratorServiceServicer_to_server(servicer, server):
144
155
  rpc_method_handlers = {
@@ -192,6 +203,11 @@ def add_BuildsOrchestratorServiceServicer_to_server(servicer, server):
192
203
  request_deserializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.ListBuildArtifactsRequest.FromString,
193
204
  response_serializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.ListBuildArtifactsResponse.SerializeToString,
194
205
  ),
206
+ 'DetachBuildsFromModelVersions': grpc.unary_unary_rpc_method_handler(
207
+ servicer.DetachBuildsFromModelVersions,
208
+ request_deserializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsRequest.FromString,
209
+ response_serializer=qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsResponse.SerializeToString,
210
+ ),
195
211
  }
196
212
  generic_handler = grpc.method_handlers_generic_handler(
197
213
  'qwak.builds.orchestrator.BuildsOrchestratorService', rpc_method_handlers)
@@ -371,3 +387,20 @@ class BuildsOrchestratorService(object):
371
387
  qwak_dot_builds_dot_builds__orchestrator__service__pb2.ListBuildArtifactsResponse.FromString,
372
388
  options, channel_credentials,
373
389
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
390
+
391
+ @staticmethod
392
+ def DetachBuildsFromModelVersions(request,
393
+ target,
394
+ options=(),
395
+ channel_credentials=None,
396
+ call_credentials=None,
397
+ insecure=False,
398
+ compression=None,
399
+ wait_for_ready=None,
400
+ timeout=None,
401
+ metadata=None):
402
+ return grpc.experimental.unary_unary(request, target, '/qwak.builds.orchestrator.BuildsOrchestratorService/DetachBuildsFromModelVersions',
403
+ qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsRequest.SerializeToString,
404
+ qwak_dot_builds_dot_builds__orchestrator__service__pb2.DetachBuildsFromModelVersionsResponse.FromString,
405
+ options, channel_credentials,
406
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)