snowflake-ml-python 1.8.4__py3-none-any.whl → 1.8.6__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 (41) hide show
  1. snowflake/ml/_internal/telemetry.py +42 -16
  2. snowflake/ml/_internal/utils/connection_params.py +196 -0
  3. snowflake/ml/data/data_connector.py +1 -1
  4. snowflake/ml/jobs/__init__.py +2 -0
  5. snowflake/ml/jobs/_utils/constants.py +12 -2
  6. snowflake/ml/jobs/_utils/function_payload_utils.py +43 -0
  7. snowflake/ml/jobs/_utils/interop_utils.py +1 -1
  8. snowflake/ml/jobs/_utils/payload_utils.py +95 -39
  9. snowflake/ml/jobs/_utils/scripts/constants.py +22 -0
  10. snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +67 -2
  11. snowflake/ml/jobs/_utils/spec_utils.py +30 -6
  12. snowflake/ml/jobs/_utils/stage_utils.py +119 -0
  13. snowflake/ml/jobs/_utils/types.py +5 -1
  14. snowflake/ml/jobs/decorators.py +10 -7
  15. snowflake/ml/jobs/job.py +176 -28
  16. snowflake/ml/jobs/manager.py +119 -26
  17. snowflake/ml/model/_client/model/model_impl.py +58 -0
  18. snowflake/ml/model/_client/model/model_version_impl.py +90 -0
  19. snowflake/ml/model/_client/ops/model_ops.py +6 -3
  20. snowflake/ml/model/_client/ops/service_ops.py +24 -7
  21. snowflake/ml/model/_client/service/model_deployment_spec.py +11 -0
  22. snowflake/ml/model/_client/sql/model_version.py +1 -1
  23. snowflake/ml/model/_client/sql/service.py +73 -28
  24. snowflake/ml/model/_client/sql/stage.py +5 -2
  25. snowflake/ml/model/_model_composer/model_composer.py +3 -1
  26. snowflake/ml/model/_packager/model_handlers/sklearn.py +1 -1
  27. snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +103 -73
  28. snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +3 -2
  29. snowflake/ml/model/_signatures/core.py +24 -0
  30. snowflake/ml/monitoring/explain_visualize.py +160 -22
  31. snowflake/ml/monitoring/model_monitor.py +0 -4
  32. snowflake/ml/registry/registry.py +34 -14
  33. snowflake/ml/utils/connection_params.py +9 -3
  34. snowflake/ml/utils/html_utils.py +263 -0
  35. snowflake/ml/version.py +1 -1
  36. {snowflake_ml_python-1.8.4.dist-info → snowflake_ml_python-1.8.6.dist-info}/METADATA +40 -13
  37. {snowflake_ml_python-1.8.4.dist-info → snowflake_ml_python-1.8.6.dist-info}/RECORD +40 -37
  38. {snowflake_ml_python-1.8.4.dist-info → snowflake_ml_python-1.8.6.dist-info}/WHEEL +1 -1
  39. snowflake/ml/monitoring/model_monitor_version.py +0 -1
  40. {snowflake_ml_python-1.8.4.dist-info → snowflake_ml_python-1.8.6.dist-info}/licenses/LICENSE.txt +0 -0
  41. {snowflake_ml_python-1.8.4.dist-info → snowflake_ml_python-1.8.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,263 @@
1
+ """Utilities for generating consistent HTML representations across model classes."""
2
+
3
+ from typing import Any, Sequence
4
+
5
+ # Common CSS styles used across model classes
6
+ BASE_CONTAINER_STYLE = (
7
+ "font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.5; "
8
+ "color: #333; background-color: #f9f9f9; border: 1px solid #ddd; "
9
+ "border-radius: 4px; padding: 15px; margin-bottom: 15px;"
10
+ )
11
+
12
+ HEADER_STYLE = "margin-top: 0; margin-bottom: 10px; font-size: 16px; color: #007bff;"
13
+
14
+ SECTION_HEADER_STYLE = "margin: 15px 0 10px; color: #007bff;"
15
+
16
+ GRID_CONTAINER_STYLE = "display: grid; grid-template-columns: 150px 1fr; gap: 10px;"
17
+
18
+ GRID_LABEL_STYLE = "font-weight: bold;"
19
+
20
+ DETAILS_STYLE = "margin: 5px 0; border: 1px solid #e0e0e0; border-radius: 4px;"
21
+
22
+ SUMMARY_STYLE = "padding: 8px; cursor: pointer; background-color: #f5f5f5; border-radius: 3px;"
23
+
24
+ SUMMARY_LABEL_STYLE = "font-weight: bold; color: #007bff;"
25
+
26
+ CONTENT_SECTION_STYLE = "margin-left: 10px;"
27
+
28
+ VERSION_ITEM_STYLE = "margin: 5px 0; padding: 5px; background-color: #f5f5f5; border-radius: 3px;"
29
+
30
+ NESTED_GROUP_STYLE = "border-left: 2px solid #e0e0e0; margin-left: 8px;"
31
+
32
+ ERROR_STYLE = "color: #888; font-style: italic;"
33
+
34
+
35
+ def create_base_container(title: str, content: str) -> str:
36
+ """Create a base HTML container with consistent styling.
37
+
38
+ Args:
39
+ title: The main title for the container.
40
+ content: The HTML content to include in the container.
41
+
42
+ Returns:
43
+ HTML string with the base container structure.
44
+ """
45
+ return f"""
46
+ <div style="{BASE_CONTAINER_STYLE}">
47
+ <h3 style="{HEADER_STYLE}">
48
+ {title}
49
+ </h3>
50
+ {content}
51
+ </div>
52
+ """
53
+
54
+
55
+ def create_grid_section(items: list[tuple[str, str]]) -> str:
56
+ """Create a grid layout section for key-value pairs.
57
+
58
+ Args:
59
+ items: List of (label, value) tuples to display in the grid.
60
+
61
+ Returns:
62
+ HTML string with grid layout.
63
+ """
64
+ grid_items = ""
65
+ for label, value in items:
66
+ grid_items += f"""
67
+ <div style="{GRID_LABEL_STYLE}">{label}:</div>
68
+ <div>{value}</div>
69
+ """
70
+
71
+ return f"""
72
+ <div style="{GRID_CONTAINER_STYLE}">
73
+ {grid_items}
74
+ </div>
75
+ """
76
+
77
+
78
+ def create_section_header(title: str) -> str:
79
+ """Create a section header with consistent styling.
80
+
81
+ Args:
82
+ title: The section title.
83
+
84
+ Returns:
85
+ HTML string for the section header.
86
+ """
87
+ return f'<h4 style="{SECTION_HEADER_STYLE}">{title}</h4>'
88
+
89
+
90
+ def create_content_section(content: str) -> str:
91
+ """Create a content section with consistent indentation.
92
+
93
+ Args:
94
+ content: The content to include in the section.
95
+
96
+ Returns:
97
+ HTML string with content section styling.
98
+ """
99
+ return f"""
100
+ <div style="{CONTENT_SECTION_STYLE}">
101
+ {content}
102
+ </div>
103
+ """
104
+
105
+
106
+ def create_collapsible_section(title: str, content: str, open_by_default: bool = True) -> str:
107
+ """Create a collapsible section with consistent styling.
108
+
109
+ Args:
110
+ title: The title for the collapsible section.
111
+ content: The content to include in the collapsible section.
112
+ open_by_default: Whether the section should be open by default.
113
+
114
+ Returns:
115
+ HTML string for the collapsible section.
116
+ """
117
+ open_attr = "open" if open_by_default else ""
118
+
119
+ return f"""
120
+ <details style="{DETAILS_STYLE}" {open_attr}>
121
+ <summary style="{SUMMARY_STYLE}">
122
+ <span style="{SUMMARY_LABEL_STYLE}">{title}</span>
123
+ </summary>
124
+ <div style="padding: 10px; border-top: 1px solid #e0e0e0;">
125
+ {content}
126
+ </div>
127
+ </details>
128
+ """
129
+
130
+
131
+ def create_version_item(version_name: str, created_on: str, comment: str, is_default: bool = False) -> str:
132
+ """Create a version item with consistent styling.
133
+
134
+ Args:
135
+ version_name: The name of the version.
136
+ created_on: The creation timestamp.
137
+ comment: The version comment.
138
+ is_default: Whether this is the default version.
139
+
140
+ Returns:
141
+ HTML string for the version item.
142
+ """
143
+ default_text = " (Default)" if is_default else ""
144
+
145
+ return f"""
146
+ <div style="{VERSION_ITEM_STYLE}">
147
+ <strong>Version:</strong> {version_name}{default_text}<br/>
148
+ <strong>Created:</strong> {created_on}<br/>
149
+ <strong>Comment:</strong> {comment}<br/>
150
+ </div>
151
+ """
152
+
153
+
154
+ def create_tag_item(tag_name: str, tag_value: str) -> str:
155
+ """Create a tag item with consistent styling.
156
+
157
+ Args:
158
+ tag_name: The name of the tag.
159
+ tag_value: The value of the tag.
160
+
161
+ Returns:
162
+ HTML string for the tag item.
163
+ """
164
+ return f"""
165
+ <div style="margin: 5px 0;">
166
+ <strong>{tag_name}:</strong> {tag_value}
167
+ </div>
168
+ """
169
+
170
+
171
+ def create_metric_item(metric_name: str, value: Any) -> str:
172
+ """Create a metric item with consistent styling.
173
+
174
+ Args:
175
+ metric_name: The name of the metric.
176
+ value: The value of the metric.
177
+
178
+ Returns:
179
+ HTML string for the metric item.
180
+ """
181
+ value_str = "N/A" if value is None else str(value)
182
+ return f"""
183
+ <div style="margin: 5px 0;">
184
+ <strong>{metric_name}:</strong> {value_str}
185
+ </div>
186
+ """
187
+
188
+
189
+ def create_error_message(message: str) -> str:
190
+ """Create an error message with consistent styling.
191
+
192
+ Args:
193
+ message: The error message to display.
194
+
195
+ Returns:
196
+ HTML string for the error message.
197
+ """
198
+ return f'<em style="{ERROR_STYLE}">{message}</em>'
199
+
200
+
201
+ def create_feature_spec_html(spec: Any, indent: int = 0) -> str:
202
+ """Create HTML representation for a feature specification.
203
+
204
+ Args:
205
+ spec: The feature specification (FeatureSpec or FeatureGroupSpec).
206
+ indent: The indentation level for nested features.
207
+
208
+ Returns:
209
+ HTML string for the feature specification.
210
+ """
211
+ # Import here to avoid circular imports
212
+ from snowflake.ml.model._signatures import core
213
+
214
+ if isinstance(spec, core.FeatureSpec):
215
+ shape_str = f" shape={spec._shape}" if spec._shape else ""
216
+ nullable_str = "" if spec._nullable else ", not nullable"
217
+ return f"""
218
+ <div style="margin: 3px 0; padding-left: {indent * 16}px;">
219
+ <strong>{spec.name}</strong>: {spec._dtype}{shape_str}{nullable_str}
220
+ </div>
221
+ """
222
+ elif isinstance(spec, core.FeatureGroupSpec):
223
+ group_html = f"""
224
+ <div style="margin: 8px 0;">
225
+ <div style="margin: 3px 0; padding-left: {indent * 16}px;">
226
+ <strong>{spec.name}</strong> <span style="color: #666;">(group)</span>
227
+ </div>
228
+ <div style="border-left: 2px solid #e0e0e0; margin-left: {indent * 16 + 8}px;">
229
+ """
230
+ for sub_spec in spec._specs:
231
+ group_html += create_feature_spec_html(sub_spec, indent + 1)
232
+ group_html += """
233
+ </div>
234
+ </div>
235
+ """
236
+ return group_html
237
+ return ""
238
+
239
+
240
+ def create_features_html(features: Sequence[Any], title: str) -> str:
241
+ """Create HTML representation for a collection of features.
242
+
243
+ Args:
244
+ features: The sequence of feature specifications.
245
+ title: The title for the feature collection.
246
+
247
+ Returns:
248
+ HTML string for the features collection.
249
+ """
250
+ if not features:
251
+ return f"""
252
+ <div style="margin: 5px 0; padding: 5px;">
253
+ <em>No {title.lower()} features defined</em>
254
+ </div>
255
+ """
256
+
257
+ html = """
258
+ <div style="margin: 5px 0; padding: 5px;">
259
+ """
260
+ for feature in features:
261
+ html += create_feature_spec_html(feature)
262
+ html += "</div>"
263
+ return html
snowflake/ml/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  # This is parsed by regex in conda recipe meta file. Make sure not to break it.
2
- VERSION = "1.8.4"
2
+ VERSION = "1.8.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.8.4
3
+ Version: 1.8.6
4
4
  Summary: The machine learning client library that is used for interacting with Snowflake to build machine learning solutions.
5
5
  Author-email: "Snowflake, Inc" <support@snowflake.com>
6
6
  License:
@@ -242,7 +242,7 @@ Requires-Dist: fsspec[http]<2026,>=2024.6.1
242
242
  Requires-Dist: importlib_resources<7,>=6.1.1
243
243
  Requires-Dist: numpy<2,>=1.23
244
244
  Requires-Dist: packaging<25,>=20.9
245
- Requires-Dist: pandas<3,>=1.0.0
245
+ Requires-Dist: pandas<3,>=2.1.4
246
246
  Requires-Dist: pyarrow
247
247
  Requires-Dist: pydantic<3,>=2.8.2
248
248
  Requires-Dist: pyjwt<3,>=2.0.0
@@ -253,11 +253,12 @@ Requires-Dist: s3fs<2026,>=2024.6.1
253
253
  Requires-Dist: scikit-learn<1.6
254
254
  Requires-Dist: scipy<2,>=1.9
255
255
  Requires-Dist: shap<1,>=0.46.0
256
- Requires-Dist: snowflake-connector-python[pandas]<4,>=3.14.0
256
+ Requires-Dist: snowflake-connector-python[pandas]<4,>=3.15.0
257
257
  Requires-Dist: snowflake-snowpark-python!=1.26.0,<2,>=1.17.0
258
258
  Requires-Dist: snowflake.core<2,>=1.0.2
259
259
  Requires-Dist: sqlparse<1,>=0.4
260
260
  Requires-Dist: typing-extensions<5,>=4.1.0
261
+ Requires-Dist: xgboost<3,>=1.7.3
261
262
  Provides-Extra: all
262
263
  Requires-Dist: altair<6,>=5; extra == "all"
263
264
  Requires-Dist: catboost<2,>=1.2.0; extra == "all"
@@ -266,13 +267,12 @@ Requires-Dist: lightgbm<5,>=4.1.0; extra == "all"
266
267
  Requires-Dist: mlflow<3,>=2.16.0; extra == "all"
267
268
  Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "all"
268
269
  Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "all"
269
- Requires-Dist: streamlit<2,>=1.44.0; extra == "all"
270
+ Requires-Dist: streamlit<2,>=1.30.0; extra == "all"
270
271
  Requires-Dist: tensorflow<3,>=2.17.0; extra == "all"
271
272
  Requires-Dist: tokenizers<1,>=0.15.1; extra == "all"
272
273
  Requires-Dist: torch<3,>=2.0.1; extra == "all"
273
274
  Requires-Dist: torchdata<1,>=0.4; extra == "all"
274
275
  Requires-Dist: transformers<5,>=4.39.3; extra == "all"
275
- Requires-Dist: xgboost<3,>=1.7.3; extra == "all"
276
276
  Provides-Extra: altair
277
277
  Requires-Dist: altair<6,>=5; extra == "altair"
278
278
  Provides-Extra: catboost
@@ -286,7 +286,7 @@ Requires-Dist: lightgbm<5,>=4.1.0; extra == "lightgbm"
286
286
  Provides-Extra: mlflow
287
287
  Requires-Dist: mlflow<3,>=2.16.0; extra == "mlflow"
288
288
  Provides-Extra: streamlit
289
- Requires-Dist: streamlit<2,>=1.44.0; extra == "streamlit"
289
+ Requires-Dist: streamlit<2,>=1.30.0; extra == "streamlit"
290
290
  Provides-Extra: tensorflow
291
291
  Requires-Dist: tensorflow<3,>=2.17.0; extra == "tensorflow"
292
292
  Provides-Extra: torch
@@ -298,8 +298,6 @@ Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
298
298
  Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
299
299
  Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
300
300
  Requires-Dist: transformers<5,>=4.39.3; extra == "transformers"
301
- Provides-Extra: xgboost
302
- Requires-Dist: xgboost<3,>=1.7.3; extra == "xgboost"
303
301
  Dynamic: license-file
304
302
 
305
303
  # Snowpark ML
@@ -410,7 +408,40 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
410
408
 
411
409
  # Release History
412
410
 
413
- ## 1.8.4
411
+ ## 1.8.6
412
+
413
+ ### Bug Fixes
414
+
415
+ ### New Features
416
+
417
+ - Registry: Add service container info to logs.
418
+
419
+ ## 1.8.5
420
+
421
+ ### Bug Fixes
422
+
423
+ - Registry: Fixed a bug when listing and deleting container services.
424
+ - Registry: Fixed explainability issue with scikit-learn pipelines, skipping explain function creation.
425
+ - Explainability: bump minimum streamlit version down to 1.30
426
+ - Modeling: Make XGBoost a required dependency (xgboost is not a required dependency in snowflake-ml-python 1.8.4).
427
+
428
+ ### Breaking change
429
+
430
+ - ML Job: Rename argument `num_instances` to `target_instances` in job submission APIs and
431
+ change type from `Optional[int]` to `int`
432
+
433
+ ### New Features
434
+
435
+ - Registry: No longer checks if the snowflake-ml-python version is available in the Snowflake Conda channel when logging
436
+ an SPCS-only model.
437
+ - ML Job: Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
438
+ - ML Job: Adjust polling behavior to reduce number of SQL calls.
439
+
440
+ ### Deprecations
441
+
442
+ - `SnowflakeLoginOptions` is deprecated and will be removed in a future release.
443
+
444
+ ## 1.8.4 (2025-05-12)
414
445
 
415
446
  ### Bug Fixes
416
447
 
@@ -437,10 +468,6 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
437
468
 
438
469
  ## 1.8.3
439
470
 
440
- ### Bug Fixes
441
-
442
- ### Behavior Change
443
-
444
471
  ### New Features
445
472
 
446
473
  - Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
@@ -10,7 +10,7 @@ snowflake/cortex/_sse_client.py,sha256=sLYgqAfTOPADCnaWH2RWAJi8KbU_7gSRsTUDcDD5T
10
10
  snowflake/cortex/_summarize.py,sha256=7GH8zqfIdOiHA5w4b6EvJEKEWhaTrL4YA6iDGbn7BNM,1307
11
11
  snowflake/cortex/_translate.py,sha256=9ZGjvAnJFisbzJ_bXnt4pyug5UzhHJRXW8AhGQEersM,1652
12
12
  snowflake/cortex/_util.py,sha256=krNTpbkFLXwdFqy1bd0xi7ZmOzOHRnIfHdQCPiLZJxk,3288
13
- snowflake/ml/version.py,sha256=Pkx24m7KhMPVK_ZwB4ji7pUldQWHlLDa1P_FQ18SSPU,98
13
+ snowflake/ml/version.py,sha256=RmOLx4RFta98Fs3ULvfN2-mFLyI7DdFGWRoNnWjn_IQ,98
14
14
  snowflake/ml/_internal/env.py,sha256=EY_2KVe8oR3LgKWdaeRb5rRU-NDNXJppPDsFJmMZUUY,265
15
15
  snowflake/ml/_internal/env_utils.py,sha256=tzz8BziiwJEnZwkzDEYCMO20Sb-mnXwDtSakGfgG--M,29364
16
16
  snowflake/ml/_internal/file_utils.py,sha256=7sA6loOeSfmGP4yx16P4usT9ZtRqG3ycnXu7_Tk7dOs,14206
@@ -18,7 +18,7 @@ snowflake/ml/_internal/init_utils.py,sha256=WhrlvS-xcmKErSpwg6cUk6XDQ5lQcwDqPJnU
18
18
  snowflake/ml/_internal/migrator_utils.py,sha256=k3erO8x3YJcX6nkKeyJAUNGg1qjE3RFmD-W6dtLzIH0,161
19
19
  snowflake/ml/_internal/platform_capabilities.py,sha256=2l3GeuKIbeoMh5m3z1mWx7niWsnPvNTSVrlK5bnRNpk,5290
20
20
  snowflake/ml/_internal/relax_version_strategy.py,sha256=MYEIZrx1HfKNhl9Na3GN50ipX8c0MKIj9nwxjB0IC0Y,484
21
- snowflake/ml/_internal/telemetry.py,sha256=IXHyD5XsCu9uaioO1gflyejAG4FgPCsjD2CCZ2NeRWs,30971
21
+ snowflake/ml/_internal/telemetry.py,sha256=7obh4QrCvtgVa5QW2_5nMBRv-K-DZrUlDx_Exzn86FI,31788
22
22
  snowflake/ml/_internal/type_utils.py,sha256=fGnxGx9Tb9G1Fh9EaD23CxChx0Jfc4KnRZv-M-Dcblk,2197
23
23
  snowflake/ml/_internal/exceptions/dataset_error_messages.py,sha256=h7uGJbxBM6se-TW_64LKGGGdBCbwflzbBnmijWKX3Gc,285
24
24
  snowflake/ml/_internal/exceptions/dataset_errors.py,sha256=TqESe8cDfWurJdv5X0DOwgzBfHCEqga_F3WQipYbdqg,741
@@ -34,6 +34,7 @@ snowflake/ml/_internal/human_readable_id/animals.txt,sha256=GDLzMwzxiL07PhIMxw4t
34
34
  snowflake/ml/_internal/human_readable_id/hrid_generator.py,sha256=LYWB86qZgsVBvnc6Q5VjfDOmnGSQU3cTRKfId_nJSPY,1341
35
35
  snowflake/ml/_internal/human_readable_id/hrid_generator_base.py,sha256=_Egc-L0DKWgug1WaJebLCayKcljr2WdPuqH5uIoR1Kg,4469
36
36
  snowflake/ml/_internal/lineage/lineage_utils.py,sha256=-_PKuznsL_w38rVj3wXgbPdm6XkcbnABrU4v4GwZQcg,3426
37
+ snowflake/ml/_internal/utils/connection_params.py,sha256=ejtI-_vYt7tpxCZKjOBzuGyrOxh251xc-ekahQP9XZ4,8196
37
38
  snowflake/ml/_internal/utils/db_utils.py,sha256=HlxdMrgV8UpnxvfKDM-ZR5N566eWZLC-mE291ByrPEQ,1662
38
39
  snowflake/ml/_internal/utils/formatting.py,sha256=PswZ6Xas7sx3Ok1MBLoH2o7nfXOxaJqpUPg_UqXrQb8,3676
39
40
  snowflake/ml/_internal/utils/identifier.py,sha256=0Tn07XNxyUFYdFIYNvZ0iA7k9jiyOFAqrVx5ZLvoDwQ,12582
@@ -50,7 +51,7 @@ snowflake/ml/_internal/utils/sql_identifier.py,sha256=YHIwXpb8E1U6LVUVpT8q7s9Zyg
50
51
  snowflake/ml/_internal/utils/table_manager.py,sha256=Wf3JXLUzdCiffKF9PJj7edHY7usCXNNZf1P0jRWff-E,4963
51
52
  snowflake/ml/_internal/utils/temp_file_utils.py,sha256=0-HTjXdxVt0kE6XcgyvRvY0btflWlmotP2bMXVpFJPA,1553
52
53
  snowflake/ml/data/__init__.py,sha256=nm5VhN98Lzxr4kb679kglQfqbDbHhd9zYsnFJiQiThg,351
53
- snowflake/ml/data/data_connector.py,sha256=2M4xZPkD1pfZiFCWsiYCT1zUUGiW5pXAVGmBvP9sIUs,10104
54
+ snowflake/ml/data/data_connector.py,sha256=m8OqV1HAm0QGJriV1XUSTV5tSS4t8as1xQK6AbaCfHA,10133
54
55
  snowflake/ml/data/data_ingestor.py,sha256=w9PbcAKtAjP6TTzILOwwpFgF1qVYFhTDEryXBOsQq_o,972
55
56
  snowflake/ml/data/data_source.py,sha256=HjBO1xqTyJfAvEAGESUIdke0KvSj5S5-FcI2D2zgejI,512
56
57
  snowflake/ml/data/ingestor_utils.py,sha256=JOv7Kvs0DNhsXUjl940ZULDkeTjIcePCfQ9aL_NteV0,2721
@@ -93,18 +94,20 @@ snowflake/ml/fileset/fileset.py,sha256=ApMpHiiyzGRkyxQfJPdXPuKtw_wOXbOfQCXSH6pDw
93
94
  snowflake/ml/fileset/sfcfs.py,sha256=FJFc9-gc0KXaNyc10ZovN_87aUCShb0WztVwa02t0io,15517
94
95
  snowflake/ml/fileset/snowfs.py,sha256=uF5QluYtiJ-HezGIhF55dONi3t0E6N7ByaVAIAlM3nk,5133
95
96
  snowflake/ml/fileset/stage_fs.py,sha256=V4pysouSKKDPLzuW3u_extxfvjkQa5OlwIRES9Srpzo,20151
96
- snowflake/ml/jobs/__init__.py,sha256=ORX_0blPSpl9u5442R-i4e8cqWYfO_vVjFFtX3as184,420
97
- snowflake/ml/jobs/decorators.py,sha256=Of0SsZsOTpjUzmwBWz_gOC4jzFNfD2m9XeVUOkzaLTg,3339
98
- snowflake/ml/jobs/job.py,sha256=JQ4iWGMq6DrHUt8hbSJxjfO-GUNNmmgGoA_w5us9CKc,11548
99
- snowflake/ml/jobs/manager.py,sha256=b6FfiOpCp0Ucv551EtYuEQYgoSUnIM61SXHQ8iI-FYk,15091
100
- snowflake/ml/jobs/_utils/constants.py,sha256=tpw5JWtHIKNbPnWCAPYUL2B-oyDNSaS4elr8XJjr55w,3169
101
- snowflake/ml/jobs/_utils/interop_utils.py,sha256=g1-sStVpGwK5wMbswuC8ejGVQjnIBCiw96ElfWK3jg0,18831
102
- snowflake/ml/jobs/_utils/payload_utils.py,sha256=olsy2HfxkrTI1IHZEWeLezLnTsHTmOS35THaRv8mRCM,22307
103
- snowflake/ml/jobs/_utils/spec_utils.py,sha256=H-deDR8lxJ5ygqtbSAM1L-qWlr_yBO8vxQuqFwKOIgU,12224
104
- snowflake/ml/jobs/_utils/types.py,sha256=IRDZZAShUA_trwoSUFqbSRexvLefi2CFcBmQTYN11Yc,972
105
- snowflake/ml/jobs/_utils/scripts/constants.py,sha256=YyIWZqQPYOTtgCY6SfyJjk2A98I5RQVmrOuLtET5Pqg,173
97
+ snowflake/ml/jobs/__init__.py,sha256=v-v9-SA1Vy-M98B31-NlqJgpI6uEg9jEEghJLub1RUY,468
98
+ snowflake/ml/jobs/decorators.py,sha256=LlrRaAa7xJJu70QSqVjNP63-2uBg06RKfwwPi0_cbZo,3618
99
+ snowflake/ml/jobs/job.py,sha256=47x8Sij6FeBuGYil0Jqy59BhkA0nP1ofoVl8XMKXchc,16416
100
+ snowflake/ml/jobs/manager.py,sha256=NGVu8Ysd5MmZnykb41mqz7EPs8xEgjvdDjSMrPUHqPo,19627
101
+ snowflake/ml/jobs/_utils/constants.py,sha256=3mKan6fj0kxoG8sHvWRiOMn5lvrfJYeHGFolVPmkMvE,3642
102
+ snowflake/ml/jobs/_utils/function_payload_utils.py,sha256=4LBaStMdhRxcqwRkwFje-WwiEKRWnBfkaOYouF3N3Kg,1308
103
+ snowflake/ml/jobs/_utils/interop_utils.py,sha256=8_HzGyz1bl-We6_tBp1NKxlYZ2VqWT4svJzKTEh7Wx4,18844
104
+ snowflake/ml/jobs/_utils/payload_utils.py,sha256=AkfWb7az0-W-478c_9fUQQim_MtpDKrjERiTAPzsE18,24313
105
+ snowflake/ml/jobs/_utils/spec_utils.py,sha256=iubk_b_hA0T4mfE1WgqLp4CDpuQvvETeHFrlE1BJTIM,12991
106
+ snowflake/ml/jobs/_utils/stage_utils.py,sha256=RrJPKHFBmEqOoRe3Lr9ypq0A-tuf8uqmfzxAy-yo9o4,4053
107
+ snowflake/ml/jobs/_utils/types.py,sha256=l4onybhHhW1hhsbtXVhJ_RmzptClAPHY-fZRTIIcSLY,1087
108
+ snowflake/ml/jobs/_utils/scripts/constants.py,sha256=PtqQp-KFUjsBBoQIs5TyphmauYJzd5R1m4L31FOWBr0,912
106
109
  snowflake/ml/jobs/_utils/scripts/get_instance_ip.py,sha256=DmWs5cVpNmUcrqnwhrUvxE5PycDWFN88Pdut8vFDHPg,5293
107
- snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=SUm5yKliGcTNfd25v_hCwxfp5elHYtelR58mNbO3kGM,6950
110
+ snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=cFWzd5qzpvKiZYiw69A05XFoYQKeYdOPCaw7p1Qrj5c,9398
108
111
  snowflake/ml/jobs/_utils/scripts/signal_workers.py,sha256=AR1Pylkm4-FGh10WXfrCtcxaV0rI7IQ2ZiO0Li7zZ3U,7433
109
112
  snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py,sha256=SeJ8v5XDriwHAjIGpcQkwVP-f-lO9QIdVjVD7Fkgafs,7893
110
113
  snowflake/ml/lineage/__init__.py,sha256=8p1YGynC-qOxAZ8jZX2z84Reg5bv1NoJMoJmNJCrzI4,65
@@ -113,20 +116,20 @@ snowflake/ml/model/__init__.py,sha256=EvPtblqPN6_T6dyVfaYUxCfo_M7D2CQ1OR5giIH4Ts
113
116
  snowflake/ml/model/custom_model.py,sha256=fDhMObqlyzD_qQG1Bq6HHkBN1w3Qzg9e81JWPiqRfc4,12249
114
117
  snowflake/ml/model/model_signature.py,sha256=bVRdMx4JEj31gLe2dr10y7aVy9fPDfPlcKYlE1NBOeQ,32265
115
118
  snowflake/ml/model/type_hints.py,sha256=oCyzLllloC_GZVddHSBQMg_fvWQfhLLXwJPxPKpwvtE,9574
116
- snowflake/ml/model/_client/model/model_impl.py,sha256=I_bwFX1N7EVS1GdCTjHeyDJ7Ox4dyeqbZtQfl3v2Xzk,15357
117
- snowflake/ml/model/_client/model/model_version_impl.py,sha256=Nk8J1iHLV0g68txvoQf8Wgfay8UXumOJs8BQBY_2bRg,43273
119
+ snowflake/ml/model/_client/model/model_impl.py,sha256=Yabrbir5vPMOnsVmQJ23YN7vqhi756Jcm6pfO8Aq92o,17469
120
+ snowflake/ml/model/_client/model/model_version_impl.py,sha256=TGBSIr4JrdxSfFZyd9G0jW4CKW0aP-ReY4ZNb05CJyY,47033
118
121
  snowflake/ml/model/_client/ops/metadata_ops.py,sha256=qpK6PL3OyfuhyOmpvLCpHLy6vCxbZbp1HlEvakFGwv4,4884
119
- snowflake/ml/model/_client/ops/model_ops.py,sha256=Olj5ccsAviHw3Kbhv-_c5JaPvXpAHj1qckOf2IpThu0,47978
120
- snowflake/ml/model/_client/ops/service_ops.py,sha256=_ezoOLdCogL3ySAYVPjquP7p3iGiB9_PD5jGgjlG6F4,28264
121
- snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=qkLgwxxnVTCtRa7551wk4vSH5Lm2lDNSmpOe4SXNyjs,17177
122
+ snowflake/ml/model/_client/ops/model_ops.py,sha256=-nhyXCt2wBwgKTO5yDaKArA5vwtb1n7SbXAjS4k4mbA,48121
123
+ snowflake/ml/model/_client/ops/service_ops.py,sha256=GMFT_ArQmrMT49D717D3siBgnDyrge7hogncp99JuqM,29301
124
+ snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=V1j1WJ-gYrXN9SBsbg-908MbsJejl86rmaXHg4-tZiw,17508
122
125
  snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=cr1yNVlbLzpHIDeyIIHb6m06-w3LfJc12DLQAqEHQqQ,1895
123
126
  snowflake/ml/model/_client/sql/_base.py,sha256=Qrm8M92g3MHb-QnSLUlbd8iVKCRxLhG_zr5M2qmXwJ8,1473
124
127
  snowflake/ml/model/_client/sql/model.py,sha256=nstZ8zR7MkXVEfhqLt7PWMik6dZr06nzq7VsF5NVNow,5840
125
- snowflake/ml/model/_client/sql/model_version.py,sha256=_XRgG1-oAzRfwxEH7h_84azmP-_d32yb4nhew241xOQ,23524
126
- snowflake/ml/model/_client/sql/service.py,sha256=l8Y_lp2DVzIoWAR2xUESJb3EIX5dkwK9xe664ZCXQPI,11204
127
- snowflake/ml/model/_client/sql/stage.py,sha256=DIFP1m7Itt_FJR4GCt5CNngEHn9OcK-fshoQAYnkNOY,820
128
+ snowflake/ml/model/_client/sql/model_version.py,sha256=QwzFlDH5laTqK2qF7SJQSbt28DgspWj3R11l-yD1Da0,23496
129
+ snowflake/ml/model/_client/sql/service.py,sha256=i8BDpFs7AJQ8D8UXcE4rW_iNJbXGUYtiL_B6KfJKs-Q,12327
130
+ snowflake/ml/model/_client/sql/stage.py,sha256=2gxYNtmEXricwxeACVUr63OUDCy_iQvCi-kRT4qQtBA,887
128
131
  snowflake/ml/model/_client/sql/tag.py,sha256=9sI0VoldKmsfToWSjMQddozPPGCxYUI6n0gPBiqd6x8,4333
129
- snowflake/ml/model/_model_composer/model_composer.py,sha256=42dhYHnXof787rSfYzooinOV44EkZ3mgkXXUlVlShkI,11476
132
+ snowflake/ml/model/_model_composer/model_composer.py,sha256=SJyaw8Pcp-n_VYLEraIxrispRYMkIU90DuEisZj4z-U,11631
130
133
  snowflake/ml/model/_model_composer/model_manifest/model_manifest.py,sha256=0z0TKJ-qI1cGJ9gQOfmxAoWzo0-tBmMkl80bO-P0TKg,9157
131
134
  snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py,sha256=eqv-4-tvA9Lgrp7kQAQGS_CJVR9D6uOd8-SxADNOkeM,2887
132
135
  snowflake/ml/model/_model_composer/model_method/constants.py,sha256=hoJwIopSdZiYn0fGq15_NiirC0l02d5LEs2D-4J_tPk,35
@@ -149,8 +152,8 @@ snowflake/ml/model/_packager/model_handlers/lightgbm.py,sha256=DAFMiqpXEUmKqeq5r
149
152
  snowflake/ml/model/_packager/model_handlers/mlflow.py,sha256=xSpoXO0UOfBUpzx2W1O8P2WF0Xi1vrZ_J-DdgzQG0o8,9177
150
153
  snowflake/ml/model/_packager/model_handlers/pytorch.py,sha256=jHYRjPUlCpSU2yvrJwuKAYLbG6CethxQx4brQ5ZmiVM,9784
151
154
  snowflake/ml/model/_packager/model_handlers/sentence_transformers.py,sha256=sKp-bt-fAnruDMZJ5cN6F_m9dJRY0G2FjJ4-KjNLgcg,11380
152
- snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=buuJnOFHbxJKLEfyNMThfffutJCwG37h6CcgYO5nHTg,18095
153
- snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=4YKX6BktNIjRSSUOStOMx4NVmRBE0o9pes3wyKYZ1Y0,17173
155
+ snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=dH6S7FhJBqVOWPPXyEhN9Kj9tzDdDrD0phaGacoXQ14,18094
156
+ snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=uvz-hosuNbtcQFprnS8GzjnM8fWULBDMRbXq8immW9Q,18352
154
157
  snowflake/ml/model/_packager/model_handlers/tensorflow.py,sha256=2J2XWYOC70axWaoNJa9aQLMyjLAKIskrT31t_LgqcIk,11350
155
158
  snowflake/ml/model/_packager/model_handlers/torchscript.py,sha256=3IbMoVGlBR-RsQAdYZxjAz1ST-jDMQIyhhdwM5e3NeE,9531
156
159
  snowflake/ml/model/_packager/model_handlers/xgboost.py,sha256=Nj80oPwvg1Ng9Nfdtf1nRxyBdStoyz9CVe4jPqksxuk,12190
@@ -165,12 +168,12 @@ snowflake/ml/model/_packager/model_meta/model_meta_schema.py,sha256=e4TUbWl998xQ
165
168
  snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py,sha256=8zTgq3n6TBXv7Vcwmf7b9wjK3m-9HHMsY0Qy1Rs-sZ4,1305
166
169
  snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py,sha256=5butM-lyaDRhCAO2BaCOIQufpAxAfSAinsNuGqbbjMU,1029
167
170
  snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py,sha256=cyZVvBGM3nF1IVqDKfYstLCchNO-ZhSkPvLM4aU7J5c,2066
168
- snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py,sha256=F6tdtQgkaMeaL1rW7PDJQnwAVHGQQ31UYCR8DAanRUQ,868
171
+ snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py,sha256=jRa_AmJd6H4VHeMSAp-2v1dDj1w7sEFtgmXv5BxxGPI,893
169
172
  snowflake/ml/model/_packager/model_runtime/model_runtime.py,sha256=CDjbfBvZNrW6AI5xapYPFSEEQInd3RVo7_08mru2xx4,5487
170
173
  snowflake/ml/model/_packager/model_task/model_task_utils.py,sha256=_nm3Irl5W6Oa8_OnJyp3bLeA9QAbV9ygGCsgHI70GX4,6641
171
174
  snowflake/ml/model/_signatures/base_handler.py,sha256=4CTZKKbg4WIz_CmXjyVy8tKZW-5OFcz0J8XVPHm2dfQ,1269
172
175
  snowflake/ml/model/_signatures/builtins_handler.py,sha256=ItWb8xNDDvIhDlmfUFCHOnUllvKZSTsny7_mRwks_Lc,3135
173
- snowflake/ml/model/_signatures/core.py,sha256=uWa_o7wZQGKQ84g8_LmfS9nyKyuFKeTcAVQROrTbF2w,21024
176
+ snowflake/ml/model/_signatures/core.py,sha256=mmqw9_H3DUDV8lzA2ZoatagJvoS0OsSZipGOuJoZQ4Y,21951
174
177
  snowflake/ml/model/_signatures/dmatrix_handler.py,sha256=ldcWqadJ9fJp9cOaZ3Mn-hTSj8W_laXszlkWb0zpifw,4137
175
178
  snowflake/ml/model/_signatures/numpy_handler.py,sha256=xy7mBEAs9U5eM8F51NLabLbWXRmyQUffhVweO6jmLBA,5461
176
179
  snowflake/ml/model/_signatures/pandas_handler.py,sha256=rYgSaqdh8d-w22e_ZDt4kCFCkPWEhs-KwL9wyoLUacI,10704
@@ -396,9 +399,8 @@ snowflake/ml/modeling/xgboost/xgb_classifier.py,sha256=SF5F4elDdHmt8Wtth8BIH2Sc6
396
399
  snowflake/ml/modeling/xgboost/xgb_regressor.py,sha256=5x-N1Yym0OfF3D7lHNzLByaazc4aoDNVmCQ-TgbYOGg,63580
397
400
  snowflake/ml/modeling/xgboost/xgbrf_classifier.py,sha256=H3SAtx-2mIwS3N_ltBXVHlbLeYun5TtdBBN_goeKrBg,64253
398
401
  snowflake/ml/modeling/xgboost/xgbrf_regressor.py,sha256=Up3rbL7pfeglVKx920UpLhBzHxteXLTWHqIk5WX9iPY,63778
399
- snowflake/ml/monitoring/explain_visualize.py,sha256=CJMH5W7m2iIAwUPXdBAOUVW8t97zLm1lLCagyUV-g88,10278
400
- snowflake/ml/monitoring/model_monitor.py,sha256=8vJf1YROmJgBLUtpaH-lGKSSJv9R7PxPaQnOdr_j5YE,2200
401
- snowflake/ml/monitoring/model_monitor_version.py,sha256=TlmDJZDE0lCVatRaBRgXIjzDF538nrMIc-zWj9MM_nk,46
402
+ snowflake/ml/monitoring/explain_visualize.py,sha256=ANxEBUN09OxEyyyRwz4uspOw2wtAZxw75BOlLBX70Bo,15789
403
+ snowflake/ml/monitoring/model_monitor.py,sha256=-PlqiIc3R2a_eh789KaeApbK-RV4VUfRucWGqjKhOKs,1885
402
404
  snowflake/ml/monitoring/shap.py,sha256=Dp9nYquPEZjxMTW62YYA9g9qUdmCEFxcSk7ejvOP7PE,3597
403
405
  snowflake/ml/monitoring/_client/model_monitor_sql_client.py,sha256=Ke1fsN4347APII-EETEBY7hTydY9MRgQubinCE6eI_U,12700
404
406
  snowflake/ml/monitoring/_client/queries/record_count.ssql,sha256=Bd1uNMwhPKqPyrDd5ug8iY493t9KamJjrlo82OAfmjY,335
@@ -406,14 +408,15 @@ snowflake/ml/monitoring/_client/queries/rmse.ssql,sha256=OEJiSStRz9-qKoZaFvmubtY
406
408
  snowflake/ml/monitoring/_manager/model_monitor_manager.py,sha256=0jpT1-aRU2tsxSM87I-C2kfJeLevCgM-a-OwU_-VUdI,10302
407
409
  snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=1W6TFTPicC6YAbjD7A0w8WMhWireyUxyuEy0RQXmqyY,1787
408
410
  snowflake/ml/registry/__init__.py,sha256=XdPQK9ejYkSJVrSQ7HD3jKQO0hKq2mC4bPCB6qrtH3U,76
409
- snowflake/ml/registry/registry.py,sha256=FImEpQghF9tiSVwKAH5w0ePo2HG9i5AZNJ_4dw_6J54,30634
411
+ snowflake/ml/registry/registry.py,sha256=JJ3mONTPxbslphvSExJzT7uqnQUBmWIbvzmTulITTpg,31519
410
412
  snowflake/ml/registry/_manager/model_manager.py,sha256=5HMLGSEJK8uYD4OVlxJqa83g9OPvdj-K7j_UaW-dde8,18271
411
413
  snowflake/ml/utils/authentication.py,sha256=E1at4TIAQRDZDsMXSbrKvSJaT6_kSYJBkkr37vU9P2s,2606
412
- snowflake/ml/utils/connection_params.py,sha256=w3Ws1_rqSjqEzg1oehVCGXcyYdcNRpg-whiw4EyrvYM,7999
414
+ snowflake/ml/utils/connection_params.py,sha256=JuadbzKlgDZLZ5vJ9cnyAiSitvZT9jGSfSSNjIY9P1Q,8282
415
+ snowflake/ml/utils/html_utils.py,sha256=L4pzpvFd20SIk4rie2kTAtcQjbxBHfjKmxonMAT2OoA,7665
413
416
  snowflake/ml/utils/sparse.py,sha256=zLBNh-ynhGpKH5TFtopk0YLkHGvv0yq1q-sV59YQKgg,3819
414
417
  snowflake/ml/utils/sql_client.py,sha256=pSe2od6Pkh-8NwG3D-xqN76_uNf-ohOtVbT55HeQg1Y,668
415
- snowflake_ml_python-1.8.4.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
416
- snowflake_ml_python-1.8.4.dist-info/METADATA,sha256=C8w7DA8fDZ_y3aB7q55ezQ8kRTYpKU_HFFEhDg3Z8T0,84232
417
- snowflake_ml_python-1.8.4.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
418
- snowflake_ml_python-1.8.4.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
419
- snowflake_ml_python-1.8.4.dist-info/RECORD,,
418
+ snowflake_ml_python-1.8.6.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
419
+ snowflake_ml_python-1.8.6.dist-info/METADATA,sha256=nQja0TiCef4FgucRD7wpZqgo5NIOngq8rKgPIRknhHg,85172
420
+ snowflake_ml_python-1.8.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
421
+ snowflake_ml_python-1.8.6.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
422
+ snowflake_ml_python-1.8.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1 +0,0 @@
1
- SNOWFLAKE_ML_MONITORING_MIN_VERSION = "1.7.0"