frogml-core 0.0.114__py3-none-any.whl → 0.0.115__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 (28) hide show
  1. frogml_core/__init__.py +1 -1
  2. frogml_core/clients/administration/authentication/client.py +2 -2
  3. frogml_core/clients/batch_job_management/client.py +4 -4
  4. frogml_core/clients/build_orchestrator/build_model_request_getter.py +6 -6
  5. frogml_core/clients/build_orchestrator/client.py +12 -12
  6. frogml_core/clients/build_orchestrator/internal_client.py +10 -10
  7. frogml_core/frogml_client/build_api_helpers/build_api_steps.py +3 -3
  8. frogml_core/inner/build_logic/constants/upload_tag.py +7 -7
  9. frogml_core/inner/build_logic/interface/context_interface.py +1 -1
  10. frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py +4 -4
  11. frogml_core/inner/build_logic/phases/phase_010_fetch_model/set_version_step.py +3 -3
  12. frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/start_remote_build_step.py +3 -3
  13. frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/upload_step.py +11 -9
  14. frogml_core/inner/build_logic/tools/ignore_files.py +3 -3
  15. frogml_core/model/adapters/__init__.py +1 -1
  16. frogml_core/model/analytics_logging.py +1 -1
  17. frogml_core/model/tools/adapters/input.py +6 -6
  18. frogml_core/model/tools/adapters/output.py +8 -8
  19. frogml_core/model/tools/run_model_locally.py +2 -2
  20. frogml_core/model/utils/feature_utils.py +1 -1
  21. {frogml_core-0.0.114.dist-info → frogml_core-0.0.115.dist-info}/METADATA +1 -1
  22. {frogml_core-0.0.114.dist-info → frogml_core-0.0.115.dist-info}/RECORD +28 -28
  23. frogml_services_mock/mocks/analytics_api.py +6 -6
  24. frogml_services_mock/mocks/ecosystem_service_api.py +2 -2
  25. frogml_services_mock/services_mock.py +4 -4
  26. frogml_storage/__init__.py +1 -1
  27. /frogml_core/model/adapters/output_adapters/{qwak_with_default_fallback.py → frogml_with_default_fallback.py} +0 -0
  28. {frogml_core-0.0.114.dist-info → frogml_core-0.0.115.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.114"
4
+ __version__ = "0.0.115"
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
@@ -5,7 +5,7 @@ from frogml_proto.qwak.administration.v0.authentication.authentication_service_p
5
5
  AuthenticateRequest,
6
6
  )
7
7
  from frogml_proto.qwak.administration.v0.authentication.authentication_service_pb2 import (
8
- QwakApiKeyMethod as JFrogMLApiKeyMethod,
8
+ QwakApiKeyMethod,
9
9
  )
10
10
  from frogml_proto.qwak.administration.v0.authentication.authentication_service_pb2_grpc import (
11
11
  AuthenticationServiceStub,
@@ -26,7 +26,7 @@ class AuthenticationClient:
26
26
 
27
27
  def authenticate(self, api_key=None):
28
28
  request = AuthenticateRequest(
29
- qwak_api_key_method=JFrogMLApiKeyMethod(qwak_api_key=api_key)
29
+ qwak_api_key_method=QwakApiKeyMethod(qwak_api_key=api_key)
30
30
  )
31
31
  try:
32
32
  return self._authentication_service.Authenticate(request)
@@ -407,7 +407,7 @@ class BatchJobManagerClient:
407
407
  self, model_id: str, number_of_batches: int, file_type: str = "csv"
408
408
  ) -> GetBatchJobPreSignedUploadUrlResult:
409
409
  """
410
- Get pre signed upload urls details in order to start a job using Qwak cloud bucket
410
+ Get pre signed upload urls details in order to start a job using FrogML cloud bucket
411
411
  Args:
412
412
  model_id: The model id for the execution
413
413
  number_of_batches: The number of pre-signed urls to request
@@ -445,7 +445,7 @@ class BatchJobManagerClient:
445
445
  self, execution_id: str
446
446
  ) -> GetBatchJobPreSignedDownloadUrlResult:
447
447
  """
448
- Get pre signed urls links in order to download files using Qwak cloud bucket
448
+ Get pre signed urls links in order to download files using FrogML cloud bucket
449
449
  Args:
450
450
  execution_id: The execution id of the files
451
451
 
@@ -475,7 +475,7 @@ class BatchJobManagerClient:
475
475
 
476
476
  def get_upload_details(self, model_id: str) -> GetBatchJobUploadDetailsResponse:
477
477
  """
478
- Get upload details in order to start a job using Qwak cloud bucket
478
+ Get upload details in order to start a job using FrogML cloud bucket
479
479
  Args:
480
480
  model_id: The model id for the execution
481
481
 
@@ -496,7 +496,7 @@ class BatchJobManagerClient:
496
496
  self, execution_id: str
497
497
  ) -> GetBatchJobDownloadDetailsResponse:
498
498
  """
499
- Get download details in order to download files using Qwak cloud bucket
499
+ Get download details in order to download files using FrogML cloud bucket
500
500
  Args:
501
501
  execution_id: The execution id of the files
502
502
 
@@ -32,10 +32,10 @@ def _get_build_model_spec(
32
32
  build_code_path: str = "",
33
33
  build_v1_flag: bool = False,
34
34
  build_config_url: str = "",
35
- qwak_sdk_wheel_url: str = "",
36
- qwak_sdk_version_url: str = "",
35
+ frogml_cli_wheel_url: str = "",
36
+ frogml_cli_version_url: str = "",
37
37
  build_steps: Optional[List[str]] = None,
38
- sdk_version: str = "",
38
+ cli_version: str = "",
39
39
  ) -> RemoteBuildSpec:
40
40
  build_spec = RemoteBuildSpec(
41
41
  build_properties=BuildProperties(
@@ -65,7 +65,7 @@ def _get_build_model_spec(
65
65
  python_env=PythonEnv(
66
66
  git_credentials=build_conf.build_properties.model_uri.git_credentials,
67
67
  git_credentials_secret=build_conf.build_properties.model_uri.git_credentials_secret,
68
- qwak_sdk_version=sdk_version,
68
+ qwak_sdk_version=cli_version,
69
69
  ),
70
70
  ),
71
71
  verbose=verbose,
@@ -75,8 +75,8 @@ def _get_build_model_spec(
75
75
  ),
76
76
  build_properties_v1=BuildPropertiesV1(
77
77
  build_config_url=build_config_url,
78
- qwak_sdk_wheel_url=qwak_sdk_wheel_url,
79
- qwak_sdk_version_url=qwak_sdk_version_url,
78
+ qwak_sdk_wheel_url=frogml_cli_wheel_url,
79
+ qwak_sdk_version_url=frogml_cli_version_url,
80
80
  ),
81
81
  build_v1_flag=build_v1_flag,
82
82
  build_steps=build_steps,
@@ -365,10 +365,10 @@ class BuildOrchestratorClient:
365
365
  build_code_path: str = "",
366
366
  build_v1_flag: bool = False,
367
367
  build_config_url: str = "",
368
- qwak_sdk_wheel_url: str = "",
369
- qwak_sdk_version_url: str = "",
368
+ frogml_cli_wheel_url: str = "",
369
+ frogml_cli_version_url: str = "",
370
370
  build_steps: Optional[List[str]] = None,
371
- sdk_version: str = "",
371
+ cli_version: str = "",
372
372
  ):
373
373
  """Initiate remote build
374
374
 
@@ -380,13 +380,13 @@ class BuildOrchestratorClient:
380
380
  build_code_path: The code path saved by frogml
381
381
  build_v1_flag:
382
382
  build_config_url:
383
- qwak_sdk_wheel_url:
384
- qwak_sdk_version_url:
383
+ frogml_cli_wheel_url: Url for wheel file
384
+ frogml_cli_version_url: The cli version
385
385
  build_steps: List of the steps the build is comprised from
386
- sdk_version: The sdk version to build the
386
+ cli_version: The cli version to build the
387
387
 
388
388
  Raises:
389
- QwakException: In case of failing to connect the service
389
+ FrogmlException: In case of failing to connect the service
390
390
  """
391
391
  build_steps = build_steps if build_steps else []
392
392
 
@@ -399,10 +399,10 @@ class BuildOrchestratorClient:
399
399
  build_code_path,
400
400
  build_v1_flag,
401
401
  build_config_url,
402
- qwak_sdk_wheel_url,
403
- qwak_sdk_version_url,
402
+ frogml_cli_wheel_url,
403
+ frogml_cli_version_url,
404
404
  build_steps,
405
- sdk_version,
405
+ cli_version,
406
406
  )
