oracle-ads 2.11.15__py3-none-any.whl → 2.11.16__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.
- ads/aqua/common/entities.py +17 -0
- ads/aqua/common/enums.py +5 -1
- ads/aqua/common/utils.py +32 -2
- ads/aqua/config/config.py +1 -1
- ads/aqua/config/deployment_config_defaults.json +29 -1
- ads/aqua/config/resource_limit_names.json +1 -0
- ads/aqua/constants.py +5 -1
- ads/aqua/evaluation/entities.py +0 -1
- ads/aqua/evaluation/evaluation.py +47 -14
- ads/aqua/extension/common_ws_msg_handler.py +57 -0
- ads/aqua/extension/deployment_handler.py +14 -13
- ads/aqua/extension/deployment_ws_msg_handler.py +54 -0
- ads/aqua/extension/errors.py +1 -1
- ads/aqua/extension/evaluation_ws_msg_handler.py +28 -6
- ads/aqua/extension/model_handler.py +31 -6
- ads/aqua/extension/models/ws_models.py +78 -3
- ads/aqua/extension/models_ws_msg_handler.py +49 -0
- ads/aqua/extension/ui_websocket_handler.py +7 -1
- ads/aqua/model/entities.py +11 -1
- ads/aqua/model/model.py +260 -90
- ads/aqua/modeldeployment/deployment.py +52 -7
- ads/aqua/modeldeployment/entities.py +9 -20
- ads/aqua/ui.py +152 -28
- ads/common/object_storage_details.py +2 -5
- ads/common/serializer.py +2 -3
- ads/jobs/builders/infrastructure/dsc_job.py +29 -3
- ads/jobs/builders/infrastructure/dsc_job_runtime.py +74 -27
- ads/jobs/builders/runtimes/container_runtime.py +83 -4
- ads/opctl/operator/lowcode/anomaly/const.py +1 -0
- ads/opctl/operator/lowcode/anomaly/model/base_model.py +23 -7
- ads/opctl/operator/lowcode/anomaly/operator_config.py +1 -0
- ads/opctl/operator/lowcode/anomaly/schema.yaml +4 -0
- ads/opctl/operator/lowcode/common/errors.py +6 -0
- ads/opctl/operator/lowcode/forecast/model/base_model.py +21 -13
- ads/opctl/operator/lowcode/forecast/model_evaluator.py +11 -2
- ads/pipeline/ads_pipeline_run.py +13 -2
- {oracle_ads-2.11.15.dist-info → oracle_ads-2.11.16.dist-info}/METADATA +1 -1
- {oracle_ads-2.11.15.dist-info → oracle_ads-2.11.16.dist-info}/RECORD +41 -37
- {oracle_ads-2.11.15.dist-info → oracle_ads-2.11.16.dist-info}/LICENSE.txt +0 -0
- {oracle_ads-2.11.15.dist-info → oracle_ads-2.11.16.dist-info}/WHEEL +0 -0
- {oracle_ads-2.11.15.dist-info → oracle_ads-2.11.16.dist-info}/entry_points.txt +0 -0
@@ -3,9 +3,12 @@
|
|
3
3
|
|
4
4
|
# Copyright (c) 2021, 2024 Oracle and/or its affiliates.
|
5
5
|
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
import logging
|
6
7
|
from typing import Union
|
7
8
|
from ads.jobs.builders.runtimes.base import MultiNodeRuntime
|
8
9
|
|
10
|
+
logger = logging.getLogger(__name__)
|
11
|
+
|
9
12
|
|
10
13
|
class ContainerRuntime(MultiNodeRuntime):
|
11
14
|
"""Represents a container job runtime
|
@@ -13,18 +16,23 @@ class ContainerRuntime(MultiNodeRuntime):
|
|
13
16
|
To define container runtime:
|
14
17
|
|
15
18
|
>>> ContainerRuntime()
|
16
|
-
>>> .with_image("iad.ocir.io/<your_tenancy>/<your_image>")
|
19
|
+
>>> .with_image("iad.ocir.io/<your_tenancy>/<your_image>:<tag>")
|
17
20
|
>>> .with_cmd("sleep 5 && echo Hello World")
|
18
21
|
>>> .with_entrypoint(["/bin/sh", "-c"])
|
22
|
+
>>> .with_image_digest("<image_digest>")
|
23
|
+
>>> .with_image_signature_id("<image_signature_id>")
|
19
24
|
>>> .with_environment_variable(MY_ENV="MY_VALUE")
|
20
25
|
|
21
|
-
Alternatively, you can define the ``entrypoint
|
26
|
+
Alternatively, you can define the ``entrypoint``, ``cmd``,
|
27
|
+
``image_digest``and ``image_signature_id`` along with the image.
|
22
28
|
|
23
29
|
>>> ContainerRuntime()
|
24
30
|
>>> .with_image(
|
25
|
-
>>> "iad.ocir.io/<your_tenancy>/<your_image>",
|
31
|
+
>>> "iad.ocir.io/<your_tenancy>/<your_image>:<tag>",
|
26
32
|
>>> entrypoint=["/bin/sh", "-c"],
|
27
33
|
>>> cmd="sleep 5 && echo Hello World",
|
34
|
+
>>> image_digest="<image_digest>",
|
35
|
+
>>> image_signature_id="<image_signature_id>",
|
28
36
|
>>> )
|
29
37
|
>>> .with_environment_variable(MY_ENV="MY_VALUE")
|
30
38
|
|
@@ -46,20 +54,34 @@ class ContainerRuntime(MultiNodeRuntime):
|
|
46
54
|
CONST_IMAGE = "image"
|
47
55
|
CONST_ENTRYPOINT = "entrypoint"
|
48
56
|
CONST_CMD = "cmd"
|
57
|
+
CONST_IMAGE_DIGEST = "imageDigest"
|
58
|
+
CONST_IMAGE_SIGNATURE_ID = "imageSignatureId"
|
49
59
|
attribute_map = {
|
50
60
|
CONST_IMAGE: CONST_IMAGE,
|
51
61
|
CONST_ENTRYPOINT: CONST_ENTRYPOINT,
|
52
62
|
CONST_CMD: CONST_CMD,
|
63
|
+
CONST_IMAGE_DIGEST: "image_digest",
|
64
|
+
CONST_IMAGE_SIGNATURE_ID: "image_signature_id",
|
53
65
|
}
|
54
66
|
attribute_map.update(MultiNodeRuntime.attribute_map)
|
55
67
|
|
68
|
+
@property
|
69
|
+
def job_env_type(self) -> str:
|
70
|
+
"""The container type"""
|
71
|
+
return "OCIR_CONTAINER"
|
72
|
+
|
56
73
|
@property
|
57
74
|
def image(self) -> str:
|
58
75
|
"""The container image"""
|
59
76
|
return self.get_spec(self.CONST_IMAGE)
|
60
77
|
|
61
78
|
def with_image(
|
62
|
-
self,
|
79
|
+
self,
|
80
|
+
image: str,
|
81
|
+
entrypoint: Union[str, list, None] = None,
|
82
|
+
cmd: str = None,
|
83
|
+
image_digest: str = None,
|
84
|
+
image_signature_id: str = None,
|
63
85
|
) -> "ContainerRuntime":
|
64
86
|
"""Specify the image for the container job.
|
65
87
|
|
@@ -71,16 +93,73 @@ class ContainerRuntime(MultiNodeRuntime):
|
|
71
93
|
Entrypoint for the job, by default None (the entrypoint defined in the image will be used).
|
72
94
|
cmd : str, optional
|
73
95
|
Command for the job, by default None.
|
96
|
+
image_digest: str, optional
|
97
|
+
The image digest, by default None.
|
98
|
+
image_signature_id: str, optional
|
99
|
+
The image signature id, by default None.
|
74
100
|
|
75
101
|
Returns
|
76
102
|
-------
|
77
103
|
ContainerRuntime
|
78
104
|
The runtime instance.
|
79
105
|
"""
|
106
|
+
if not isinstance(image, str):
|
107
|
+
raise ValueError(
|
108
|
+
"Custom image must be provided as a string."
|
109
|
+
)
|
110
|
+
if image.find(":") < 0:
|
111
|
+
logger.warning(
|
112
|
+
"Tag is required for custom image. Accepted format: iad.ocir.io/<tenancy>/<image>:<tag>."
|
113
|
+
)
|
80
114
|
self.with_entrypoint(entrypoint)
|
81
115
|
self.set_spec(self.CONST_CMD, cmd)
|
116
|
+
self.with_image_digest(image_digest)
|
117
|
+
self.with_image_signature_id(image_signature_id)
|
82
118
|
return self.set_spec(self.CONST_IMAGE, image)
|
83
119
|
|
120
|
+
@property
|
121
|
+
def image_digest(self) -> str:
|
122
|
+
"""The container image digest."""
|
123
|
+
return self.get_spec(self.CONST_IMAGE_DIGEST)
|
124
|
+
|
125
|
+
def with_image_digest(self, image_digest: str) -> "ContainerRuntime":
|
126
|
+
"""Sets the digest of custom image.
|
127
|
+
|
128
|
+
Parameters
|
129
|
+
----------
|
130
|
+
image_digest: str
|
131
|
+
The image digest.
|
132
|
+
|
133
|
+
Returns
|
134
|
+
-------
|
135
|
+
ContainerRuntime
|
136
|
+
The runtime instance.
|
137
|
+
"""
|
138
|
+
return self.set_spec(self.CONST_IMAGE_DIGEST, image_digest)
|
139
|
+
|
140
|
+
@property
|
141
|
+
def image_signature_id(self) -> str:
|
142
|
+
"""The container image signature id."""
|
143
|
+
return self.get_spec(self.CONST_IMAGE_SIGNATURE_ID)
|
144
|
+
|
145
|
+
def with_image_signature_id(self, image_signature_id: str) -> "ContainerRuntime":
|
146
|
+
"""Sets the signature id of custom image.
|
147
|
+
|
148
|
+
Parameters
|
149
|
+
----------
|
150
|
+
image_signature_id: str
|
151
|
+
The image signature id.
|
152
|
+
|
153
|
+
Returns
|
154
|
+
-------
|
155
|
+
ContainerRuntime
|
156
|
+
The runtime instance.
|
157
|
+
"""
|
158
|
+
return self.set_spec(
|
159
|
+
self.CONST_IMAGE_SIGNATURE_ID,
|
160
|
+
image_signature_id
|
161
|
+
)
|
162
|
+
|
84
163
|
@property
|
85
164
|
def entrypoint(self) -> str:
|
86
165
|
"""Entrypoint of the container job"""
|
@@ -16,7 +16,7 @@ from sklearn import linear_model
|
|
16
16
|
|
17
17
|
from ads.common.object_storage_details import ObjectStorageDetails
|
18
18
|
from ads.opctl import logger
|
19
|
-
from ads.opctl.operator.lowcode.anomaly.const import OutputColumns, SupportedMetrics
|
19
|
+
from ads.opctl.operator.lowcode.anomaly.const import OutputColumns, SupportedMetrics, SUBSAMPLE_THRESHOLD
|
20
20
|
from ads.opctl.operator.lowcode.anomaly.utils import _build_metrics_df, default_signer
|
21
21
|
from ads.opctl.operator.lowcode.common.utils import (
|
22
22
|
disable_print,
|
@@ -79,7 +79,7 @@ class AnomalyOperatorBaseModel(ABC):
|
|
79
79
|
anomaly_output, test_data, elapsed_time
|
80
80
|
)
|
81
81
|
table_blocks = [
|
82
|
-
rc.DataTable(df, label=col, index=True)
|
82
|
+
rc.DataTable(df.head(SUBSAMPLE_THRESHOLD) if self.spec.subsample_report_data and len(df) > SUBSAMPLE_THRESHOLD else df, label=col, index=True)
|
83
83
|
for col, df in self.datasets.full_data_dict.items()
|
84
84
|
]
|
85
85
|
data_table = rc.Select(blocks=table_blocks)
|
@@ -94,20 +94,36 @@ class AnomalyOperatorBaseModel(ABC):
|
|
94
94
|
anomaly_col = anomaly_output.get_anomalies_by_cat(category=target)[
|
95
95
|
OutputColumns.ANOMALY_COL
|
96
96
|
]
|
97
|
+
anomaly_indices = [i for i, index in enumerate(anomaly_col) if index == 1]
|
98
|
+
downsampled_time_col = time_col
|
99
|
+
selected_indices = list(range(len(time_col)))
|
100
|
+
if self.spec.subsample_report_data:
|
101
|
+
non_anomaly_indices = [i for i in range(len(time_col)) if i not in anomaly_indices]
|
102
|
+
# Downsample non-anomalous data if it exceeds the threshold (1000)
|
103
|
+
if len(non_anomaly_indices) > SUBSAMPLE_THRESHOLD:
|
104
|
+
downsampled_non_anomaly_indices = non_anomaly_indices[::len(non_anomaly_indices)//SUBSAMPLE_THRESHOLD]
|
105
|
+
selected_indices = anomaly_indices + downsampled_non_anomaly_indices
|
106
|
+
selected_indices.sort()
|
107
|
+
downsampled_time_col = time_col[selected_indices]
|
108
|
+
|
97
109
|
columns = set(df.columns).difference({date_column})
|
98
110
|
for col in columns:
|
99
111
|
y = df[col].reset_index(drop=True)
|
112
|
+
|
113
|
+
downsampled_y = y[selected_indices]
|
114
|
+
|
100
115
|
fig, ax = plt.subplots(figsize=(8, 3), layout="constrained")
|
101
116
|
ax.grid()
|
102
|
-
ax.plot(
|
103
|
-
|
104
|
-
|
105
|
-
|
117
|
+
ax.plot(downsampled_time_col, downsampled_y, color="black")
|
118
|
+
# Plot anomalies
|
119
|
+
for i in anomaly_indices:
|
120
|
+
ax.scatter(time_col[i], y[i], color="red", marker="o")
|
106
121
|
plt.xlabel(date_column)
|
107
122
|
plt.ylabel(col)
|
108
123
|
plt.title(f"`{col}` with reference to anomalies")
|
109
124
|
figure_blocks.append(rc.Widget(ax))
|
110
|
-
|
125
|
+
|
126
|
+
blocks.append(rc.Group(*figure_blocks, label=target))
|
111
127
|
plots = rc.Select(blocks)
|
112
128
|
|
113
129
|
report_sections = []
|
@@ -77,6 +77,7 @@ class AnomalyOperatorSpec(DataClassSerializable):
|
|
77
77
|
model: str = None
|
78
78
|
model_kwargs: Dict = field(default_factory=dict)
|
79
79
|
contamination: float = None
|
80
|
+
subsample_report_data: bool = None
|
80
81
|
|
81
82
|
def __post_init__(self):
|
82
83
|
"""Adjusts the specification details."""
|
@@ -249,20 +249,28 @@ class ForecastOperatorBaseModel(ABC):
|
|
249
249
|
train_metrics_sections = [sec9_text, sec9]
|
250
250
|
|
251
251
|
backtest_sections = []
|
252
|
+
output_dir = self.spec.output_directory.url
|
253
|
+
backtest_report_name = "backtest_stats.csv"
|
254
|
+
file_path = f"{output_dir}/{backtest_report_name}"
|
252
255
|
if self.spec.model == AUTO_SELECT:
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
256
|
+
backtest_sections.append(rc.Heading("Auto-select statistics", level=2))
|
257
|
+
if not os.path.exists(file_path):
|
258
|
+
failure_msg = rc.Text("auto-select could not be executed. Please check the "
|
259
|
+
"logs for more details.")
|
260
|
+
backtest_sections.append(failure_msg)
|
261
|
+
else:
|
262
|
+
backtest_stats = pd.read_csv(file_path)
|
263
|
+
average_dict = backtest_stats.mean().to_dict()
|
264
|
+
del average_dict['backtest']
|
265
|
+
best_model = min(average_dict, key=average_dict.get)
|
266
|
+
backtest_text = rc.Heading("Back Testing Metrics", level=3)
|
267
|
+
summary_text = rc.Text(
|
268
|
+
f"Overall, the average scores for the models are {average_dict}, with {best_model}"
|
269
|
+
f" being identified as the top-performing model during backtesting.")
|
270
|
+
backtest_table = rc.DataTable(backtest_stats, index=True)
|
271
|
+
liner_plot = get_auto_select_plot(backtest_stats)
|
272
|
+
backtest_sections.extend([backtest_text, backtest_table, summary_text,
|
273
|
+
liner_plot])
|
266
274
|
|
267
275
|
|
268
276
|
forecast_plots = []
|
@@ -12,7 +12,8 @@ from ads.opctl import logger
|
|
12
12
|
from ads.opctl.operator.lowcode.common.const import DataColumns
|
13
13
|
from .model.forecast_datasets import ForecastDatasets
|
14
14
|
from .operator_config import ForecastOperatorConfig
|
15
|
-
|
15
|
+
from ads.opctl.operator.lowcode.forecast.model.factory import SupportedModels
|
16
|
+
from ads.opctl.operator.lowcode.common.errors import InsufficientDataError
|
16
17
|
|
17
18
|
class ModelEvaluator:
|
18
19
|
"""
|
@@ -61,6 +62,9 @@ class ModelEvaluator:
|
|
61
62
|
unique_dates = min_series_data[date_col].unique()
|
62
63
|
|
63
64
|
cut_offs = self.generate_cutoffs(unique_dates, horizon)
|
65
|
+
if not len(cut_offs):
|
66
|
+
raise InsufficientDataError("Insufficient data to evaluate multiple models. Please specify a model "
|
67
|
+
"instead of using auto-select.")
|
64
68
|
training_datasets = [sampled_historical_data[sampled_historical_data[date_col] <= cut_off_date] for cut_off_date
|
65
69
|
in cut_offs]
|
66
70
|
test_datasets = [sampled_historical_data[sampled_historical_data[date_col] > cut_offs[0]]]
|
@@ -137,7 +141,12 @@ class ModelEvaluator:
|
|
137
141
|
return metrics
|
138
142
|
|
139
143
|
def find_best_model(self, datasets: ForecastDatasets, operator_config: ForecastOperatorConfig):
|
140
|
-
|
144
|
+
try:
|
145
|
+
metrics = self.run_all_models(datasets, operator_config)
|
146
|
+
except InsufficientDataError as e:
|
147
|
+
model = SupportedModels.Prophet
|
148
|
+
logger.error(f"Running {model} model as auto-select failed with the following error: {e.message}")
|
149
|
+
return model
|
141
150
|
avg_backtests_metrics = {key: sum(value.values()) / len(value.values()) for key, value in metrics.items()}
|
142
151
|
best_model = min(avg_backtests_metrics, key=avg_backtests_metrics.get)
|
143
152
|
logger.info(f"Among models {self.models}, {best_model} model shows better performance during backtesting.")
|
ads/pipeline/ads_pipeline_run.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# -*- coding: utf-8; -*-
|
3
3
|
|
4
|
-
# Copyright (c) 2022,
|
4
|
+
# Copyright (c) 2022, 2024 Oracle and/or its affiliates.
|
5
5
|
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
6
|
import copy
|
7
7
|
import logging
|
@@ -689,6 +689,16 @@ class PipelineRun(
|
|
689
689
|
sources = []
|
690
690
|
subjects = []
|
691
691
|
skipped_step_list = []
|
692
|
+
|
693
|
+
is_service_logging_enabled = False
|
694
|
+
try:
|
695
|
+
if self.service_logging:
|
696
|
+
is_service_logging_enabled = True
|
697
|
+
except LogNotConfiguredError:
|
698
|
+
logger.warning(
|
699
|
+
"Service log is not configured for pipeline. Streaming custom log."
|
700
|
+
)
|
701
|
+
|
692
702
|
for step_run in self.step_runs:
|
693
703
|
if not steps or (step_run.step_name in steps):
|
694
704
|
step_name = step_run.step_name
|
@@ -703,7 +713,8 @@ class PipelineRun(
|
|
703
713
|
subjects.append(f"subject = '{step_name}'")
|
704
714
|
else:
|
705
715
|
sources.append(f"source = '*{job_run_id}'")
|
706
|
-
|
716
|
+
if is_service_logging_enabled:
|
717
|
+
subjects.append(f"subject = '{step_name}'")
|
707
718
|
else:
|
708
719
|
subjects.append(f"subject = '{step_name}'")
|
709
720
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: oracle_ads
|
3
|
-
Version: 2.11.
|
3
|
+
Version: 2.11.16
|
4
4
|
Summary: Oracle Accelerated Data Science SDK
|
5
5
|
Keywords: Oracle Cloud Infrastructure,OCI,Machine Learning,ML,Artificial Intelligence,AI,Data Science,Cloud,Oracle
|
6
6
|
Author: Oracle Data Science
|
@@ -4,54 +4,58 @@ ads/config.py,sha256=t_zDKftVYOLPP-t8IcnzEbtmMRX-6a8QKY9E_SnqA8M,8163
|
|
4
4
|
ads/aqua/__init__.py,sha256=IUKZAsxUGVicsyeSwsGwK6rAUJ1vIUW9ywduA3U22xc,1015
|
5
5
|
ads/aqua/app.py,sha256=wKnvSiD4nROcRUjGJ2FktRDeF4rWGTT_BjekMqHd9Nw,11994
|
6
6
|
ads/aqua/cli.py,sha256=W-0kswzRDEilqHyw5GSMOrARgvOyPRtkEtpy54ew0Jo,3907
|
7
|
-
ads/aqua/constants.py,sha256=
|
7
|
+
ads/aqua/constants.py,sha256=09pZD-wfsyDiDRRHnhPd3cBiQesrZDOHwqR8fRjElqY,2840
|
8
8
|
ads/aqua/data.py,sha256=7T7kdHGnEH6FXL_7jv_Da0CjEWXfjQZTFkaZWQikis4,932
|
9
|
-
ads/aqua/ui.py,sha256=
|
9
|
+
ads/aqua/ui.py,sha256=vLQSBcrQ-7zyPJIlpGEHYaz2sf_90lsadOxq6v80tjg,25227
|
10
10
|
ads/aqua/common/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi-PGKetcZdxZSn3_0,204
|
11
11
|
ads/aqua/common/decorator.py,sha256=XFS7tYGkN4dVzmB1wTYiJk1XqJ-VLhvzfZjExiQClgc,3640
|
12
|
-
ads/aqua/common/
|
12
|
+
ads/aqua/common/entities.py,sha256=UsP8CczuifLOLr_gAhulh8VmgGSFir3rli1MMQ-CZhk,537
|
13
|
+
ads/aqua/common/enums.py,sha256=ILdA-73g8rIwB9DZvPqT063LgaivgpycQBM28X-trxw,2299
|
13
14
|
ads/aqua/common/errors.py,sha256=Ev2xbaqkDqeCYDx4ZgOKOoM0sXsOXP3GIV6N1lhIUxM,3085
|
14
|
-
ads/aqua/common/utils.py,sha256=
|
15
|
-
ads/aqua/config/config.py,sha256=
|
16
|
-
ads/aqua/config/deployment_config_defaults.json,sha256=
|
17
|
-
ads/aqua/config/resource_limit_names.json,sha256=
|
15
|
+
ads/aqua/common/utils.py,sha256=Z54j_OxdpulznI_ouyshihDMrYuLcnX3FfeWV5tz-gc,29461
|
16
|
+
ads/aqua/config/config.py,sha256=tOGyuXlBRw4b4HkJgc1T3y1umqu_ME_-ImXX3pt_aB0,782
|
17
|
+
ads/aqua/config/deployment_config_defaults.json,sha256=1fzb8EZOcFMjwktes40qgetKvdmUtEGCl4Jp4eb8tJg,665
|
18
|
+
ads/aqua/config/resource_limit_names.json,sha256=0ecGLCLxll9qt3E7fVZPtzpurqe1PGdTk0Rjn_cWh8k,235
|
18
19
|
ads/aqua/dummy_data/icon.txt,sha256=wlB79r3A4mUBbrK5yVVXrNEEKpvfZiwBx2sKlj7wzA4,6326
|
19
20
|
ads/aqua/dummy_data/oci_model_deployments.json,sha256=xSBj6CEbFHHk9Ytgfu-lOgqWOss2DgSaK6tk2vgziEI,1939
|
20
21
|
ads/aqua/dummy_data/oci_models.json,sha256=mxUU8o3plmAFfr06fQmIQuiGe2qFFBlUB7QNPUNB1cE,36997
|
21
22
|
ads/aqua/dummy_data/readme.md,sha256=AlBPt0HBSOFA5HbYVsFsdTm-BC3R5NRpcKrTxdjEnlI,1256
|
22
23
|
ads/aqua/evaluation/__init__.py,sha256=Fd7WL7MpQ1FtJjlftMY2KHli5cz1wr5MDu3hGmV89a0,298
|
23
24
|
ads/aqua/evaluation/constants.py,sha256=GvcXvPIw-VDKw4a8WNKs36uWdT-f7VJrWSpnnRnthGg,1533
|
24
|
-
ads/aqua/evaluation/entities.py,sha256=
|
25
|
+
ads/aqua/evaluation/entities.py,sha256=h6aEskUgJcR_360kNxMU13qLEg_9MrZQQ73dJJZ8IAY,5675
|
25
26
|
ads/aqua/evaluation/errors.py,sha256=qzR63YEIA8haCh4HcBHFFm7j4g6jWDfGszqrPkXx9zQ,4564
|
26
|
-
ads/aqua/evaluation/evaluation.py,sha256=
|
27
|
+
ads/aqua/evaluation/evaluation.py,sha256=96JnuO7YZHUHqv16g24kVgoh_7GIHM5c_xhuSPWIPVM,60906
|
27
28
|
ads/aqua/extension/__init__.py,sha256=mRArjU6UZpZYVr0qHSSkPteA_CKcCZIczOFaK421m9o,1453
|
28
29
|
ads/aqua/extension/aqua_ws_msg_handler.py,sha256=PcRhBqGpq5aOPP0ibhaKfmkA8ajimldsvJC32o9JeTw,3291
|
29
30
|
ads/aqua/extension/base_handler.py,sha256=MuVxsJG66NdatL-Hh99UD3VQOQw1ir-q2YBajwh9cJk,5132
|
30
31
|
ads/aqua/extension/common_handler.py,sha256=UtfXsLmxUAG9J6nFmaGgWPJ_pwvUnz2UoGuG-z3AQXU,2106
|
31
|
-
ads/aqua/extension/
|
32
|
-
ads/aqua/extension/
|
32
|
+
ads/aqua/extension/common_ws_msg_handler.py,sha256=bNtuCpCD5ZIULYqs1ANsYgYnu81f9nZGb2NeTR5gCmw,2280
|
33
|
+
ads/aqua/extension/deployment_handler.py,sha256=_fq61ZhEfV92LizJsFSxc-BTTxcSPyCYV3xuDVvTtP4,9386
|
34
|
+
ads/aqua/extension/deployment_ws_msg_handler.py,sha256=JX3ZHRtscrflSxT7ZTEEI_p_owtk3m5FZq3QXE96AGY,2013
|
35
|
+
ads/aqua/extension/errors.py,sha256=i37EnRzxGgvxzUNoyEORzHYmB296DGOUb6pm7VwEyTU,451
|
33
36
|
ads/aqua/extension/evaluation_handler.py,sha256=Q8l_Mnzp1NOx6N9vXpUWN2kGKdICSRR7dPvm-dNqJBE,4464
|
34
|
-
ads/aqua/extension/evaluation_ws_msg_handler.py,sha256=
|
37
|
+
ads/aqua/extension/evaluation_ws_msg_handler.py,sha256=dv0iwOSTxYj1kQ1rPEoDmGgFBzLUCLXq5h7rpmY2T1M,2098
|
35
38
|
ads/aqua/extension/finetune_handler.py,sha256=ZCdXoEYzfViZfJsk0solCB6HQkg0skG1jFfqq1zF-vw,3312
|
36
|
-
ads/aqua/extension/model_handler.py,sha256=
|
39
|
+
ads/aqua/extension/model_handler.py,sha256=xVWXzmC-Mk2ib-ODu_bNSlBwqe7atS_fXFFC20WMf20,4704
|
40
|
+
ads/aqua/extension/models_ws_msg_handler.py,sha256=3CPfzWl1xfrE2Dpn_WYP9zY0kY5zlsAE8tU_6Y2-i18,1801
|
37
41
|
ads/aqua/extension/ui_handler.py,sha256=IYhtyL4oE8zlxe-kfbvWSmFsayyXaZZZButDdxM3hcA,9850
|
38
|
-
ads/aqua/extension/ui_websocket_handler.py,sha256=
|
42
|
+
ads/aqua/extension/ui_websocket_handler.py,sha256=oLFjaDrqkSERbhExdvxjLJX0oRcP-DVJ_aWn0qy0uvo,5084
|
39
43
|
ads/aqua/extension/utils.py,sha256=3pUTKoy-mXuLl7cGF0gFID32_RCCADCb5UlaMs0QWqs,840
|
40
44
|
ads/aqua/extension/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
|
-
ads/aqua/extension/models/ws_models.py,sha256
|
45
|
+
ads/aqua/extension/models/ws_models.py,sha256=-m6IJRS-4I6AMLDwgu19XdrvHyOStuBx9t4B0LgS07g,3348
|
42
46
|
ads/aqua/finetuning/__init__.py,sha256=vwYT5PluMR0mDQwVIavn_8Icms7LmvfV_FOrJ8fJx8I,296
|
43
47
|
ads/aqua/finetuning/constants.py,sha256=7LGF-rbbp-3IS8APjM9ABVHvm0EsaoC9A7XvxTgnRz4,743
|
44
48
|
ads/aqua/finetuning/entities.py,sha256=ZGFqewDV_YIGgmJqIXjrprSZE0yFZQF_tdbmQlvhTrQ,4045
|
45
49
|
ads/aqua/finetuning/finetuning.py,sha256=5GXya26dmerhwlCxQ4TZJWZh5pr0h-TnkZ6WahJITvY,24497
|
46
50
|
ads/aqua/model/__init__.py,sha256=j2iylvERdANxgrEDp7b_mLcKMz1CF5Go0qgYCiMwdos,278
|
47
51
|
ads/aqua/model/constants.py,sha256=eUVl3FK8SRpfnDc1jNF09CkbWXyxmfTgW6Nqvus8lx0,1476
|
48
|
-
ads/aqua/model/entities.py,sha256=
|
52
|
+
ads/aqua/model/entities.py,sha256=6EPZG0aAdUHxKhu6L0ZPH4G3_0icofa2Jdo_geCknM4,9012
|
49
53
|
ads/aqua/model/enums.py,sha256=t8GbK2nblIPm3gClR8W31RmbtTuqpoSzoN4W3JfD6AI,1004
|
50
|
-
ads/aqua/model/model.py,sha256=
|
54
|
+
ads/aqua/model/model.py,sha256=MuBg4WfiRGiU2b7dQpGtYeFbXd5SknMWYPkdzOxfLww,43578
|
51
55
|
ads/aqua/modeldeployment/__init__.py,sha256=RJCfU1yazv3hVWi5rS08QVLTpTwZLnlC8wU8diwFjnM,391
|
52
56
|
ads/aqua/modeldeployment/constants.py,sha256=lJF77zwxmlECljDYjwFAMprAUR_zctZHmawiP-4alLg,296
|
53
|
-
ads/aqua/modeldeployment/deployment.py,sha256=
|
54
|
-
ads/aqua/modeldeployment/entities.py,sha256=
|
57
|
+
ads/aqua/modeldeployment/deployment.py,sha256=R19Fy-yp-H7AzcsoaxEzMUoMqzZm2noejhUbd9JgLqk,28098
|
58
|
+
ads/aqua/modeldeployment/entities.py,sha256=QgiLxdWfoNg-u4P7DqauZh9oQQ-WjSs37s8WR84m164,4744
|
55
59
|
ads/aqua/modeldeployment/inference.py,sha256=JPqzbHJoM-PpIU_Ft9lHudO9_1vFr7OPQ2GHjPoAufU,2142
|
56
60
|
ads/aqua/training/__init__.py,sha256=w2DNWltXtASQgbrHyvKo0gMs5_chZoG-CSDMI4qe7i0,202
|
57
61
|
ads/aqua/training/exceptions.py,sha256=S5gHUeUiiPErxuwqG0TB1Yf11mhsAGNYb9o3zd1L1dI,13627
|
@@ -81,13 +85,13 @@ ads/common/model_artifact.py,sha256=ySyT8BA8GmLlBOfpcQ1L4CSuHjPbE_Ivxw_pXXdLC3M,
|
|
81
85
|
ads/common/model_artifact_schema.json,sha256=aNwC9bW5HHMXJK-XAWV56RosqOqiCkzKHBiJXvaBl3o,2557
|
82
86
|
ads/common/model_export_util.py,sha256=rQjL_bb0ecGV2fj0jQXS2-aRbXl4ONDwuNVqdr3DiAQ,26574
|
83
87
|
ads/common/model_metadata.py,sha256=Md1soURHww8GHMG3q_HV0RHVb6dPtg9FZ_7Wmd9L-Yc,641
|
84
|
-
ads/common/object_storage_details.py,sha256=
|
88
|
+
ads/common/object_storage_details.py,sha256=bvqIyB-zLpr5NMnZW8YtSupVH3RpWLBgbR3wPYlQhPU,9531
|
85
89
|
ads/common/oci_client.py,sha256=SmME1qdCFtOdMtC7-703C732e4lEK71kNfTSqBRFkSM,6053
|
86
90
|
ads/common/oci_datascience.py,sha256=biBgm-udtSYRL46XYfBFJjpkPFcw2ew-xvp3rbbpwmI,1698
|
87
91
|
ads/common/oci_logging.py,sha256=U0HRAUkpnycGpo2kWMrT3wjQVFZaWqLL6pZ2B6_epsM,41925
|
88
92
|
ads/common/oci_mixin.py,sha256=mhja5UomrhXH43uB0jT-u2KaT37op9tM-snxvtGfc40,34548
|
89
93
|
ads/common/oci_resource.py,sha256=zRa4z5yh5GoOW_6ZE57nhMmK2d94WUqyFqvaNvje9Co,4484
|
90
|
-
ads/common/serializer.py,sha256=
|
94
|
+
ads/common/serializer.py,sha256=JyUJWNybuCwFO_oem41F8477QR2Mj-1P-PKJ-3D3_qw,18813
|
91
95
|
ads/common/utils.py,sha256=TrwoRgycYnkgr3zkJ5a7L1glUwgSOTjSuEaz-uIOv88,52193
|
92
96
|
ads/common/word_lists.py,sha256=luyfSHWZtwAYKuRsSmUYd1VskKYR_8jG_Y26D3j2Vc8,22306
|
93
97
|
ads/common/work_request.py,sha256=z7OGroZNKs9FnOVCi89QnrxOh4PEWEdTsyXWUUydKwM,6591
|
@@ -413,13 +417,13 @@ ads/jobs/builders/base.py,sha256=o_njFwWQpGY755KbYwpYhvup7UGdcDnN06RdVtAbOkM,483
|
|
413
417
|
ads/jobs/builders/infrastructure/__init__.py,sha256=SgpGnF6ppE6LneSPWysGVdBrYMvVd-jYZD8oQfqtR34,246
|
414
418
|
ads/jobs/builders/infrastructure/base.py,sha256=cm4QXdQ-3Qk3Jz-oVzmeKqLaWW06HgSpc4Q9P3vIHFQ,4405
|
415
419
|
ads/jobs/builders/infrastructure/dataflow.py,sha256=XTuDhcz96vqskE5dFXWqzic1YcYcD5qPlKGhP4J82J0,39281
|
416
|
-
ads/jobs/builders/infrastructure/dsc_job.py,sha256=
|
417
|
-
ads/jobs/builders/infrastructure/dsc_job_runtime.py,sha256=
|
420
|
+
ads/jobs/builders/infrastructure/dsc_job.py,sha256=znZ8uMddI4QHvcpafW2bOF9f7gqHcMcv2Klf80b75fA,64780
|
421
|
+
ads/jobs/builders/infrastructure/dsc_job_runtime.py,sha256=IMCRImp6zwAUmjPQDY1Q3YXM2gfa0cLoCdTLtskFaYw,46559
|
418
422
|
ads/jobs/builders/infrastructure/utils.py,sha256=SfGvKiIUsbnMnYFxmMnRtmCDkaiJR0_CuRenP94iQyI,1623
|
419
423
|
ads/jobs/builders/runtimes/__init__.py,sha256=-aGtuFul2fJIMa7xNoOKNFaBAQeBNcZk71hf6dVSohA,204
|
420
424
|
ads/jobs/builders/runtimes/artifact.py,sha256=w5ZLRSeXxHbhK1cCSrlp-oloJNNLmmibNuJNvkiwiV0,12823
|
421
425
|
ads/jobs/builders/runtimes/base.py,sha256=KcZMZnyL4eA7EVawYCfa7M11f6lvGbuXZRnqsaVFZBQ,10436
|
422
|
-
ads/jobs/builders/runtimes/container_runtime.py,sha256=
|
426
|
+
ads/jobs/builders/runtimes/container_runtime.py,sha256=WPgq7L2YU8HRcnvNTRPFJcUpQgM8cOU1oCYAFjLNuGc,6891
|
423
427
|
ads/jobs/builders/runtimes/python_runtime.py,sha256=lr4XIAfJ-c_cuewf8E-qq-gSNgT2C2qFG57VNwCLODY,35568
|
424
428
|
ads/jobs/builders/runtimes/pytorch_runtime.py,sha256=jQ7iIS3juvzkK9qAPuQdMM_YVk4QepM14e8P6RY0D4E,7238
|
425
429
|
ads/jobs/schema/__init__.py,sha256=xMyuwB5xsIEW9MFmvyjmF1YnRarsIjeFe2Ib-aprCG4,210
|
@@ -627,16 +631,16 @@ ads/opctl/operator/lowcode/anomaly/README.md,sha256=E3vpyc5iKvIq8iuvGj8ZvLq3i_Q5
|
|
627
631
|
ads/opctl/operator/lowcode/anomaly/__init__.py,sha256=sAqmLhogrLXb3xI7dPOj9HmSkpTnLh9wkzysuGd8AXk,204
|
628
632
|
ads/opctl/operator/lowcode/anomaly/__main__.py,sha256=q7TSFpSmLSAXlwjWNMi_M5y9ndF86RPd7KJ_kanltjM,3328
|
629
633
|
ads/opctl/operator/lowcode/anomaly/cmd.py,sha256=e6ATBJcPXEdZ85hlSb7aWselA-8LlvtpI0AuO4Yw6Iw,1002
|
630
|
-
ads/opctl/operator/lowcode/anomaly/const.py,sha256=
|
634
|
+
ads/opctl/operator/lowcode/anomaly/const.py,sha256=oHsguh6vr5YdrjC80uiugA00NfgUyn6QQ_1dQRUztQU,2890
|
631
635
|
ads/opctl/operator/lowcode/anomaly/environment.yaml,sha256=J6KiIHOb5a2AcgZm1sisMgbjABlizyYRUq_aYZBk228,156
|
632
|
-
ads/opctl/operator/lowcode/anomaly/operator_config.py,sha256=
|
633
|
-
ads/opctl/operator/lowcode/anomaly/schema.yaml,sha256
|
636
|
+
ads/opctl/operator/lowcode/anomaly/operator_config.py,sha256=A1LBD0n3_M6M_2NuFQ6FrLq4vukUL47iPbPDBkIS3OY,4328
|
637
|
+
ads/opctl/operator/lowcode/anomaly/schema.yaml,sha256=oWfFO_AyzMImEkgpWNpkoR8xm-YnMHeMZ76LYT32oeo,9174
|
634
638
|
ads/opctl/operator/lowcode/anomaly/utils.py,sha256=Uj98FO5oM-sLjoqsOnoBmgSMF7iJiL0XX-gvphw9yiU,2746
|
635
639
|
ads/opctl/operator/lowcode/anomaly/model/__init__.py,sha256=sAqmLhogrLXb3xI7dPOj9HmSkpTnLh9wkzysuGd8AXk,204
|
636
640
|
ads/opctl/operator/lowcode/anomaly/model/anomaly_dataset.py,sha256=zpRRAtbjRgX9HPJb_7-eZ96c1AGQgDjjs-CsLTvYtuY,5402
|
637
641
|
ads/opctl/operator/lowcode/anomaly/model/automlx.py,sha256=Zn4ySrGfLbaKW0KIduwdnY0-YK8XAprCcMhElA4g-Vc,3401
|
638
642
|
ads/opctl/operator/lowcode/anomaly/model/autots.py,sha256=WlA39DA3GeQfW5HYiBLCArVQBXGzIVQH3D09cZYGjtg,3689
|
639
|
-
ads/opctl/operator/lowcode/anomaly/model/base_model.py,sha256=
|
643
|
+
ads/opctl/operator/lowcode/anomaly/model/base_model.py,sha256=BKT9nIHXUQfdX1yzg5dd9WGJlTRybpc2xXvfIU3gbXc,14692
|
640
644
|
ads/opctl/operator/lowcode/anomaly/model/factory.py,sha256=fgtWEkkMIlfThNvXvccRfLXmWmJ_kKuOLNVm0uhKeRA,3126
|
641
645
|
ads/opctl/operator/lowcode/anomaly/model/isolationforest.py,sha256=Kjsuio7cM-dKv63p58B9Jj0XPly6Z0hqfghs5nnXepA,2671
|
642
646
|
ads/opctl/operator/lowcode/anomaly/model/oneclasssvm.py,sha256=eQpNyax1hnufLHhL8Rbzee28comD2fF7TLn3TpzMrs8,2583
|
@@ -644,7 +648,7 @@ ads/opctl/operator/lowcode/anomaly/model/tods.py,sha256=_v0KkdTKD3nqzOu3P5tE7bSV
|
|
644
648
|
ads/opctl/operator/lowcode/common/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi-PGKetcZdxZSn3_0,204
|
645
649
|
ads/opctl/operator/lowcode/common/const.py,sha256=1dUhgup4L_U0s6BSYmgLPpZAe6xqfSHPPoLqW0j46U8,265
|
646
650
|
ads/opctl/operator/lowcode/common/data.py,sha256=L96XltNUllEYn8VOGVnJ3CrqBn_MRMRJCvU0npiBHnc,4149
|
647
|
-
ads/opctl/operator/lowcode/common/errors.py,sha256=
|
651
|
+
ads/opctl/operator/lowcode/common/errors.py,sha256=LvQ_Qzh6cqD6uP91DMFFVXPrcc3010EE8LfBH-CH0ho,1534
|
648
652
|
ads/opctl/operator/lowcode/common/transformations.py,sha256=Minukbv9Ja1yNJYgTQICU9kykIdbBELhrFFyWECgtes,9630
|
649
653
|
ads/opctl/operator/lowcode/common/utils.py,sha256=jQIyjtg4i4hfrhBIGhSOzkry2-ziZrn8cBj8lcTv66E,9292
|
650
654
|
ads/opctl/operator/lowcode/feature_store_marketplace/MLoperator,sha256=JO5ulr32WsFnbpk1KN97h8-D70jcFt1kRQ08UMkP4rU,346
|
@@ -669,7 +673,7 @@ ads/opctl/operator/lowcode/forecast/cmd.py,sha256=Q-R3yfK7aPfE4-0zIqzLFSjnz1tVMx
|
|
669
673
|
ads/opctl/operator/lowcode/forecast/const.py,sha256=K1skrAliy2xceSDmzDfsNTeDMl11rsFhHQXaRitBOYs,2616
|
670
674
|
ads/opctl/operator/lowcode/forecast/environment.yaml,sha256=eVMf9pcjADI14_GRGdZOB_gK5_MyG_-cX037TXqzFho,330
|
671
675
|
ads/opctl/operator/lowcode/forecast/errors.py,sha256=X9zuV2Lqb5N9FuBHHshOFYyhvng5r9KGLHnQijZ5b8c,911
|
672
|
-
ads/opctl/operator/lowcode/forecast/model_evaluator.py,sha256=
|
676
|
+
ads/opctl/operator/lowcode/forecast/model_evaluator.py,sha256=dSV1aj25wzv0V3y72YdYj4rCPjXAog13ppxYDNY9HQU,8913
|
673
677
|
ads/opctl/operator/lowcode/forecast/operator_config.py,sha256=XskXuOWtZZb6_EcR_t6XAEdr6jt1wT30oBcWt-8zeWA,6396
|
674
678
|
ads/opctl/operator/lowcode/forecast/schema.yaml,sha256=Y5j5qZQukjytZwXr2Gj0Fb9KeFjQbdzUNuAnUcH6k0Q,10137
|
675
679
|
ads/opctl/operator/lowcode/forecast/utils.py,sha256=oc6eBH9naYg4BB14KS2HL0uFdZHMgKsxx9vG28dJrXA,14347
|
@@ -677,7 +681,7 @@ ads/opctl/operator/lowcode/forecast/model/__init__.py,sha256=sAqmLhogrLXb3xI7dPO
|
|
677
681
|
ads/opctl/operator/lowcode/forecast/model/arima.py,sha256=sFjIMSBRqc2ePK24VX5sgNqqoRhiIOPgmH3STsYOQWU,10658
|
678
682
|
ads/opctl/operator/lowcode/forecast/model/automlx.py,sha256=bN-lqb5J7YlccEY0KfZ_oPruXvAtupQHjNW7oZDSKVI,14610
|
679
683
|
ads/opctl/operator/lowcode/forecast/model/autots.py,sha256=EruAl4BFEOPGT0iM0bnCbDVNKDB0wOf3v25li4MW8Gw,13057
|
680
|
-
ads/opctl/operator/lowcode/forecast/model/base_model.py,sha256=
|
684
|
+
ads/opctl/operator/lowcode/forecast/model/base_model.py,sha256=s4_lvasasCqvrj49ubD0H_2wA9pvh16_f5BiivqvL20,30876
|
681
685
|
ads/opctl/operator/lowcode/forecast/model/factory.py,sha256=GPwbZCe65-HZBUcg05_xaL1VPX8R1022E5W-NGJOohA,3487
|
682
686
|
ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py,sha256=d9rDmrIAbKTStOVroIKZkTEP1FP2AP0dq9XDEWt6w2c,16968
|
683
687
|
ads/opctl/operator/lowcode/forecast/model/ml_forecast.py,sha256=W2EgOrI-GswygxeDRlICbdeEkIQArEsHHKZlQy2ZnTA,9106
|
@@ -734,7 +738,7 @@ ads/oracledb/__init__.py,sha256=xMyuwB5xsIEW9MFmvyjmF1YnRarsIjeFe2Ib-aprCG4,210
|
|
734
738
|
ads/oracledb/oracle_db.py,sha256=_8Z8DL45RrWdaVZA464ICDtgm8tBoPGoX_wQTozDPHE,12889
|
735
739
|
ads/pipeline/__init__.py,sha256=AAxC4BtaiTO4fj5odxTPWBToqxSKfKzQzRHW_9ozIOY,1268
|
736
740
|
ads/pipeline/ads_pipeline.py,sha256=NkeryW1guYghFkbOlPdN-Kh_LlyZMwJV3c6eAC56V28,84882
|
737
|
-
ads/pipeline/ads_pipeline_run.py,sha256=
|
741
|
+
ads/pipeline/ads_pipeline_run.py,sha256=sNczf-1B0sROoFno9LbbND5HDUPtTTHOpFlIXB-IUH4,28374
|
738
742
|
ads/pipeline/ads_pipeline_step.py,sha256=Wo0SYmin2aY2Nqm_DRMoTZ2nGUcpPLA791goic9K14A,20267
|
739
743
|
ads/pipeline/cli.py,sha256=H_Z5vRSZmdW1iFIbbjKPnHa8pp4YS55M95HP9Naqi0Y,3480
|
740
744
|
ads/pipeline/extension.py,sha256=l8U0R4t7v9BHONXF4GW_f5W1HoYK7Ik9y8KBK66RWdE,9067
|
@@ -800,8 +804,8 @@ ads/type_discovery/unknown_detector.py,sha256=yZuYQReO7PUyoWZE7onhhtYaOg6088wf1y
|
|
800
804
|
ads/type_discovery/zipcode_detector.py,sha256=3AlETg_ZF4FT0u914WXvTT3F3Z6Vf51WiIt34yQMRbw,1421
|
801
805
|
ads/vault/__init__.py,sha256=x9tMdDAOdF5iDHk9u2di_K-ze5Nq068x25EWOBoWwqY,245
|
802
806
|
ads/vault/vault.py,sha256=hFBkpYE-Hfmzu1L0sQwUfYcGxpWmgG18JPndRl0NOXI,8624
|
803
|
-
oracle_ads-2.11.
|
804
|
-
oracle_ads-2.11.
|
805
|
-
oracle_ads-2.11.
|
806
|
-
oracle_ads-2.11.
|
807
|
-
oracle_ads-2.11.
|
807
|
+
oracle_ads-2.11.16.dist-info/entry_points.txt,sha256=9VFnjpQCsMORA4rVkvN8eH6D3uHjtegb9T911t8cqV0,35
|
808
|
+
oracle_ads-2.11.16.dist-info/LICENSE.txt,sha256=zoGmbfD1IdRKx834U0IzfFFFo5KoFK71TND3K9xqYqo,1845
|
809
|
+
oracle_ads-2.11.16.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
810
|
+
oracle_ads-2.11.16.dist-info/METADATA,sha256=eOcRKB-87weeImM-kRgnQk9HWqDbbPLCs9u0i8GaGG8,15837
|
811
|
+
oracle_ads-2.11.16.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|