qwak-core 0.4.266__py3-none-any.whl → 0.4.267__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.
- qwak/__init__.py +1 -1
- qwak/clients/instance_template/client.py +4 -6
- qwak/clients/prompt_manager/model_descriptor_mapper.py +19 -21
- qwak/feature_store/_common/artifact_utils.py +3 -3
- qwak/feature_store/data_sources/base.py +4 -4
- qwak/feature_store/data_sources/batch/athena.py +3 -3
- qwak/feature_store/feature_sets/streaming.py +3 -3
- qwak/feature_store/feature_sets/streaming_backfill.py +1 -1
- qwak/feature_store/online/client.py +6 -6
- qwak/feature_store/sinks/streaming/factory.py +1 -1
- qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py +3 -3
- qwak/llmops/provider/openai/provider.py +3 -3
- qwak/model/tools/adapters/output.py +1 -1
- qwak/model/utils/feature_utils.py +8 -12
- qwak/model_loggers/artifact_logger.py +7 -7
- qwak/tools/logger/logger.py +1 -1
- qwak_core-0.4.267.dist-info/METADATA +53 -0
- {qwak_core-0.4.266.dist-info → qwak_core-0.4.267.dist-info}/RECORD +19 -51
- frogml_storage/__init__.py +0 -0
- frogml_storage/_artifactory_api.py +0 -315
- frogml_storage/_environment.py +0 -22
- frogml_storage/_log_config.py +0 -45
- frogml_storage/_storage_utils.py +0 -15
- frogml_storage/_utils.py +0 -69
- frogml_storage/authentication/_authentication_utils.py +0 -259
- frogml_storage/authentication/models/_auth_config.py +0 -70
- frogml_storage/cli/_frogml_cli.py +0 -40
- frogml_storage/cli/_login_cli.py +0 -240
- frogml_storage/cli/commands/_login_command.py +0 -74
- frogml_storage/cli/models/_cli_login_arguments.py +0 -22
- frogml_storage/cli/utils/_cli_utils.py +0 -19
- frogml_storage/cli/utils/_login_checks_utility.py +0 -114
- frogml_storage/constants.py +0 -56
- frogml_storage/dataset_manifest.py +0 -13
- frogml_storage/entity_manifest.py +0 -93
- frogml_storage/exceptions/checksum_verification_error.py +0 -3
- frogml_storage/exceptions/validation_error.py +0 -4
- frogml_storage/frog_ml.py +0 -668
- frogml_storage/frogml_entity_type_info.py +0 -46
- frogml_storage/http/__init__.py +0 -0
- frogml_storage/http/http_client.py +0 -83
- frogml_storage/model_manifest.py +0 -60
- frogml_storage/models/_download_context.py +0 -54
- frogml_storage/models/frogml_dataset_version.py +0 -21
- frogml_storage/models/frogml_entity_version.py +0 -34
- frogml_storage/models/frogml_model_version.py +0 -21
- frogml_storage/serialization_metadata.py +0 -15
- frogml_storage/storage.py +0 -140
- frogml_storage/utils/_input_checks_utility.py +0 -104
- qwak_core-0.4.266.dist-info/METADATA +0 -419
- qwak_core-0.4.266.dist-info/entry_points.txt +0 -3
- {qwak_core-0.4.266.dist-info → qwak_core-0.4.267.dist-info}/WHEEL +0 -0
qwak/__init__.py
CHANGED
@@ -49,12 +49,10 @@ class InstanceTemplateManagementClient:
|
|
49
49
|
|
50
50
|
def list_instance_templates(self) -> List[InstanceTemplateSpec]:
|
51
51
|
try:
|
52
|
-
result: ListInstanceTemplatesResponse = (
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
instance_type_filter=InstanceTypeFilter.INSTANCE_TYPE_FILTER_ALL
|
57
|
-
)
|
52
|
+
result: ListInstanceTemplatesResponse = self._instance_template_service.ListInstanceTemplates(
|
53
|
+
ListInstanceTemplatesRequest(
|
54
|
+
optional_instance_filter=InstanceFilter(
|
55
|
+
instance_type_filter=InstanceTypeFilter.INSTANCE_TYPE_FILTER_ALL
|
58
56
|
)
|
59
57
|
)
|
60
58
|
)
|
@@ -44,10 +44,10 @@ class ModelDescriptorMapper:
|
|
44
44
|
model_id: str, openai_chat_params: ProtoOpenAIChatModelParams
|
45
45
|
) -> OpenAIChat:
|
46
46
|
p = openai_chat_params
|
47
|
-
_tool_choice: Union[
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
_tool_choice: Union[
|
48
|
+
str, ChatCompletionNamedToolChoiceParam
|
49
|
+
] = ModelDescriptorMapper._from_tool_choice(
|
50
|
+
openai_chat_params=openai_chat_params
|
51
51
|
)
|
52
52
|
_tools: List[ChatCompletionToolParam] = []
|
53
53
|
|
@@ -57,23 +57,21 @@ class ModelDescriptorMapper:
|
|
57
57
|
|
58
58
|
return OpenAIChat(
|
59
59
|
model_id=model_id,
|
60
|
-
frequency_penalty=
|
61
|
-
|
62
|
-
|
63
|
-
logit_bias=(
|
64
|
-
|
65
|
-
|
66
|
-
else None
|
67
|
-
),
|
60
|
+
frequency_penalty=p.frequency_penalty
|
61
|
+
if p.HasField("frequency_penalty")
|
62
|
+
else None,
|
63
|
+
logit_bias={k: int(v) for k, v in p.logit_bias.items()}
|
64
|
+
if p.HasField("logit_bias")
|
65
|
+
else None,
|
68
66
|
logprobs=p.logprobs if p.HasField("logprobs") else None,
|
69
67
|
max_tokens=p.max_tokens if p.HasField("max_tokens") else None,
|
70
68
|
n=p.n if p.HasField("n") else None,
|
71
|
-
presence_penalty=
|
72
|
-
|
73
|
-
|
74
|
-
response_format=
|
75
|
-
|
76
|
-
|
69
|
+
presence_penalty=p.presence_penalty
|
70
|
+
if p.HasField("presence_penalty")
|
71
|
+
else None,
|
72
|
+
response_format=p.response_format
|
73
|
+
if p.HasField("response_format")
|
74
|
+
else None, # noqa
|
77
75
|
seed=p.seed if p.HasField("seed") else None,
|
78
76
|
stop=[_ for _ in p.stop] if p.HasField("stop") else None,
|
79
77
|
temperature=p.temperature if p.HasField("temperature") else None,
|
@@ -152,9 +150,9 @@ class ModelDescriptorMapper:
|
|
152
150
|
max_tokens=d.max_tokens,
|
153
151
|
n=d.n,
|
154
152
|
presence_penalty=d.presence_penalty,
|
155
|
-
response_format=
|
156
|
-
|
157
|
-
|
153
|
+
response_format=d.response_format
|
154
|
+
if d.response_format
|
155
|
+
else None, # noqa
|
158
156
|
seed=d.seed,
|
159
157
|
stop=stop_list_value if d.stop else None,
|
160
158
|
temperature=d.temperature,
|
@@ -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[
|
49
|
-
|
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,
|
@@ -63,10 +63,10 @@ class BaseSource(ABC):
|
|
63
63
|
uploaded_artifact_url = self._upload_artifact()
|
64
64
|
|
65
65
|
if source_definition_path:
|
66
|
-
presign_url: (
|
67
|
-
|
68
|
-
|
69
|
-
|
66
|
+
presign_url: str = (
|
67
|
+
FeatureRegistryClient().get_datasource_source_code_presign_url(
|
68
|
+
ds_name=self.name
|
69
|
+
)
|
70
70
|
)
|
71
71
|
source_code_spec: SourceCodeSpec = (
|
72
72
|
SourceCodeSpecFactory.get_zip_source_code_spec(
|
@@ -118,9 +118,9 @@ class AthenaSource(JdbcSource):
|
|
118
118
|
)
|
119
119
|
)
|
120
120
|
|
121
|
-
time_partition_columns: Optional[
|
122
|
-
|
123
|
-
)
|
121
|
+
time_partition_columns: Optional[
|
122
|
+
TimePartitionColumns
|
123
|
+
] = AthenaSource._extract_partition_column(proto_athena_source)
|
124
124
|
workgroup: Optional[str] = (
|
125
125
|
proto_athena_source.workgroup
|
126
126
|
if proto_athena_source.HasField("workgroup")
|
@@ -120,9 +120,9 @@ def feature_set(
|
|
120
120
|
offline_scheduling_policy=offline_scheduling_policy,
|
121
121
|
)
|
122
122
|
|
123
|
-
streaming_backfill: Optional[
|
124
|
-
StreamingBackfill
|
125
|
-
)
|
123
|
+
streaming_backfill: Optional[
|
124
|
+
StreamingBackfill
|
125
|
+
] = StreamingBackfill.get_streaming_backfill_from_function(function=function)
|
126
126
|
|
127
127
|
fs_name = name or function.__name__
|
128
128
|
streaming_feature_set = StreamingFeatureSet(
|
@@ -218,7 +218,7 @@ class StreamingBackfill:
|
|
218
218
|
|
219
219
|
@staticmethod
|
220
220
|
def _get_normalized_backfill_sources_spec(
|
221
|
-
data_sources: Union[List[str], List[DataSourceBackfillSpec]]
|
221
|
+
data_sources: Union[List[str], List[DataSourceBackfillSpec]]
|
222
222
|
) -> List[DataSourceBackfillSpec]:
|
223
223
|
# reformat all data source specs to 'DataSourceBackfillSpec'
|
224
224
|
return [
|
@@ -182,12 +182,12 @@ class OnlineClient:
|
|
182
182
|
)
|
183
183
|
ordered_entities = [entity[0] for entity in ordered_entities_tuple]
|
184
184
|
|
185
|
-
request_chunks: List[
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
185
|
+
request_chunks: List[
|
186
|
+
Tuple[RequestedEntitiesMatrix, pd.DataFrame]
|
187
|
+
] = OnlineClient._split_entities(
|
188
|
+
entity_names=ordered_entities,
|
189
|
+
population_df=df,
|
190
|
+
max_entities_per_split=max_keys_per_request,
|
191
191
|
)
|
192
192
|
|
193
193
|
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
|
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(
|
@@ -163,9 +163,9 @@ def make_ssh_key_file(git_ssh_key: str) -> str:
|
|
163
163
|
|
164
164
|
|
165
165
|
def add_ssh_file_to_env(ssh_key_file_path: str) -> None:
|
166
|
-
os.environ[
|
167
|
-
|
168
|
-
|
166
|
+
os.environ[
|
167
|
+
"GIT_SSH_COMMAND"
|
168
|
+
] = f"ssh -i {ssh_key_file_path} -o StrictHostKeyChecking=no"
|
169
169
|
os.environ["GIT_SSH"] = f"ssh -i {ssh_key_file_path} -o StrictHostKeyChecking=no"
|
170
170
|
|
171
171
|
|
@@ -26,9 +26,9 @@ class OpenAIProvider:
|
|
26
26
|
self.client = OpenAIClient()
|
27
27
|
|
28
28
|
def _get_random_openai_api_key(self) -> Optional[str]:
|
29
|
-
openai_api_keys: List[
|
30
|
-
|
31
|
-
)
|
29
|
+
openai_api_keys: List[
|
30
|
+
OpenAIApiKeySystemSecret
|
31
|
+
] = IntegrationUtils().get_openai_api_keys()
|
32
32
|
if len(openai_api_keys) == 0:
|
33
33
|
return None
|
34
34
|
|
@@ -46,7 +46,7 @@ def get_output_adapter(
|
|
46
46
|
|
47
47
|
first_result = (
|
48
48
|
return_result[0]
|
49
|
-
if
|
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):
|
@@ -30,19 +30,15 @@ def validate_and_sanitize_features_name(
|
|
30
30
|
ecosystem_utils = EcosystemUtils()
|
31
31
|
current_env_name = ecosystem_utils.get_current_environment_name()
|
32
32
|
return [
|
33
|
-
(
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
feature.name, current_env_name
|
40
|
-
),
|
41
|
-
),
|
42
|
-
)
|
43
|
-
if isinstance(feature, FeatureStoreInput)
|
44
|
-
else feature
|
33
|
+
cast(
|
34
|
+
FeatureStoreInput,
|
35
|
+
dataclasses.replace(
|
36
|
+
feature,
|
37
|
+
name=validate_and_sanitize_feature_name(feature.name, current_env_name),
|
38
|
+
),
|
45
39
|
)
|
40
|
+
if isinstance(feature, FeatureStoreInput)
|
41
|
+
else feature
|
46
42
|
for feature in features
|
47
43
|
]
|
48
44
|
|
@@ -92,13 +92,13 @@ def load_file(
|
|
92
92
|
)
|
93
93
|
|
94
94
|
model_id = validate_model(model_id)
|
95
|
-
download_url_response: (
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
95
|
+
download_url_response: GetBuildVersioningDownloadURLResponse = (
|
96
|
+
BuildOrchestratorClient().get_build_versioning_download_url(
|
97
|
+
build_id=build_id,
|
98
|
+
model_id=model_id,
|
99
|
+
tag=tag,
|
100
|
+
tag_type=BuildVersioningTagsType.FILE_TAG_TYPE,
|
101
|
+
)
|
102
102
|
)
|
103
103
|
|
104
104
|
try:
|
qwak/tools/logger/logger.py
CHANGED
@@ -275,7 +275,7 @@ def set_file_handler_log_file(
|
|
275
275
|
logger: logging.Logger, handler_name: str, log_file: Path
|
276
276
|
):
|
277
277
|
existing_handler = get_handler_from_logger(logger, handler_name)
|
278
|
-
if
|
278
|
+
if type(existing_handler) != RotatingFileHandler:
|
279
279
|
raise QwakException(
|
280
280
|
f"Error in setting log file. Error message: handler of name {handler_name} is not a file logger handler"
|
281
281
|
)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
Metadata-Version: 2.3
|
2
|
+
Name: qwak-core
|
3
|
+
Version: 0.4.267
|
4
|
+
Summary: Qwak Core contains the necessary objects and communication tools for using the Qwak Platform
|
5
|
+
License: Apache-2.0
|
6
|
+
Keywords: mlops,ml,deployment,serving,model
|
7
|
+
Author: Qwak
|
8
|
+
Author-email: info@qwak.com
|
9
|
+
Requires-Python: >=3.9,<3.12
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
11
|
+
Classifier: Operating System :: OS Independent
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
18
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
20
|
+
Provides-Extra: feature-store
|
21
|
+
Provides-Extra: local-core-dependencies
|
22
|
+
Requires-Dist: PyYAML
|
23
|
+
Requires-Dist: cachetools
|
24
|
+
Requires-Dist: chevron (==0.14.0)
|
25
|
+
Requires-Dist: cloudpickle (==2.2.1) ; extra == "feature-store"
|
26
|
+
Requires-Dist: dacite (==1.8.1)
|
27
|
+
Requires-Dist: dependency-injector (>=4.0)
|
28
|
+
Requires-Dist: filelock
|
29
|
+
Requires-Dist: frogml-storage (>=0.11.2)
|
30
|
+
Requires-Dist: grpcio (>=1.57.0)
|
31
|
+
Requires-Dist: grpcio-tools (>=1.47.0) ; (python_full_version >= "3.7.1" and python_version < "3.10") and (extra == "local-core-dependencies")
|
32
|
+
Requires-Dist: grpcio-tools (>=1.56.2) ; (python_version >= "3.10") and (extra == "local-core-dependencies")
|
33
|
+
Requires-Dist: joblib (>=1.3.2,<2.0.0)
|
34
|
+
Requires-Dist: marshmallow-dataclass (>=8.5.8,<9.0.0)
|
35
|
+
Requires-Dist: mypy-protobuf (>=3.0.0,<4.0.0) ; extra == "local-core-dependencies"
|
36
|
+
Requires-Dist: protobuf (>=3.10,<4) ; python_full_version >= "3.7.1" and python_version < "3.10"
|
37
|
+
Requires-Dist: protobuf (>=4.21.6) ; python_version >= "3.10"
|
38
|
+
Requires-Dist: pyarrow (>=6.0.0) ; extra == "feature-store"
|
39
|
+
Requires-Dist: pyathena (>=2.2.0,!=2.18.0) ; extra == "feature-store"
|
40
|
+
Requires-Dist: pyspark (==3.4.2) ; extra == "feature-store"
|
41
|
+
Requires-Dist: python-jose[cryptography] (>=3.4.0)
|
42
|
+
Requires-Dist: python-json-logger (>=2.0.2)
|
43
|
+
Requires-Dist: requests
|
44
|
+
Requires-Dist: retrying (==1.3.4)
|
45
|
+
Requires-Dist: typeguard (>=2,<3)
|
46
|
+
Project-URL: Home page, https://www.qwak.com/
|
47
|
+
Description-Content-Type: text/markdown
|
48
|
+
|
49
|
+
# Qwak Core
|
50
|
+
|
51
|
+
Qwak 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.
|
52
|
+
Qwak Core contains all the objects and tools necessary to use the Qwak Platform
|
53
|
+
|
@@ -591,38 +591,7 @@ _qwak_proto/qwak/workspace/workspace_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
|
|
591
591
|
_qwak_proto/qwak/workspace/workspace_service_pb2.py,sha256=AB3C9S_AbOD7Nx1Ni4j1rW6PNtYTV1zjiqFQk-goQ74,21429
|
592
592
|
_qwak_proto/qwak/workspace/workspace_service_pb2.pyi,sha256=nKKCHwnovZhsy8TSVmdz-Vtl0nviOOoX56HD-41Xo08,13726
|
593
593
|
_qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py,sha256=yKGuexxTBza99Ihe0DSTniV2ZSd_AG47inHenqfi890,27193
|
594
|
-
|
595
|
-
frogml_storage/_artifactory_api.py,sha256=Hn8y7l61fhu9KZJBUr31F5m5gPIOz1UbnvthV4N_6-0,11209
|
596
|
-
frogml_storage/_environment.py,sha256=zuzOJBtBwFaguwn_JkKjfhXStZoustgP30KzOP3mYv8,707
|
597
|
-
frogml_storage/_log_config.py,sha256=ytwyRLYr3SyRlo4UpTjLBtlNqVApP9URTVO5m5DN3uU,1162
|
598
|
-
frogml_storage/_storage_utils.py,sha256=HB2g7uY5A3b33yIcAUM1OjHb5jWsnpESsiDrEviQwrI,366
|
599
|
-
frogml_storage/_utils.py,sha256=JkjJMObF-foFEA693KyrdDoVDHAyI21SW4UPlYrVYvs,1956
|
600
|
-
frogml_storage/authentication/_authentication_utils.py,sha256=RQUNd2c88cOpcRJ-khsmI_XotwvzQ473pde6oyVSUPc,9227
|
601
|
-
frogml_storage/authentication/models/_auth_config.py,sha256=uDcPXaPRXKDEtAhHEuN-GQTeDg8AUL8FE4aiAByHU_I,2024
|
602
|
-
frogml_storage/cli/_frogml_cli.py,sha256=KAv0TrwwHazXoCb_cIScnbSG7NwZLf1nCjxEel642fI,1045
|
603
|
-
frogml_storage/cli/_login_cli.py,sha256=n9sXUd4McD_0nULQErV8vrDmFJQvQTGKRMFEf8U-j64,8564
|
604
|
-
frogml_storage/cli/commands/_login_command.py,sha256=RyeChctCB_wSAoLa2MdvSVKJLYkBxK9oDLoD7PaxvCA,2899
|
605
|
-
frogml_storage/cli/models/_cli_login_arguments.py,sha256=jcFdiWRqjaVAGG9hiYpPHF0WUNT4DqMqVp1FPFGuwOM,723
|
606
|
-
frogml_storage/cli/utils/_cli_utils.py,sha256=hffNsDeA8WnjLTDS2lE_HZLSdYgi7xEElSjuWDFWJrk,581
|
607
|
-
frogml_storage/cli/utils/_login_checks_utility.py,sha256=sRS4-5MZQa3_Vcv7pSylUNZ_AcU8YW64PSCByDqGBCM,3014
|
608
|
-
frogml_storage/constants.py,sha256=Fx-Dyzkl9e28O2qCvIgyEf2aBuhftXAdbn2BIfXFaGw,1542
|
609
|
-
frogml_storage/dataset_manifest.py,sha256=x-1hLFXcX09T_drpCeN19JKZeI4WLD0HF1rXc8jcoa8,296
|
610
|
-
frogml_storage/entity_manifest.py,sha256=xal9plqq7QNhR0hEaISKi2zUfiNmB4ENbyuG_7W4gsU,2796
|
611
|
-
frogml_storage/exceptions/checksum_verification_error.py,sha256=t1muLRYvqza7Q4jo1mYHck9ZoDwlGE7WxcheAFAnIQs,159
|
612
|
-
frogml_storage/exceptions/validation_error.py,sha256=_twu_xcL-O7D26qkskuuR-_NcnPPTADIUO9HGY4g0x0,156
|
613
|
-
frogml_storage/frog_ml.py,sha256=ltESsR1ux8SU-cHNgiUQZ2Ua-Rr4m1eVKrG2Zmzll4k,24238
|
614
|
-
frogml_storage/frogml_entity_type_info.py,sha256=EnPP49U-PdMrTZpFUJzXib5WHPs8Vh4AwIEPC3x2iqM,1376
|
615
|
-
frogml_storage/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
616
|
-
frogml_storage/http/http_client.py,sha256=pHu8OKdUVW8-td4-BDjbPNzfBLyVmFHtnQiaFJFiOdA,2404
|
617
|
-
frogml_storage/model_manifest.py,sha256=BVDw_41GVajpWj5WhCoqAk6lIiNMMnIMFKTFHkLuUbU,2186
|
618
|
-
frogml_storage/models/_download_context.py,sha256=pc9KnepPQB9F-MaIe6JkRF0ineKj4B2ycdgr5e37zc4,1660
|
619
|
-
frogml_storage/models/frogml_dataset_version.py,sha256=Uwe50e8eD9XqwARCsa4-iJJqyMQsDqs9E-iuAInvJuA,637
|
620
|
-
frogml_storage/models/frogml_entity_version.py,sha256=-3lRFQSES76YbBAzKuOOlWGcT4T1v2RNQ-54bN8-GH0,921
|
621
|
-
frogml_storage/models/frogml_model_version.py,sha256=2pVHW-BhowBcIScLZzWj5SH0abAirP3cDvXeq334lJI,631
|
622
|
-
frogml_storage/serialization_metadata.py,sha256=KOJ9Yj0XGbYudpcUBMh67Hd7VohmoWsYOvhD-L2yzyY,347
|
623
|
-
frogml_storage/storage.py,sha256=gfkaNzQBgR7-uMHc9-prdiFwyIGb-rO4dKQ49r-TQ3I,5595
|
624
|
-
frogml_storage/utils/_input_checks_utility.py,sha256=bn3_xQcTnsASIHgmvoCyWCFu0akgWCiI8RdXn1AHqsE,3225
|
625
|
-
qwak/__init__.py,sha256=kuADpQQnTq1K96a6bwwfFMNhoKzyLbPWFI4uD-Z8npQ,587
|
594
|
+
qwak/__init__.py,sha256=F-37S-zdaiHfG4C8QpWw3-IjEvvhbfnS2kYFYuM7hVg,587
|
626
595
|
qwak/automations/__init__.py,sha256=qFZRvCxUUn8gcxkJR0v19ulHW2oJ0x6-Rif7HiheDP4,1522
|
627
596
|
qwak/automations/automation_executions.py,sha256=5MeH_epYYWb8NKXgAozwT_jPyyUDednBHG7izloi7RY,3228
|
628
597
|
qwak/automations/automations.py,sha256=3yx8e2v0uSKDnXbqyknasyEoQ5vxGni6K40Hbi1_zkk,12599
|
@@ -682,7 +651,7 @@ qwak/clients/file_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
682
651
|
qwak/clients/file_versioning/client.py,sha256=ywOy9olB4mekjQQrKUufAbaC-3sWzQnqd3ChcwrAJzc,2505
|
683
652
|
qwak/clients/file_versioning/file_tag_filter.py,sha256=5pVJ0mGq9DEOqQkg7H-jjSbsmnWusO4-_0Jpz4DhDwo,885
|
684
653
|
qwak/clients/instance_template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
685
|
-
qwak/clients/instance_template/client.py,sha256=
|
654
|
+
qwak/clients/instance_template/client.py,sha256=7c4mQG7tzp-OmNhBEBYxIqAYTNYtCRe76j5X1aP2Xk4,2509
|
686
655
|
qwak/clients/integration_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
687
656
|
qwak/clients/integration_management/integration_manager_client.py,sha256=-pNY6iQU8du46wvRCiTKKCi23RcCNXr9La_0oG0mJo0,1225
|
688
657
|
qwak/clients/integration_management/integration_utils.py,sha256=EVNsM5ItlGwpfqfZPayJCrTiZa0AaR241ui4QvzcLVg,953
|
@@ -699,7 +668,7 @@ qwak/clients/model_management/client.py,sha256=LHJlR12plQCjv0TtuozJ4Da91M7C-ay6G
|
|
699
668
|
qwak/clients/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
700
669
|
qwak/clients/project/client.py,sha256=Np4vDU4iPndGtWTF_bH2CqepCQHw49whvsq23uLMMJs,2484
|
701
670
|
qwak/clients/prompt_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
702
|
-
qwak/clients/prompt_manager/model_descriptor_mapper.py,sha256=
|
671
|
+
qwak/clients/prompt_manager/model_descriptor_mapper.py,sha256=rRQXjqLvq7SVxYSM5_IFo_6z70Kzf5WPOtxFzm-69m0,7313
|
703
672
|
qwak/clients/prompt_manager/prompt_manager_client.py,sha256=Mg1uqJjwj57jFfNKx6tomzfOe6C8keTKpxvXFSPo0yA,6952
|
704
673
|
qwak/clients/prompt_manager/prompt_proto_mapper.py,sha256=ybLsPz5nt4BsgBFk2RYk0tFwbNpHTsCOp93k8ALXmr4,9233
|
705
674
|
qwak/clients/secret_service/__init__.py,sha256=TdQl1lgplXCKVHYSN4feRIAoonZ7XDz50zALjwVDcM4,40
|
@@ -731,7 +700,7 @@ qwak/exceptions/qwak_remote_build_failed.py,sha256=JgrYwCQGclCCcpSkYk2FKqhkEk45a
|
|
731
700
|
qwak/exceptions/qwak_suggestion_exception.py,sha256=3sIK6s3OB3G0NLC_fGV1WkAo_tHNjH-A5vaehxmkoek,746
|
732
701
|
qwak/feature_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
733
702
|
qwak/feature_store/_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
734
|
-
qwak/feature_store/_common/artifact_utils.py,sha256=
|
703
|
+
qwak/feature_store/_common/artifact_utils.py,sha256=iIdz6EfFuE_yub6g5KXlOOMt7TA7pEuuLwjlzVSRpO8,1977
|
735
704
|
qwak/feature_store/_common/feature_set_utils.py,sha256=dhtPWnwv1nB3h3EA8FAYklx1qGkO_Dj1jecaBGNNpew,8634
|
736
705
|
qwak/feature_store/_common/functions.py,sha256=kSNYJ7dy48NN09HG9asm4ibQh0JaCGcZYsRDjRWlUHE,659
|
737
706
|
qwak/feature_store/_common/packaging.py,sha256=eyTyjIB_C6wGHcdU7xR5u7-N2Ld98s4LPU_iZtcbRO0,8122
|
@@ -740,11 +709,11 @@ qwak/feature_store/_common/source_code_spec_factory.py,sha256=zDif0nlWs43T87-k2V
|
|
740
709
|
qwak/feature_store/_common/value.py,sha256=6aN3101DvEDUJalNL1LrzH32wi9SVhl0ZpsGHcFJZzg,323
|
741
710
|
qwak/feature_store/data_sources/__init__.py,sha256=IKv3UDhcaCm6VagPGv1AvdYu_gxHUc69mbNOG96kEsU,2316
|
742
711
|
qwak/feature_store/data_sources/attributes.py,sha256=6xbotlaWcrqmW5cjCET57hyCRDy8I2a2aoo5BGcIE4I,791
|
743
|
-
qwak/feature_store/data_sources/base.py,sha256=
|
712
|
+
qwak/feature_store/data_sources/base.py,sha256=w9EJOp-RnbA6oxoAvKOF6LKUCEWOkN8gjG9uNQUYJ1M,4178
|
744
713
|
qwak/feature_store/data_sources/batch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
745
714
|
qwak/feature_store/data_sources/batch/_batch.py,sha256=V-VLVgUVPN1Mfk-brNYl0nPczqRU-GYOB7Xy-3-O0zI,197
|
746
715
|
qwak/feature_store/data_sources/batch/_jdbc.py,sha256=k045Rm5iMx2pXYvif4C4vdZt7tbVgAt-3ThH3cP2rTM,695
|
747
|
-
qwak/feature_store/data_sources/batch/athena.py,sha256=
|
716
|
+
qwak/feature_store/data_sources/batch/athena.py,sha256=sdP68PkWsAWE1U-5VpZnGFF9aNUTOqns4JQDeTDqI5k,10900
|
748
717
|
qwak/feature_store/data_sources/batch/big_query.py,sha256=H3rEWGxXJjIQNFiyZ9c6JgcSyeWzSeZzh59y8ZjAn0U,3117
|
749
718
|
qwak/feature_store/data_sources/batch/clickhouse.py,sha256=FELh-70EIyPeYap3Gj8maoalXdXbJ5kBvnfvaiw6Kk4,2158
|
750
719
|
qwak/feature_store/data_sources/batch/csv.py,sha256=wdn8ARBYebTcNojaji8OYXnKlx_U1G7sFLChGffMxfg,2076
|
@@ -784,8 +753,8 @@ qwak/feature_store/feature_sets/context.py,sha256=zV6r0O70cfM4pmxlfC6xxAtro-wBhe
|
|
784
753
|
qwak/feature_store/feature_sets/execution_spec.py,sha256=SXlhgNJeFDIKvrH35ZOyjBqGUesdoxjWkPgHmm518Y0,1877
|
785
754
|
qwak/feature_store/feature_sets/metadata.py,sha256=ckr-zr0hZgsK-tRWucMomF7Tj8XIYcp_cnNGwtMV4mA,1814
|
786
755
|
qwak/feature_store/feature_sets/read_policies.py,sha256=ZVMRiducxfb5YbU0NQQDPb78BH5fRttsE5y2TL7Jaj4,6820
|
787
|
-
qwak/feature_store/feature_sets/streaming.py,sha256=
|
788
|
-
qwak/feature_store/feature_sets/streaming_backfill.py,sha256=
|
756
|
+
qwak/feature_store/feature_sets/streaming.py,sha256=QScKkdCGF8TqVJscB-8YE4s9Uu--3VT2C7KwaRUMIpw,25159
|
757
|
+
qwak/feature_store/feature_sets/streaming_backfill.py,sha256=eb5grj467Z4xEujUpCMpmXda1_W82G7NaxR6cw_AHbQ,9584
|
789
758
|
qwak/feature_store/feature_sets/transformations/__init__.py,sha256=TtzeMNhqxuYu8NIxqBCcGHJoA-B8389RTIHrDMvpMbw,857
|
790
759
|
qwak/feature_store/feature_sets/transformations/aggregations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
791
760
|
qwak/feature_store/feature_sets/transformations/aggregations/aggregations.py,sha256=MENQyuDEG5G4TQs7fd1L1FEfP4kWd0LaHbG61Kw4rbY,14117
|
@@ -800,14 +769,14 @@ qwak/feature_store/offline/_offline_serving_validations.py,sha256=a3Ga9-IPTS0TPf
|
|
800
769
|
qwak/feature_store/offline/client_v2.py,sha256=MKIlVGohW7aMmCpBUKE9wP9X6gtU_pLVfOgnBn2Bp98,14393
|
801
770
|
qwak/feature_store/offline/feature_set_features.py,sha256=Eh_rPz_m12cAQvrhIF-xtA-ZGVKy1HlgKJdjNvsmPoo,739
|
802
771
|
qwak/feature_store/online/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
803
|
-
qwak/feature_store/online/client.py,sha256=
|
772
|
+
qwak/feature_store/online/client.py,sha256=fBD48NDpocX01qvFVYB5Qd4JRM1InCjdeQgoMM8nQ0Q,12911
|
804
773
|
qwak/feature_store/online/endpoint_utils.py,sha256=Lx5Wvvg7teJGXP3SOUPPmYQeVjSve2b0hQlqhs13R5M,2210
|
805
774
|
qwak/feature_store/sinks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
806
775
|
qwak/feature_store/sinks/base.py,sha256=FvNz9aabvYHT-3vZdHdtEnlFQ0tyvsnspkPnWt2lTdU,360
|
807
776
|
qwak/feature_store/sinks/kafka.py,sha256=P9gPxotQMyC3qr8xZyL_7g65amnzeqpvz6jutwRoHiY,1826
|
808
777
|
qwak/feature_store/sinks/streaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
809
778
|
qwak/feature_store/sinks/streaming/attachment.py,sha256=sONswzyTZlxB9OEDc1DzE_Et6AI7gBi_T--NSY3MeOw,1031
|
810
|
-
qwak/feature_store/sinks/streaming/factory.py,sha256=
|
779
|
+
qwak/feature_store/sinks/streaming/factory.py,sha256=VctrlU9oHNPniTb43eACXUwM2K2pDskd0LD4g_Cp8uY,2347
|
811
780
|
qwak/feature_store/validations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
812
781
|
qwak/feature_store/validations/validation_options.py,sha256=f4kqv8j-lyvWLGnaFlUQNmAleZ3hkTZZs0CJPcsk18I,2656
|
813
782
|
qwak/feature_store/validations/validation_response.py,sha256=e052KUs2qzYvh5Kuo4XbnscRK_1jcT6HwqwdL-4qH20,3783
|
@@ -843,7 +812,7 @@ qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strat
|
|
843
812
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
844
813
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/folder/folder_strategy.py,sha256=Cry97YuBP16TZT6iL512Gmqp-U1J-UDxdARt-E1MD2M,5057
|
845
814
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
846
|
-
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py,sha256=
|
815
|
+
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/git/git_strategy.py,sha256=QDK3upq7DNeL6zmegFf3sHg3kw61AGcxzjDPlv4nusA,5944
|
847
816
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/strategy.py,sha256=iRl-au3V6KbKIY-doYSAaqiS5Bt2_w3ZIvUw9xwSK64,1424
|
848
817
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
849
818
|
qwak/inner/build_logic/phases/phase_010_fetch_model/fetch_strategy_manager/strategy/zip/zip_strategy.py,sha256=z1PHzvhUWtEqcppE5Ju4BRbwvZ07kodNglkl6AwvbfI,2258
|
@@ -941,7 +910,7 @@ qwak/llmops/provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
941
910
|
qwak/llmops/provider/chat.py,sha256=dec-IKGzkECb5tz63HNK0Fx9Tm4ukQ4kkYFEr6bA7co,1582
|
942
911
|
qwak/llmops/provider/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
943
912
|
qwak/llmops/provider/openai/client.py,sha256=G20TB3LW4amdOu-_7526xBDnvpNop7c_QvhLz7hSLUs,4462
|
944
|
-
qwak/llmops/provider/openai/provider.py,sha256=
|
913
|
+
qwak/llmops/provider/openai/provider.py,sha256=E0LnEfFFidrXMcOG-sI3teZvNyzApmhbi1ZB0MDnDcE,3042
|
945
914
|
qwak/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
946
915
|
qwak/model/_entity_extraction.py,sha256=-h66QcJS0bzrzHMqdvxybHj3lgPbQhoVHnt7YKAFjKg,4626
|
947
916
|
qwak/model/adapters/__init__.py,sha256=jMM_0Nf6_vCKccsRB0izs8odCXYlXt-u1sXGh4PcpX4,1739
|
@@ -989,7 +958,7 @@ qwak/model/tools/adapters/input_adapters/image_input.py,sha256=NL869uiD5TjI3WzjQ
|
|
989
958
|
qwak/model/tools/adapters/input_adapters/json_input.py,sha256=nP_1EgJvmv4rkXR6tLYrJwf4p-FAfFQOTxY-LEfAJaU,608
|
990
959
|
qwak/model/tools/adapters/input_adapters/string_input.py,sha256=K2SIJy92C-1eX1ReT8iqeFAU8UQWF2d88Zv79jsMrac,151
|
991
960
|
qwak/model/tools/adapters/input_adapters/tf_tensor_input.py,sha256=tNid73S0WOLjvD6tKrO2BsgUa-eJaMmCkRs4ucVQXDU,1363
|
992
|
-
qwak/model/tools/adapters/output.py,sha256=
|
961
|
+
qwak/model/tools/adapters/output.py,sha256=GZa-8LD25vkDccupxNEvlmrept3hgL94BZ2pGABYmmQ,2712
|
993
962
|
qwak/model/tools/adapters/output_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
994
963
|
qwak/model/tools/adapters/output_adapters/base_output.py,sha256=VXiwnA1499RQSfdFbEU769lRhuOqWTBPfXglKaymhRc,343
|
995
964
|
qwak/model/tools/adapters/output_adapters/dataframe_output.py,sha256=tJwG798QCarqXSfD8Je-E3RNwvW9KskcgAYoLioPFns,798
|
@@ -999,9 +968,9 @@ qwak/model/tools/adapters/output_adapters/tf_tensor_output.py,sha256=Xg98LMoldKE
|
|
999
968
|
qwak/model/tools/run_model_locally.py,sha256=xRYOOi-BLAs-QRTrSWxKPQLeTg5j3FSmImDq6e6lLro,2289
|
1000
969
|
qwak/model/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1001
970
|
qwak/model/utils/extract_wrapped_function.py,sha256=uIle1zL8vbmeS3PGAuaNFLIUQAsvpuzk3LlH-Teba94,320
|
1002
|
-
qwak/model/utils/feature_utils.py,sha256=
|
971
|
+
qwak/model/utils/feature_utils.py,sha256=jB4pfmhqN2_B4THR7YADlCWbymU3cm_8u2RzTegrv_w,2389
|
1003
972
|
qwak/model_loggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1004
|
-
qwak/model_loggers/artifact_logger.py,sha256=
|
973
|
+
qwak/model_loggers/artifact_logger.py,sha256=Emv8eSpgxJ_5_uCiNLUloTNdXPCtWC0pJDcWMcc6A78,3909
|
1005
974
|
qwak/model_loggers/data_logger.py,sha256=aTRnRwKmKUFZq9SRg4sY-b1yGDY2XB-pExlQ0WlcH0k,5629
|
1006
975
|
qwak/model_loggers/model_logger.py,sha256=WxKLEpfzDaRn3kanrI0kj4zqqKQrwT2sin1IS1WNEA8,852
|
1007
976
|
qwak/qwak_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1032,7 +1001,7 @@ qwak/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1032
1001
|
qwak/testing/fixtures.py,sha256=tjWIvdZ2nIfNPs6VtUeGx5coJepQVMUWemKGtqUYPzM,318
|
1033
1002
|
qwak/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1034
1003
|
qwak/tools/logger/__init__.py,sha256=i70JxYs7RGOaUrcYAHkakLqyUt486qJyEY1cXFvkk9Y,107
|
1035
|
-
qwak/tools/logger/logger.py,sha256=
|
1004
|
+
qwak/tools/logger/logger.py,sha256=VmseUKV8fWpJ7yYFHjE3nQu6_2dU-t1-PQrY6Mnt8nc,9598
|
1036
1005
|
qwak/tools/logger/logging.yml,sha256=UWC2i3NVKT3j5S8_SapzqClDzXLIEAurzNIXa2tS4UA,1941
|
1037
1006
|
qwak/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1038
1007
|
qwak/utils/datetime_utils.py,sha256=3zK7PUrerMlwB7U6WeuYwMAclVMfPqBNZihNRyIVMs4,581
|
@@ -1096,7 +1065,6 @@ qwak_services_mock/mocks/workspace_manager_service_mock.py,sha256=O9ZSwln4T4kHVk
|
|
1096
1065
|
qwak_services_mock/services_mock.py,sha256=zXtHcX8a_acz7ynxuCBxxVpHpde7aAGjIn6Uw52LY1s,19593
|
1097
1066
|
qwak_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1098
1067
|
qwak_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
|
1099
|
-
qwak_core-0.4.
|
1100
|
-
qwak_core-0.4.
|
1101
|
-
qwak_core-0.4.
|
1102
|
-
qwak_core-0.4.266.dist-info/RECORD,,
|
1068
|
+
qwak_core-0.4.267.dist-info/METADATA,sha256=xP0arzOuZZ2eJ2TpTSG1T-uJ4E5dQ4DN_P8ZJ9w4avs,2549
|
1069
|
+
qwak_core-0.4.267.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
1070
|
+
qwak_core-0.4.267.dist-info/RECORD,,
|
frogml_storage/__init__.py
DELETED
File without changes
|