407
407
  self._builds_orchestrator_stub.BuildModel(
408
408
  BuildModelRequest(build_spec=build_spec)
@@ -424,7 +424,7 @@ class BuildOrchestratorClient:
424
424
  build_id: The build ID to cancel
425
425
 
426
426
  Raises:
427
- QwakException: In case of failing to connect the service
427
+ FrogmlException: In case of failing to connect the service
428
428
  """
429
429
  try:
430
430
  self._builds_orchestrator_stub.CancelBuildModel(
@@ -444,7 +444,7 @@ class BuildOrchestratorClient:
444
444
  Returns:
445
445
  The base docker image name
446
446
  Raises:
447
- QwakException: In case of failing to connect the service
447
+ FrogmlException: In case of failing to connect the service
448
448
  """
449
449
  try:
450
450
  return self._builds_orchestrator_stub.GetBaseDockerImageName(
@@ -43,11 +43,11 @@ class InternalBuildOrchestratorClient:
43
43
  build_code_path: str = "",
44
44
  build_v1_flag: bool = False,
45
45
  build_config_url: str = "",
46
- qwak_sdk_wheel_url: str = "",
47
- qwak_sdk_version_url: str = "",
46
+ frogml_cli_wheel_url: str = "",
47
+ frogml_cli_version_url: str = "",
48
48
  build_steps: Optional[List[str]] = None,
49
49
  build_initiator: BuildInitiator = None,
50
- sdk_version: str = "",
50
+ cli_version: str = "",
51
51
  ):
52
52
  """Initiate remote build
53
53
 
@@ -59,14 +59,14 @@ class InternalBuildOrchestratorClient:
59
59
  build_code_path: The code path saved by frogml
60
60
  build_v1_flag:
61
61
  build_config_url:
62
- qwak_sdk_wheel_url:
63
- qwak_sdk_version_url:
62
+ frogml_cli_wheel_url: Url for wheel file
63
+ frogml_cli_version_url: The cli version
64
64
  build_steps: List of the steps the build is comprised from
65
65
  build_initiator: Override the initiator of build
66
- sdk_version: The sdk version to build the
66
+ cli_version: The cli version to build the
67
67
 
68
68
  Raises:
69
- QwakException: In case of failing to connect the service
69
+ FrogmlException: In case of failing to connect the service
70
70
  """
71
71
  if not self._internal_builds_orchestrator_stub:
72
72
  grpc_channel = self.grpc_channel_factory(
@@ -91,10 +91,10 @@ class InternalBuildOrchestratorClient:
91
91
  build_code_path,
92
92
  build_v1_flag,
93
93
  build_config_url,
94
- qwak_sdk_wheel_url,
95
- qwak_sdk_version_url,
94
+ frogml_cli_wheel_url,
95
+ frogml_cli_version_url,
96
96
  build_steps,
97
- sdk_version,
97
+ cli_version,
98
98
  )
99
99
  self._internal_builds_orchestrator_stub.BuildModel(
100
100
  InternalBuildModelRequest(
@@ -24,8 +24,8 @@ from frogml_core.inner.build_logic.phases.phase_020_remote_register_frogml_build
24
24
  from frogml_core.inner.build_logic.phases.phases_pipeline import PhasesPipeline
25
25
  from frogml_core.inner.build_logic.trigger_build_context import TriggerBuildContext
26
26
 
27
- FETCHING_MODEL_CODE_PHASE = "FETCHING_MODEL_CODE"
28
- REGISTERING_QWAK_BUILD_PHASE = "REGISTERING_QWAK_BUILD"
27
+ FETCHING_MODEL_CODE_PHASE: str = "FETCHING_MODEL_CODE"
28
+ REGISTERING_FROGML_BUILD_PHASE: str = "REGISTERING_FROGML_BUILD"
29
29
 
30
30
 
31
31
  def get_trigger_build_api_steps(
@@ -47,7 +47,7 @@ def get_trigger_build_api_steps(
47
47
  StartRemoteBuildStep(),
48
48
  CleanupStep(),
49
49
  ],
50
- build_phase=BuildPhase(phase_id=REGISTERING_QWAK_BUILD_PHASE),
50
+ build_phase=BuildPhase(phase_id=REGISTERING_FROGML_BUILD_PHASE),
51
51
  )
52
52
 
53
53
  return steps_root
@@ -1,7 +1,7 @@
1
- MODEL_CODE_TAG = "code.zip"
2
- SKINNY_MODEL_CODE_TAG = "skinny_code.zip"
3
- FROGML_SDK_VERSION_TAG = "frogml_sdk_version"
4
- FROGML_RUNTIME_WHEEL_TAG = "frogml_runtime_wheel"
5
- FROGML_CORE_WHEEL_TAG = "frogml_core_wheel"
6
- BUILD_CONFIG_TAG = "frogml_build_config"
7
- FROGML_BUILT_MODEL_TAG = "frogml_built_model"
1
+ MODEL_CODE_TAG: str = "code.zip"
2
+ SKINNY_MODEL_CODE_TAG: str = "skinny_code.zip"
3
+ FROGML_CLI_VERSION_TAG: str = "frogml_cli_version"
4
+ FROGML_RUNTIME_WHEEL_TAG: str = "frogml_runtime_wheel"
5
+ FROGML_CORE_WHEEL_TAG: str = "frogml_core_wheel"
6
+ BUILD_CONFIG_TAG: str = "frogml_build_config"
7
+ FROGML_BUILT_MODEL_TAG: str = "frogml_built_model"
@@ -48,7 +48,7 @@ class Context(metaclass=ABCMeta):
48
48
 
49
49
  # Upload model
50
50
  model_code_remote_url: Optional[str] = field(default=None)
51
- frogml_sdk_version: Optional[str] = field(default=None)
51
+ frogml_cli_version: Optional[str] = field(default=None)
52
52
 
53
53
  # Image
54
54
  base_image: Optional[str] = field(default=None)
@@ -11,16 +11,16 @@ from frogml_core.inner.build_logic.tools.ignore_files import (
11
11
  )
12
12
 
13
13
  _IGNORED_PATTERNS = [r"\..*", r"__pycache__"]
14
- QWAK_IGNORE_FILE_NAME = ".qwakignore"
14
+ FROGML_IGNORE_FILE_NAME: str = ".frogmlignore"
15
15
 
16
16
 
17
17
  def get_ignore_pattern(
18
18
  src: str, main_dir: str, build_logger: BuildLogger
19
19
  ) -> Tuple[Callable[[Any, list[str]], set[str]], list[str]]:
20
- if (Path(src) / main_dir / QWAK_IGNORE_FILE_NAME).is_file():
21
- ignore_file_path = Path(src) / main_dir / QWAK_IGNORE_FILE_NAME
20
+ if (Path(src) / main_dir / FROGML_IGNORE_FILE_NAME).is_file():
21
+ ignore_file_path: Path = Path(src) / main_dir / FROGML_IGNORE_FILE_NAME
22
22
  else:
23
- ignore_file_path = Path(src) / QWAK_IGNORE_FILE_NAME
23
+ ignore_file_path: Path = Path(src) / FROGML_IGNORE_FILE_NAME
24
24
 
25
25
  ignored_patterns = (
26
26
  load_patterns_from_ignore_file(
@@ -17,8 +17,8 @@ class SetVersionStep(Step):
17
17
  def execute(self) -> None:
18
18
  try:
19
19
  self.build_logger.debug("Getting sdk version")
20
- frogml_sdk_version = importlib.import_module("frogml_sdk").__version__
21
- self.context.frogml_sdk_version = frogml_sdk_version
20
+ frogml_sdk_version: str = importlib.import_module("frogml_sdk").__version__
21
+ self.context.frogml_cli_version = frogml_sdk_version
22
22
  self.build_logger.debug(
23
23
  self.SDK_VERSION_FOUND_MSG_FORMAT.format(
24
24
  frogml_sdk_version=frogml_sdk_version
@@ -30,4 +30,4 @@ class SetVersionStep(Step):
30
30
  frogml_core_version=frogml_core_version
31
31
  )
32
32
  )
33
- self.context.frogml_sdk_version = frogml_core_version
33
+ self.context.frogml_cli_version = frogml_core_version
@@ -3,7 +3,7 @@ from copy import deepcopy
3
3
  from frogml_proto.qwak.builds.build_url_pb2 import BuildVersioningTagsType
4
4
  from frogml_core.inner.build_logic.constants.upload_tag import (
5
5
  BUILD_CONFIG_TAG,
6
- FROGML_SDK_VERSION_TAG,
6
+ FROGML_CLI_VERSION_TAG,
7
7
  MODEL_CODE_TAG,
8
8
  )
9
9
  from frogml_core.inner.build_logic.interface.step_inteface import Step
@@ -24,10 +24,10 @@ class StartRemoteBuildStep(Step):
24
24
  build_conf=config_copy,
25
25
  build_v1_flag=False,
26
26
  build_config_url=self.get_download_url(BUILD_CONFIG_TAG),
27
- qwak_sdk_version_url=self.get_download_url(FROGML_SDK_VERSION_TAG),
27
+ frogml_cli_version_url=self.get_download_url(FROGML_CLI_VERSION_TAG),
28
28
  resolved_model_url=self.get_download_url(MODEL_CODE_TAG),
29
29
  git_commit_id=self.context.git_commit_id,
30
- sdk_version=self.context.qwak_sdk_version,
30
+ cli_version=self.context.frogml_cli_version,
31
31
  )
32
32
  self.build_logger.info("Remote build started successfully")
33
33
 
@@ -19,7 +19,7 @@ from frogml_core.inner.build_logic.constants.upload_tag import (
19
19
  FROGML_BUILT_MODEL_TAG,
20
20
  FROGML_CORE_WHEEL_TAG,
21
21
  FROGML_RUNTIME_WHEEL_TAG,
22
- FROGML_SDK_VERSION_TAG,
22
+ FROGML_CLI_VERSION_TAG,
23
23
  MODEL_CODE_TAG,
24
24
  SKINNY_MODEL_CODE_TAG,
25
25
  )
@@ -37,13 +37,13 @@ from frogml_core.inner.build_logic.tools.ignore_files import (
37
37
  _MAX_FILE_SIZE_BYTES = 10000000
38
38
 
39
39
 
40
- def should_retry(qwak_exception: FrogmlException):
40
+ def should_retry(frogml_exception: FrogmlException) -> bool:
41
41
  # when Got 403 from Jfrog it means that the reposity doesn't exist. It may happen when in the first build in the project
42
- return str(qwak_exception.message).__contains__("403")
42
+ return "403" in str(frogml_exception.message)
43
43
 
44
44
 
45
45
  class UploadStep(Step):
46
- STEP_DESCRIPTION = "Saving Qwak Model"
46
+ STEP_DESCRIPTION = "Saving FrogML Model"
47
47
 
48
48
  def description(self) -> str:
49
49
  return self.STEP_DESCRIPTION
@@ -124,13 +124,15 @@ class UploadStep(Step):
124
124
  config_file_temp.write_text(self.config.to_yaml())
125
125
 
126
126
  # Dump frogml-sdk version for upload
127
- qwak_sdk_version_temp = self.context.host_temp_local_build_dir / "VERSION"
128
- qwak_sdk_version_temp.write_text(self.context.qwak_sdk_version)
127
+ frogml_cli_version_temp_file_path: Path = (
128
+ self.context.host_temp_local_build_dir / "VERSION"
129
+ )
130
+ frogml_cli_version_temp_file_path.write_text(self.context.frogml_cli_version)
129
131
 
130
132
  files_tag_iterator = [
131
133
  (full_size_zip_file, MODEL_CODE_TAG),
132
134
  (skinny_size_zip_file, SKINNY_MODEL_CODE_TAG),
133
- (qwak_sdk_version_temp, FROGML_SDK_VERSION_TAG),
135
+ (frogml_cli_version_temp_file_path, FROGML_CLI_VERSION_TAG),
134
136
  (config_file_temp, BUILD_CONFIG_TAG),
135
137
  ]
136
138
 
@@ -211,13 +213,13 @@ class UploadStep(Step):
211
213
  headers = {}
212
214
 
213
215
  try:
214
- self.build_logger.debug(f"Upload file {file} to Qwak storage")
216
+ self.build_logger.debug(f"Upload file {file} to FrogML storage")
215
217
 
216
218
  self.send_request(
217
219
  upload_url, file, all_files_size_to_upload, read_so_far, headers
218
220
  )
219
221
  self.build_logger.debug(
220
- f"File {file} uploaded to Qwak storage successfully"
222
+ f"File {file} uploaded to FrogML storage successfully"
221
223
  )
222
224
  except Exception as e:
223
225
  raise FrogmlGeneralBuildException(
@@ -5,16 +5,16 @@ from frogml_core.inner.build_logic.interface.build_logger_interface import Build
5
5
 
6
6
  def load_patterns_from_ignore_file(build_logger: BuildLogger, ignore_file_path: Path):
7
7
  if Path(ignore_file_path).is_file():
8
- build_logger.info("Found a Qwak ignore file - will ignore listed patterns")
8
+ build_logger.info("Found a FrogML ignore file - will ignore listed patterns")
9
9
 
10
10
  with open(ignore_file_path, "r") as igonre_file:
11
11
  patterns_to_ignore = [
12
12
  pattern.strip() for pattern in igonre_file.readlines()
13
13
  ]
14
14
  build_logger.debug(
15
- f"Patterns from Qwak igonre file detected - {str(patterns_to_ignore)}"
15
+ f"Patterns from FrogML igonre file detected - {str(patterns_to_ignore)}"
16
16
  )
17
17
  return patterns_to_ignore
18
18
 
19
- build_logger.debug("no Qwak ignore file was found, skipping")
19
+ build_logger.debug("no FrogML ignore file was found, skipping")
20
20
  return []
@@ -14,7 +14,7 @@ from .output_adapters.default_output_adapter import DefaultOutputAdapter
14
14
  from .output_adapters.json_output_adapter import JsonOutputAdapter
15
15
  from .output_adapters.numpy_output_adapter import NumpyOutputAdapter
16
16
  from .output_adapters.proto_output_adapter import ProtoOutputAdapter
17
- from .output_adapters.qwak_with_default_fallback import AutodetectOutputAdapter
17
+ from .output_adapters.frogml_with_default_fallback import AutodetectOutputAdapter
18
18
  from .output_adapters.tf_tensor_output_adapter import TfTensorOutputAdapter
19
19
 
20
20
  __all__ = [
@@ -1,7 +1,7 @@
1
1
  from frogml_core.inner.singleton_meta import SingletonMeta
2
2
 
3
3
 
4
- class QwakAnalyticsLogger(metaclass=SingletonMeta):
4
+ class FrogMLAnalyticsLogger(metaclass=SingletonMeta):
5
5
  """
6
6
  Base class for Frogml analytics logger
7
7
  """
@@ -27,7 +27,7 @@ def get_input_adapter(
27
27
  ) -> Union[JsonInput, DataframeInput, StringInput]:
28
28
  adapter = getattr(model.predict, "_input_adapter", "")
29
29
 
30
- class QwakInput(StringInput):
30
+ class FrogMLInput(StringInput):
31
31
  def extract_user_func_args(self, data: str) -> Any:
32
32
  try:
33
33
  return adapter.extract_user_func_arg(data)
@@ -38,15 +38,15 @@ def get_input_adapter(
38
38
  f"please check model logs.",
39
39
  )
40
40
 
41
- class MultiFormatInput(QwakInput):
41
+ class MultiFormatInput(FrogMLInput):
42
42
  pass
43
43
 
44
44
  mapping = {
45
45
  JsonInputAdapter: JsonInput,
46
46
  DataFrameInputAdapter: DataframeInput,
47
47
  StringInputAdapter: StringInput,
48
- ProtoInputAdapter: QwakInput,
49
- NumpyInputAdapter: QwakInput,
48
+ ProtoInputAdapter: FrogMLInput,
49
+ NumpyInputAdapter: FrogMLInput,
50
50
  MultiInputAdapter: MultiFormatInput,
51
51
  TfTensorInputAdapter: TfTensorInput,
52
52
  ImageInputAdapter: ImageInput,
@@ -55,8 +55,8 @@ def get_input_adapter(
55
55
 
56
56
  if adapter:
57
57
  adapter.mappings = mapping
58
- for qwak_impl, runtime_impl in mapping.items():
59
- if isinstance(adapter, qwak_impl):
58
+ for frogml_impl, runtime_impl in mapping.items():
59
+ if isinstance(adapter, frogml_impl):
60
60
  if isinstance(adapter, DataFrameInputAdapter) and hasattr(
61
61
  adapter, "input_orient"
62
62
  ):
@@ -23,7 +23,7 @@ def get_output_adapter(
23
23
  ):
24
24
  adapter = getattr(model.predict, "_output_adapter", "")
25
25
 
26
- class QwakOutput(JsonOutput):
26
+ class FrogMLOutput(JsonOutput):
27
27
  def __init__(self, **kwargs):
28
28
  super().__init__(**kwargs)
29
29
 
@@ -37,7 +37,7 @@ def get_output_adapter(
37
37
  status_code=500,
38
38
  )
39
39
 
40
- class QwakOutputWithDefaultFallbackOutput(QwakOutput):
40
+ class FrogMLOutputWithDefaultFallbackOutput(FrogMLOutput):
41
41
  def __init__(self, **kwargs):
42
42
  super().__init__(**kwargs)
43
43
 
@@ -50,7 +50,7 @@ def get_output_adapter(
50
50
  else return_result
51
51
  )
52
52
  if issubclass(type(first_result), Message):
53
- response = QwakOutput().pack_user_func_return_value(return_result)
53
+ response = FrogMLOutput().pack_user_func_return_value(return_result)
54
54
  return response
55
55
  else:
56
56
  return DefaultOutput().pack_user_func_return_value(return_result)
@@ -59,13 +59,13 @@ def get_output_adapter(
59
59
  JsonOutputAdapter: JsonOutput,
60
60
  DataFrameOutputAdapter: DataFrameOutput,
61
61
  DefaultOutputAdapter: DefaultOutput,
62
- AutodetectOutputAdapter: QwakOutputWithDefaultFallbackOutput,
63
- ProtoOutputAdapter: QwakOutput,
64
- NumpyOutputAdapter: QwakOutput,
62
+ AutodetectOutputAdapter: FrogMLOutputWithDefaultFallbackOutput,
63
+ ProtoOutputAdapter: FrogMLOutput,
64
+ NumpyOutputAdapter: FrogMLOutput,
65
65
  TfTensorOutputAdapter: TfTensorOutput,
66
66
  }
67
- for qwak_impl, runtime_impl in mapping.items():
68
- if isinstance(adapter, qwak_impl):
67
+ for frogml_impl, runtime_impl in mapping.items():
68
+ if isinstance(adapter, frogml_impl):
69
69
  if isinstance(adapter, DataFrameOutputAdapter) and hasattr(
70
70
  adapter, "output_orient"
71
71
  ):
@@ -61,8 +61,8 @@ def _extract_online_features(model, df):
61
61
 
62
62
  @contextmanager
63
63
  def _set_local_mode():
64
- os.environ["QWAK_IS_RUN_LOCAL"] = "true"
64
+ os.environ["FROGML_IS_RUN_LOCAL"] = "true"
65
65
  try:
66
66
  yield
67
67
  finally:
68
- del os.environ["QWAK_IS_RUN_LOCAL"]
68
+ del os.environ["FROGML_IS_RUN_LOCAL"]
@@ -27,7 +27,7 @@ def validate_and_sanitize_features_name(
27
27
  Add the current env qualifier if env is missing and transform name to lowercase
28
28
  :param features:
29
29
  :return: sanitized features with lower case (to support case-insensitive) fully qualified feature names
30
- :exception QwakException: if the feature name does not adhere to the convention
30
+ :exception FrogmlException: if the feature name does not adhere to the convention
31
31
  """
32
32
  ecosystem_utils = EcosystemUtils()
33
33
  current_env_name = ecosystem_utils.get_current_environment_name()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml-core
3
- Version: 0.0.114
3
+ Version: 0.0.115
4
4
  Summary: frogml Core contains the necessary objects and communication tools for using the Jfrog ml Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -1,4 +1,4 @@
1
- frogml_core/__init__.py,sha256=1PCxzRZPOjhe9JFDbHY8bgPJVFJBWgyNkSH2CnSoOgE,778
1
+ frogml_core/__init__.py,sha256=ZGQmLdvNdBt2eV_CBg8DIlDeGOyY1K5jNJ35csnAIWc,778
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=srG8S5Z20hUsk6uehz75dmCs8mEgNCCwuCXfj3CG8hY,13210
@@ -12,7 +12,7 @@ frogml_core/clients/administration/__init__.py,sha256=PwBe7zEIqtL8jiUF4F6iX_0yT_
12
12
  frogml_core/clients/administration/authenticated_user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  frogml_core/clients/administration/authenticated_user/client.py,sha256=ymTzgIkwuMH_5aj1qHX2PkjykmAOsyERWOkxQS3qLUY,1484
14
14
  frogml_core/clients/administration/authentication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- frogml_core/clients/administration/authentication/client.py,sha256=YJ_yHqmXSEEVqToDZv3Jk2o99ohk8DHVcJECkL4vagI,1223
15
+ frogml_core/clients/administration/authentication/client.py,sha256=3wnMUAWwIONg7oFmu0SBDZq_rli3vADAnM5OP4E7T8E,1197
16
16
  frogml_core/clients/administration/eco_system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  frogml_core/clients/administration/eco_system/client.py,sha256=V6xjyG1zb9HU8_31Ie-wr-oGULjhnh6BPdShEy1jTTE,5376
18
18
  frogml_core/clients/administration/eco_system/eco_system_utils.py,sha256=h3aeyoMEiEUSVkbSMP1EzC2LK88aXz2_PlKIeA_7gSc,521
@@ -34,15 +34,15 @@ frogml_core/clients/automation_management/client.py,sha256=rG1tvdtKoSBCSG5IdzmSP
34
34
  frogml_core/clients/autoscaling/__init__.py,sha256=A-zuZOWaZf16NjnpX38204m730c5Lde491KaXneGirE,38
35
35
  frogml_core/clients/autoscaling/client.py,sha256=Izl_Ko31ECsVEadTcthru8GGujsHpwWN5E_VSCKiymM,1296
36
36
  frogml_core/clients/batch_job_management/__init__.py,sha256=zywxYf2JupkIWnGVB2C6ugZs5CrOdxTPrksD5P6uQu4,211
37
- frogml_core/clients/batch_job_management/client.py,sha256=V8sqltMAsoHAoXHxXZsoLmY7L1XykbBvod1xyhCmHHA,22528
37
+ frogml_core/clients/batch_job_management/client.py,sha256=hAdeoHtz6wEUOrMxi4VQpchp8Mk9Oi6S9gtD-KRB3_0,22536
38
38
  frogml_core/clients/batch_job_management/executions_config.py,sha256=eEbT_ldIEVtwe85oThJ-Jv3qFBIfvLpZ-w6aJCLlqlk,6910
39
39
  frogml_core/clients/batch_job_management/results.py,sha256=nrFGZ3y538FBhej94CYV4cwqQssK1aUQOLGubYdQVrc,1846
40
40
  frogml_core/clients/build_management/__init__.py,sha256=oXurHX6Kho5X-fOuuNHB3B9oMX6ejYUqh6GWv5qJyjw,43
41
41
  frogml_core/clients/build_management/client.py,sha256=eVxnujWyxfkW0jKAJkNWBsP6RE7tnmQOVmk3GzmEvGA,4289
42
42
  frogml_core/clients/build_orchestrator/__init__.py,sha256=ReW7Lbjws06MbVlCTRdsymDZiS2CKuczXIZ1xnPKSdg,105
43
- frogml_core/clients/build_orchestrator/build_model_request_getter.py,sha256=JreORvIl_WardRiMuKAKXYVaDFKZsFQDyDmzcD8O5MQ,5197
44
- frogml_core/clients/build_orchestrator/client.py,sha256=RlqCeIpbEC21UJKmjZcWv-dPFyqb95MoItIf5FaMDIE,16212
45
- frogml_core/clients/build_orchestrator/internal_client.py,sha256=kVd25UN38zh_NO0-UxSX-SsUTdZpT9qPZ9EQ451OB30,4020
43
+ frogml_core/clients/build_orchestrator/build_model_request_getter.py,sha256=o210DeH8spff5I-Kha1d6d-4-I225MtzXLVFeqdfHN4,5205
44
+ frogml_core/clients/build_orchestrator/client.py,sha256=R_JdUvjZNteCfP3pLCfe38PmJCIMJZMnGfGLywN2DPg,16265
45
+ frogml_core/clients/build_orchestrator/internal_client.py,sha256=C2R_2qPWSLSGTYRFpR8UQF6XjZDEJGK2IjRFS_B5AHc,4069
46
46
  frogml_core/clients/data_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  frogml_core/clients/data_versioning/client.py,sha256=gaIO4AkYUBlWfb0h3pZXnqjXHOf343whHyHN7fGvBLc,2429
48
48
  frogml_core/clients/data_versioning/data_tag_filter.py,sha256=YSHHWnnhPz03KojYXv-YH6-0gSYYKQSQkjoZsqyfa0w,886
@@ -188,7 +188,7 @@ frogml_core/frogml_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
188
188
  frogml_core/frogml_client/batch_jobs/execution.py,sha256=UvRkxgdiDC5aZh8nsz_9-AbU-3cg8P9qQSmTL1uHtSI,1758
189
189
  frogml_core/frogml_client/batch_jobs/task.py,sha256=GF1_Jnldp6_JkkzF-pQEhq1vn-Z8RYmgQduoMVYQ9UI,1532
190
190
  frogml_core/frogml_client/build_api_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
- frogml_core/frogml_client/build_api_helpers/build_api_steps.py,sha256=7JGstGSQfdWCyFGiju2xHMPS2esp3BwAUhGbAC8_P0Y,1969
191
+ frogml_core/frogml_client/build_api_helpers/build_api_steps.py,sha256=o4Kj2YSNnupN6S2kc-YLKy8eMdBhDNeK9_LIgTOvdg0,1985
192
192
  frogml_core/frogml_client/build_api_helpers/messages.py,sha256=q-1fgIchkbUgGAOnDRETwCasLsd9-hKg6xwJcJsazQ0,186
193
193
  frogml_core/frogml_client/build_api_helpers/trigger_build_api.py,sha256=LYscfsxk8WmRAsVkxBu28gSqgaJuhqb8BiO4LxWtSGM,2436
194
194
  frogml_core/frogml_client/builds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -219,13 +219,13 @@ frogml_core/inner/build_logic/constants/dependencies.py,sha256=YIK_fu07veVuNX4cz
219
219
  frogml_core/inner/build_logic/constants/host_resource.py,sha256=XrHQeJOAEygOx7GTPGTVWCOuDEr5zXYcW0e7kK3HFiU,137
220
220
  frogml_core/inner/build_logic/constants/messages.py,sha256=jqoTX5hMU4uCIlD84j20T2HzGyp46QBgm4azojT5RXQ,96
221
221
  frogml_core/inner/build_logic/constants/temp_dir.py,sha256=rp9chSiT2ShrzpLqPJVf1kC0p_V-LxBgChRYZKFPlSs,36
222
- frogml_core/inner/build_logic/constants/upload_tag.py,sha256=cqrYfHzA2mQqxu6tiXup1f7esK4Jcw7QseguFJNYNXM,297
222
+ frogml_core/inner/build_logic/constants/upload_tag.py,sha256=VoeDP_UGEzS-rWDz3qCseA7HPxrOajD_f-6ll_hJyuc,332
223
223
  frogml_core/inner/build_logic/dependency_manager_type.py,sha256=1L-njo19b6-W2vO-bOtjzek1GL_bkVlgvZWYfmcTsBE,116
224
224
  frogml_core/inner/build_logic/execute_build_pipeline.py,sha256=dONVHjMoZHd-FZ3QySLHIPBATrw6iI-SFZIFtDxNL2U,2321
225
225
  frogml_core/inner/build_logic/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  frogml_core/inner/build_logic/interface/build_logger_interface.py,sha256=JUxldJuhMVHoXk9nZc9tz7-LPOMC99Z32oQYHSHpffY,528
227
227
  frogml_core/inner/build_logic/interface/build_phase.py,sha256=DNOcg11RVCSPpnGcAk2xDYEXwQ6UNWFoiGMpjgSFPt8,675
228
- frogml_core/inner/build_logic/interface/context_interface.py,sha256=3Zpnb5E3fXKsx4o37cOOPdSWXT5H4Yz3Yt0H5DXUnSU,2120
228
+ frogml_core/inner/build_logic/interface/context_interface.py,sha256=9e30dxqt6YOBl1NpboH_bvYY-wDyZYnLvrq6Efl7mUk,2120
229
229
  frogml_core/inner/build_logic/interface/phase_run_handler.py,sha256=Jfrpd-YJJUNKsPH74u_VT-KDR37BV6eK122thyWHaUo,1744
230
230
  frogml_core/inner/build_logic/interface/step_inteface.py,sha256=ETCTp4bHj3O-pOxdQG_7X-W-gu73GLRAGKbnDHOOyP4,746
231
231
  frogml_core/inner/build_logic/interface/time_source.py,sha256=njwil9A1sxP4SoB8LxtNhWhlV2-w1XOpoF4_wccNVYU,585
@@ -240,23 +240,23 @@ frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manage
240
240
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/folder_strategy.py,sha256=Uy3HJuiIaGjqVdFyMhyB33QLQxZEHR22K_wx9KrFSaY,5081
241
241
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
242
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py,sha256=iqNqD79iKY9kgj3e5G2aZwjeLJnOIE4BC9i0Dl0aaII,5949
243
- frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py,sha256=MocvnsB_0NAy8ab6NOWRhmNbApGnO_zttyBXvtx8CPE,1447
243
+ frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py,sha256=ZdP9xH8xYV9zFnn10EupIqkNV8XASAxvCkZbJugGIF8,1474
244
244
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/zip_strategy.py,sha256=wCDk5wQlEtCLVDFdC3lXEebpLIMECovHHTvyLsorki8,2276
246
246
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/post_fetch_validation_step.py,sha256=we9ab9WSKU_jtDkqTRVqRDBdKs5cqnlUjJmPozkcZuw,5468
247
247
  frogml_core/inner/build_logic/phases/phase_010_fetch_model/pre_fetch_validation_step.py,sha256=_IGqNpO1qohHqzMh93NW1Z-DaphSLq-9kYfPCKz9Mz0,11263
248
- frogml_core/inner/build_logic/phases/phase_010_fetch_model/set_version_step.py,sha256=XCfLmr5GWd4dkBB8rKc0FwivW3RbIwrgfGH8f7agKwU,1226
248
+ frogml_core/inner/build_logic/phases/phase_010_fetch_model/set_version_step.py,sha256=NV8Nj2zXT39s1kXBh1kyZ_sThOtrhQ1SdMLzVNAZuHo,1231
249
249
  frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
250
  frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/cleanup_step.py,sha256=HmQ0iQ9pJxLZTDzUvwVwwWO2CG-4fHtxwmye-xL0Q9U,632
251
- frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/start_remote_build_step.py,sha256=UQWLfJpj9lm0fJfKj0Kc2N99x6ioUVfKPXrf1u70rJY,1691
252
- frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/upload_step.py,sha256=bbNSttwy2vEZv9yfE1Ndxf_rv03KP7QuM4Q9rM9BEUI,9350
251
+ frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/start_remote_build_step.py,sha256=8J8MFtNlYWO-Z58Qg2_VKSlO1sQqQ7ldRC_LRxClwm4,1695
252
+ frogml_core/inner/build_logic/phases/phase_020_remote_register_frogml_build/upload_step.py,sha256=yFh8dhnYG94n4nV0tDUP0yFztrO95DLsybTHAEspWUk,9425
253
253
  frogml_core/inner/build_logic/phases/phases_pipeline.py,sha256=Ei70zbiiT6Be2aFLV7Z5zcVykm2peOsd-UFLG47AR_c,1258
254
254
  frogml_core/inner/build_logic/run_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
255
  frogml_core/inner/build_logic/run_handlers/programmatic_phase_run_handler.py,sha256=XE1afXZfA1AQOa9bV2CtmK--gcX0YKRhLwGdkfb3cto,3547
256
256
  frogml_core/inner/build_logic/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
257
257
  frogml_core/inner/build_logic/tools/dependencies_tools.py,sha256=xuwwVOVYlOuRKlExJp4TCyp0jTlKitQnqC6nTj0VuVQ,2512
258
258
  frogml_core/inner/build_logic/tools/files.py,sha256=yEEXgOoQroxTa_S2zr5DbnrwEC1NiDXiq6Zl-xmGyXU,8277
259
- frogml_core/inner/build_logic/tools/ignore_files.py,sha256=PO23CgJlC9fPuLh82vOjbL3L9hm0G03a8lOU69s6FVI,757
259
+ frogml_core/inner/build_logic/tools/ignore_files.py,sha256=6Zfn-8t6MZU0qjXNO1CbsrCeRjfFeRIoDc6nlfLMZxQ,763
260
260
  frogml_core/inner/build_logic/tools/text.py,sha256=tH-v19Mt8l90sMVxku5XRtrderT0qdRqJ-jLijqannA,188
261
261
  frogml_core/inner/build_logic/trigger_build_context.py,sha256=SgyWaOKTlZUHqglo8r_pkn_a6PHP-L6gtYaapQ6F3Rs,207
262
262
  frogml_core/inner/const.py,sha256=eP8Naruk3EnRWDdS9gwpozUYA9Nxznybw7Eiv4k5l38,126
@@ -284,7 +284,7 @@ frogml_core/inner/tool/run_config/base.py,sha256=D5PsVHSW8oB6AbY40PEgaonLc_R4hJ9
284
284
  frogml_core/inner/tool/run_config/utils.py,sha256=xrSmnOvRK4enuy6-4ly_IWP4__l8czQ-E83wSmig14Y,7722
285
285
  frogml_core/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
286
286
  frogml_core/model/_entity_extraction.py,sha256=gFeHgKgnz-MpB61w0OfJe30PUh5Cm390nZWSKy0JIls,4669
287
- frogml_core/model/adapters/__init__.py,sha256=jMM_0Nf6_vCKccsRB0izs8odCXYlXt-u1sXGh4PcpX4,1739
287
+ frogml_core/model/adapters/__init__.py,sha256=rdxqqLEUGGkXBiHO0hR8QDlrbwiKJwY8UYoHmonGRSc,1741
288
288
  frogml_core/model/adapters/input_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
289
  frogml_core/model/adapters/input_adapters/base_input_adapter.py,sha256=RCnzt56i-XjJ_IDOO60VN6dMapuvokGW7rwNFQWswgI,198
290
290
  frogml_core/model/adapters/input_adapters/dataframe_input_adapter.py,sha256=8mS2R3iUwztaiTCK4Fhdr1-tQHXdbdw4_nIxrLz6_mw,322
@@ -300,12 +300,12 @@ frogml_core/model/adapters/output_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW
300
300
  frogml_core/model/adapters/output_adapters/base_output_adapter.py,sha256=CAd0KnTmi9h8xD33v7YNbQAYOYmtZxpRs9bsnhzHRHc,315
301
301
  frogml_core/model/adapters/output_adapters/dataframe_output_adapter.py,sha256=acXXwyw6TmFaZ9lUccTzWrykb48IuUfverQH3OY-G3Y,321
302
302
  frogml_core/model/adapters/output_adapters/default_output_adapter.py,sha256=6iCGj_TNJL4Phvq7Y9GPA3SwNP6oqf1ELtkLc-l6Hx0,219
303
+ frogml_core/model/adapters/output_adapters/frogml_with_default_fallback.py,sha256=6iBIPuvqfynexPVNVvajcmytl4uji0pyfe8shCrmky0,115
303
304
  frogml_core/model/adapters/output_adapters/json_output_adapter.py,sha256=SKZiYemZYr3X7QNe1ql-AJO4vglhTMaWmIcLlcP4uu0,216
304
305
  frogml_core/model/adapters/output_adapters/numpy_output_adapter.py,sha256=wWWfToKEIGxCola1E7YddNz7RZhY0TvzHiDh57mQEzo,1076
305
306
  frogml_core/model/adapters/output_adapters/proto_output_adapter.py,sha256=eUF1XoLCVocgSR5nqC2OyfbGVMgCdwkk_XJGJL3uJaU,517
306
- frogml_core/model/adapters/output_adapters/qwak_with_default_fallback.py,sha256=6iBIPuvqfynexPVNVvajcmytl4uji0pyfe8shCrmky0,115
307
307
  frogml_core/model/adapters/output_adapters/tf_tensor_output_adapter.py,sha256=nSOszDmgsDyahqJbX10zrdwMX2W90RdQQ2uhybF7S08,220
308
- frogml_core/model/analytics_logging.py,sha256=M8R9nQRafa840wGEjyetbu1b-ThLfJ8V5bqXHN2Wdso,314
308
+ frogml_core/model/analytics_logging.py,sha256=MyKPPbNg1Y2qTjVPOQ3MlWOZD954YjlJEo-C5VPkmSM,316
309
309
  frogml_core/model/base.py,sha256=FNeJDoD9ugOdtFo6Yl1NgcQXVGsH4eoA-NenKCuJ-SA,2845
310
310
  frogml_core/model/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
311
  frogml_core/model/decorators/api.py,sha256=ePVg7ZFfR7rkM5S7xG8W-A7fOSMIJpAEX2KDkSGkxFw,2003
@@ -320,7 +320,7 @@ frogml_core/model/schema_entities.py,sha256=Q-kNEKnEHG-Wyk_fOP_Em5bQ2aeB9gFS6SeX
320
320
  frogml_core/model/tools/__init__.py,sha256=hCoR7Fm87WcrbckIsi23VauopiU_YqNpIkjYs2Yg6XY,804
321
321
  frogml_core/model/tools/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
322
  frogml_core/model/tools/adapters/encoders.py,sha256=VBxgv5-Gdcz8hyj9dFCAz9JpKmD46uoC_E7F-2ViqOw,1193
323
- frogml_core/model/tools/adapters/input.py,sha256=653bPmObq0SEw5Y1GdZtNcAeWJRanpIEei2JC1VXDRo,2201
323
+ frogml_core/model/tools/adapters/input.py,sha256=V5fVeRED7tHTRcr9P7Y53f_NSSdgqJ95KgmAC4gS76w,2213
324
324
  frogml_core/model/tools/adapters/input_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
325
  frogml_core/model/tools/adapters/input_adapters/base_input.py,sha256=LHwxP323dokgtouo5sXoNKsBk3kEoeJuUV7M-opzmcM,606
326
326
  frogml_core/model/tools/adapters/input_adapters/dataframe_input.py,sha256=Y-TWmm36dsqoxNILTpLWAm46H0dmsO5CPt0f_09BU-w,1571
@@ -329,17 +329,17 @@ frogml_core/model/tools/adapters/input_adapters/image_input.py,sha256=Kh8RHMxqHO
329
329
  frogml_core/model/tools/adapters/input_adapters/json_input.py,sha256=kF3n6zFOjRtaU34PZuDoM9cIHKUe-N8Xx5v3GTW__OA,621
330
330
  frogml_core/model/tools/adapters/input_adapters/string_input.py,sha256=K2SIJy92C-1eX1ReT8iqeFAU8UQWF2d88Zv79jsMrac,151
331
331
  frogml_core/model/tools/adapters/input_adapters/tf_tensor_input.py,sha256=vP0DWrCzn2dh48cN16872QZzyTfWSRKPs5FAUxjZgHk,1415
332
- frogml_core/model/tools/adapters/output.py,sha256=JtmNkpPvJRuTqDrfjWo67GdEC9C4j6oZxOW7wKlVmrE,2745
332
+ frogml_core/model/tools/adapters/output.py,sha256=9MWqgIOkJdfbgLZgSrZVhmrVoZYbeig7h0wVYaCMp-o,2763
333
333
  frogml_core/model/tools/adapters/output_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
334
  frogml_core/model/tools/adapters/output_adapters/base_output.py,sha256=VXiwnA1499RQSfdFbEU769lRhuOqWTBPfXglKaymhRc,343
335
335
  frogml_core/model/tools/adapters/output_adapters/dataframe_output.py,sha256=f1stPSAEJoceOO4rblmaid3cbN2PmzL-JV408hFQRLY,809
336
336
  frogml_core/model/tools/adapters/output_adapters/default_output.py,sha256=Pt99hiJipHWUuhUXmCqO3C0dm_pVTl5iR5khqMLkQ2Q,1738
337
337
  frogml_core/model/tools/adapters/output_adapters/json_output.py,sha256=06rzcHXJXdS7BWL-hKZRidqMSv3010DPNLpj85K8Cg4,588
338
338
  frogml_core/model/tools/adapters/output_adapters/tf_tensor_output.py,sha256=73_md9k424_IhSKlDGnSBta0VreY16ET9hCmnygSHLg,1094
339
- frogml_core/model/tools/run_model_locally.py,sha256=3L99uWOw7GYmxEfb12aPyGxCW4YWPP_xOMapW9zyatc,2303
339
+ frogml_core/model/tools/run_model_locally.py,sha256=oLZXMI5aPEn6xzEO5cfbTa8KJ3aspArtruiGUQ5hyeI,2307
340
340
  frogml_core/model/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
341
  frogml_core/model/utils/extract_wrapped_function.py,sha256=uIle1zL8vbmeS3PGAuaNFLIUQAsvpuzk3LlH-Teba94,320
342
- frogml_core/model/utils/feature_utils.py,sha256=ObIU4jLKOMEa3DWEyrXm1m3wC2wseAVwr-zxlSiojYk,2525
342
+ frogml_core/model/utils/feature_utils.py,sha256=tCSKUBa9Ur7IxN6QfApxA0xafNgKzWQy6hN4BozT7No,2527
343
343
  frogml_core/model_loggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
344
  frogml_core/model_loggers/artifact_logger.py,sha256=F3Xhw9O82b0_cx24DHoc13SaJ06rqO5-c4Tw4yIMR74,4033
345
345
  frogml_core/model_loggers/data_logger.py,sha256=I3o2TkAGAnKuVWccPMlGL5-rg1e2UDHRc9cRSS8kqmc,5678
@@ -962,7 +962,7 @@ frogml_services_mock/__init__.py,sha256=0T7bNPpbIApVHcQ9vn5RXKy1PNaD5hl3sFnkMvsc
962
962
  frogml_services_mock/mocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
963
963
  frogml_services_mock/mocks/alert_manager_service_api.py,sha256=wEBgwtCRAxUSAni-rb0tjlKZjoyeM8jh1Y6Poi4PGMc,2163
964
964
  frogml_services_mock/mocks/alert_registry_service_api.py,sha256=k_MbEytyIvUcMffqd1E6Wf0qBEOyZMVpBu-jaS6Tvjw,2277
965
- frogml_services_mock/mocks/analytics_api.py,sha256=9zA90He4hYOd8Wr1k_wZho6bWsbkd8mVUt4MUCrTEKc,2132
965
+ frogml_services_mock/mocks/analytics_api.py,sha256=-tUGPwj-qrB96cNKjQEo5_ht91S8ThmXZVy4xx8VD80,2163
966
966
  frogml_services_mock/mocks/audience_service_api.py,sha256=x96adhF05NYqEtI8lJaf5llrZX29udPLHuVXKy_FbR0,2661
967
967
  frogml_services_mock/mocks/authentication_service.py,sha256=M3cVfnQ2XcxQAWZCm9uR9cAVu_0BahEP4BdymYQfihI,1180
968
968
  frogml_services_mock/mocks/automation_management_service.py,sha256=-7kncqM3R-_pLmppzFpuv_TniXCVGVuESculVuQ3EbY,8238
@@ -974,7 +974,7 @@ frogml_services_mock/mocks/build_orchestrator_build_settings_api.py,sha256=5V15s
974
974
  frogml_services_mock/mocks/build_orchestrator_service_api.py,sha256=5LMVyz8fJCKaPqohzbMyb1DJaZQmxQMq7RF7tf8178E,5233
975
975
  frogml_services_mock/mocks/data_versioning_service.py,sha256=XVsFBX9LQtbfo2JG2yBlNoPEZyFKtlFeztJmQULaR7g,2467
976
976
  frogml_services_mock/mocks/deployment_management_service.py,sha256=pcW963FailhEZuFmVXX_gz7N0zydzuxwVb8g803vBK4,20580
977
- frogml_services_mock/mocks/ecosystem_service_api.py,sha256=NlJfxC7tFZc94biAN8r2wtkap7eXC0Qjp2j8iifDmoA,1621
977
+ frogml_services_mock/mocks/ecosystem_service_api.py,sha256=J7Cds0OzclsfGZ9DsHvkNcdaz95kIhP6AWKvI262ZLc,1657
978
978
  frogml_services_mock/mocks/execution_management_service.py,sha256=aIxid8ScdUKRpV_w_dErNpMSm2Pj30ZK8ejBqe06HTY,889
979
979
  frogml_services_mock/mocks/feature_store_data_sources_manager_api.py,sha256=uO6I_3qJB-q8JD7ov_tko838wlI6o5B4GsW08cnaYxI,3541
980
980
  frogml_services_mock/mocks/feature_store_entities_manager_api.py,sha256=exPHmeYHtkA0BVA5x_srXCKV7qp5zD4XWD4ZaFdUb4o,3404
@@ -1004,10 +1004,10 @@ frogml_services_mock/mocks/system_secret_service.py,sha256=IXcjXoN0L7jbxAF-7g6HO
1004
1004
  frogml_services_mock/mocks/user_application_instance_service_api.py,sha256=2kMFeKdxRIWySYYbMAGII4ds04i3m4u_Ds8VrQbm7l0,4097
1005
1005
  frogml_services_mock/mocks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1006
1006
  frogml_services_mock/mocks/utils/exception_handlers.py,sha256=k_8mez3cwjNjKE9yGQRJUuK95qNQyk_slotIF08IIEE,308
1007
- frogml_services_mock/services_mock.py,sha256=drb5QhtsvsTvYpFYW9IF3n8B558uZgaNVE8PEKXB4pI,19297
1007
+ frogml_services_mock/services_mock.py,sha256=7ZZjHiBrGBjXYckTpA0iJ-wiLsMo87EZ34UIB_UNdoo,19364
1008
1008
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1009
1009
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1010
- frogml_storage/__init__.py,sha256=r2EfLfvHdmK0ZasuaL5muamoRg8qxxi-chIlm4Rw_gU,24
1010
+ frogml_storage/__init__.py,sha256=kJWTvBdGHSY-dEE48wQ1yJp4kCxegBM6lwZcvHLo7H8,24
1011
1011
  frogml_storage/_environment.py,sha256=zuzOJBtBwFaguwn_JkKjfhXStZoustgP30KzOP3mYv8,707
1012
1012
  frogml_storage/artifactory/__init__.py,sha256=C02rcm7kqsZBVA6c6Gztxamj96hn8Aj6BuzYWFRmWbQ,71
1013
1013
  frogml_storage/artifactory/_artifactory_api.py,sha256=Oz0HOpQPSNwWIVAy94UJUyPhLetc7sdZjoTfSXtrFug,11200
@@ -1046,6 +1046,6 @@ frogml_storage/utils/__init__.py,sha256=HQUWfuGUIPZY7kfS795TRW8BQ4WmNqrNjS7lUrbx
1046
1046
  frogml_storage/utils/_input_checks_utility.py,sha256=CFiJOdTBS9piJMtR3lemEz27wZcQ6_-7XESu8iy-mrw,3221
1047
1047
  frogml_storage/utils/_storage_utils.py,sha256=HB2g7uY5A3b33yIcAUM1OjHb5jWsnpESsiDrEviQwrI,366
1048
1048
  frogml_storage/utils/_url_utils.py,sha256=NUEfz9Fp1iE8b676-A5wrMlSTsJVRKrUhcUItOFAJD8,821
1049
- frogml_core-0.0.114.dist-info/METADATA,sha256=ii_y_FJaD-PHvMB_4rBje0jWeEyWyIUi5Cw2c4MCJTU,14898
1050
- frogml_core-0.0.114.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1051
- frogml_core-0.0.114.dist-info/RECORD,,
1049
+ frogml_core-0.0.115.dist-info/METADATA,sha256=5d8D6Br3iP1e1aP7gTENKLtiDGc-9TBmtVBlJ1nvoGg,14898
1050
+ frogml_core-0.0.115.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1051
+ frogml_core-0.0.115.dist-info/RECORD,,
@@ -12,12 +12,12 @@ SUCCESSFUL_QUERY = "select * from successful"
12
12
  FAILED_QUERY = "select * from failed"
13
13
  TIMEOUT_QUERY = "select * from timeout"
14
14
  CANCELLED_QUERY = "select * from cancelled"
15
- SUCCESSFUL_QUERY_ID = "successful"
16
- FAILED_QUERY_ID = "failed"
17
- TIMEOUT_QUERY_ID = "timeout"
18
- CANCELLED_QUERY_ID = "cancelled"
19
- FAILURE_REASON = "failure reason"
20
- DOWNLOAD_URL = "https://qwak.com/download"
15
+ SUCCESSFUL_QUERY_ID: str = "successful"
16
+ FAILED_QUERY_ID: str = "failed"
17
+ TIMEOUT_QUERY_ID: str = "timeout"
18
+ CANCELLED_QUERY_ID: str = "cancelled"
19
+ FAILURE_REASON: str = "failure reason"
20
+ DOWNLOAD_URL: str = "https://jfrog.com/download"
21
21
 
22
22
 
23
23
  class AnalyticsApiMock(AnalyticsQueryServiceServicer):
@@ -7,14 +7,14 @@ from frogml_proto.qwak.ecosystem.v0.ecosystem_runtime_service_pb2 import (
7
7
  GetCloudCredentialsResponse,
8
8
  )
9
9
  from frogml_proto.qwak.ecosystem.v0.ecosystem_runtime_service_pb2_grpc import (
10
- QwakEcosystemRuntimeServicer,
10
+ QwakEcosystemRuntimeServicer as FrogmlEcosystemRuntimeServicer,
11
11
  )
12
12
  from frogml_services_mock.mocks.utils.exception_handlers import (
13
13
  raise_internal_grpc_error,
14
14
  )
15
15
 
16
16
 
17
- class EcoSystemServiceMock(QwakEcosystemRuntimeServicer):
17
+ class EcoSystemServiceMock(FrogmlEcosystemRuntimeServicer):
18
18
  def __init__(self):
19
19
  self._aws_temp_credentials = None
20
20
  self._authenticated_user_context = None
@@ -57,7 +57,7 @@ from frogml_proto.qwak.deployment.deployment_service_pb2_grpc import (
57
57
  from frogml_proto.qwak.ecosystem.jfrog.v0.jfrog_tenant_info_service_pb2_grpc import \
58
58
  add_JFrogTenantInfoServiceServicer_to_server
59
59
  from frogml_proto.qwak.ecosystem.v0.ecosystem_runtime_service_pb2_grpc import (
60
- add_QwakEcosystemRuntimeServicer_to_server,
60
+ add_QwakEcosystemRuntimeServicer_to_server as add_FrogmlEcosystemRuntimeServicer_to_server,
61
61
  )
62
62
  from frogml_proto.qwak.execution.v1.execution_service_pb2_grpc import (
63
63
  add_FeatureStoreExecutionServiceServicer_to_server,
@@ -363,7 +363,7 @@ def attach_servicers(free_port, server):
363
363
  (
364
364
  "ecosystem_client_mock",
365
365
  EcoSystemServiceMock,
366
- add_QwakEcosystemRuntimeServicer_to_server,
366
+ add_FrogmlEcosystemRuntimeServicer_to_server,
367
367
  ),
368
368
  (
369
369
  "job_registry_service_mock",
@@ -511,11 +511,11 @@ def frogml_services_mock() -> Generator[FrogmlMocks, None, None]:
511
511
  free_port = frogml_container()
512
512
 
513
513
  server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
514
- qwak_mocks = attach_servicers(free_port, server)
514
+ frogml_mocks: FrogmlMocks = attach_servicers(free_port, server)
515
515
 
516
516
  server.add_insecure_port(f"[::]:{free_port}")
517
517
  server.start()
518
518
 
519
- yield qwak_mocks
519
+ yield frogml_mocks
520
520
 
521
521
  server.stop(0)
@@ -1 +1 @@
1
- __version__ = "0.0.114"
1
+ __version__ = "0.0.115"