snowflake-ml-python 1.20.0__py3-none-any.whl → 1.22.0__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 (68) hide show
  1. snowflake/ml/_internal/platform_capabilities.py +36 -0
  2. snowflake/ml/_internal/utils/url.py +42 -0
  3. snowflake/ml/data/_internal/arrow_ingestor.py +67 -2
  4. snowflake/ml/data/data_connector.py +103 -1
  5. snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +8 -2
  6. snowflake/ml/experiment/callback/__init__.py +0 -0
  7. snowflake/ml/experiment/callback/keras.py +25 -2
  8. snowflake/ml/experiment/callback/lightgbm.py +27 -2
  9. snowflake/ml/experiment/callback/xgboost.py +25 -2
  10. snowflake/ml/experiment/experiment_tracking.py +93 -3
  11. snowflake/ml/experiment/utils.py +6 -0
  12. snowflake/ml/feature_store/feature_view.py +34 -24
  13. snowflake/ml/jobs/_interop/protocols.py +3 -0
  14. snowflake/ml/jobs/_utils/constants.py +1 -0
  15. snowflake/ml/jobs/_utils/payload_utils.py +354 -356
  16. snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +95 -8
  17. snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +92 -0
  18. snowflake/ml/jobs/_utils/scripts/startup.sh +112 -0
  19. snowflake/ml/jobs/_utils/spec_utils.py +1 -445
  20. snowflake/ml/jobs/_utils/stage_utils.py +22 -1
  21. snowflake/ml/jobs/_utils/types.py +14 -7
  22. snowflake/ml/jobs/job.py +2 -8
  23. snowflake/ml/jobs/manager.py +57 -135
  24. snowflake/ml/lineage/lineage_node.py +1 -1
  25. snowflake/ml/model/__init__.py +6 -0
  26. snowflake/ml/model/_client/model/batch_inference_specs.py +16 -1
  27. snowflake/ml/model/_client/model/model_version_impl.py +130 -14
  28. snowflake/ml/model/_client/ops/deployment_step.py +36 -0
  29. snowflake/ml/model/_client/ops/model_ops.py +93 -8
  30. snowflake/ml/model/_client/ops/service_ops.py +32 -52
  31. snowflake/ml/model/_client/service/import_model_spec_schema.py +23 -0
  32. snowflake/ml/model/_client/service/model_deployment_spec.py +12 -4
  33. snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -0
  34. snowflake/ml/model/_client/sql/model_version.py +30 -6
  35. snowflake/ml/model/_client/sql/service.py +94 -5
  36. snowflake/ml/model/_model_composer/model_composer.py +1 -1
  37. snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +5 -0
  38. snowflake/ml/model/_model_composer/model_method/model_method.py +61 -2
  39. snowflake/ml/model/_packager/model_handler.py +8 -2
  40. snowflake/ml/model/_packager/model_handlers/custom.py +52 -0
  41. snowflake/ml/model/_packager/model_handlers/{huggingface_pipeline.py → huggingface.py} +203 -76
  42. snowflake/ml/model/_packager/model_handlers/mlflow.py +6 -1
  43. snowflake/ml/model/_packager/model_handlers/xgboost.py +26 -1
  44. snowflake/ml/model/_packager/model_meta/model_meta.py +40 -7
  45. snowflake/ml/model/_packager/model_packager.py +1 -1
  46. snowflake/ml/model/_signatures/core.py +390 -8
  47. snowflake/ml/model/_signatures/utils.py +13 -4
  48. snowflake/ml/model/code_path.py +104 -0
  49. snowflake/ml/model/compute_pool.py +2 -0
  50. snowflake/ml/model/custom_model.py +55 -13
  51. snowflake/ml/model/model_signature.py +13 -1
  52. snowflake/ml/model/models/huggingface.py +285 -0
  53. snowflake/ml/model/models/huggingface_pipeline.py +19 -208
  54. snowflake/ml/model/type_hints.py +7 -1
  55. snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +2 -2
  56. snowflake/ml/monitoring/_client/model_monitor_sql_client.py +12 -0
  57. snowflake/ml/monitoring/_manager/model_monitor_manager.py +12 -0
  58. snowflake/ml/monitoring/entities/model_monitor_config.py +5 -0
  59. snowflake/ml/registry/_manager/model_manager.py +230 -15
  60. snowflake/ml/registry/registry.py +4 -4
  61. snowflake/ml/utils/html_utils.py +67 -1
  62. snowflake/ml/version.py +1 -1
  63. {snowflake_ml_python-1.20.0.dist-info → snowflake_ml_python-1.22.0.dist-info}/METADATA +81 -7
  64. {snowflake_ml_python-1.20.0.dist-info → snowflake_ml_python-1.22.0.dist-info}/RECORD +67 -59
  65. snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -63
  66. {snowflake_ml_python-1.20.0.dist-info → snowflake_ml_python-1.22.0.dist-info}/WHEEL +0 -0
  67. {snowflake_ml_python-1.20.0.dist-info → snowflake_ml_python-1.22.0.dist-info}/licenses/LICENSE.txt +0 -0
  68. {snowflake_ml_python-1.20.0.dist-info → snowflake_ml_python-1.22.0.dist-info}/top_level.txt +0 -0
@@ -146,7 +146,7 @@ class Registry:
146
146
  signatures: Optional[dict[str, model_signature.ModelSignature]] = None,
147
147
  sample_input_data: Optional[type_hints.SupportedDataType] = None,
148
148
  user_files: Optional[dict[str, list[str]]] = None,
149
- code_paths: Optional[list[str]] = None,
149
+ code_paths: Optional[list[type_hints.CodePathLike]] = None,
150
150
  ext_modules: Optional[list[ModuleType]] = None,
151
151
  task: task.Task = task.Task.UNKNOWN,
152
152
  options: Optional[type_hints.ModelSaveOption] = None,
@@ -200,7 +200,7 @@ class Registry:
200
200
  It would also be used as background data in explanation and to capture data lineage. Defaults to None.
201
201
  user_files: Dictionary where the keys are subdirectories, and values are lists of local file name
202
202
  strings. The local file name strings can include wildcards (? or *) for matching multiple files.
203
- code_paths: List of directories containing code to import. Defaults to None.
203
+ code_paths: List of directories or CodePath objects containing code to import. Defaults to None.
204
204
  ext_modules: List of external modules to pickle with the model object.
205
205
  Only supported when logging the following types of model:
206
206
  Scikit-learn, Snowpark ML, PyTorch, TorchScript and Custom Model. Defaults to None.
@@ -298,7 +298,7 @@ class Registry:
298
298
  signatures: Optional[dict[str, model_signature.ModelSignature]] = None,
299
299
  sample_input_data: Optional[type_hints.SupportedDataType] = None,
300
300
  user_files: Optional[dict[str, list[str]]] = None,
301
- code_paths: Optional[list[str]] = None,
301
+ code_paths: Optional[list[type_hints.CodePathLike]] = None,
302
302
  ext_modules: Optional[list[ModuleType]] = None,
303
303
  task: task.Task = task.Task.UNKNOWN,
304
304
  options: Optional[type_hints.ModelSaveOption] = None,
@@ -352,7 +352,7 @@ class Registry:
352
352
  It would also be used as background data in explanation and to capture data lineage. Defaults to None.
353
353
  user_files: Dictionary where the keys are subdirectories, and values are lists of local file name
354
354
  strings. The local file name strings can include wildcards (? or *) for matching multiple files.
355
- code_paths: List of directories containing code to import. Defaults to None.
355
+ code_paths: List of directories or CodePath objects containing code to import. Defaults to None.
356
356
  ext_modules: List of external modules to pickle with the model object.
357
357
  Only supported when logging the following types of model:
358
358
  Scikit-learn, Snowpark ML, PyTorch, TorchScript and Custom Model. Defaults to None.
@@ -212,7 +212,7 @@ def create_feature_spec_html(spec: Any, indent: int = 0) -> str:
212
212
  from snowflake.ml.model._signatures import core
213
213
 
214
214
  if isinstance(spec, core.FeatureSpec):
215
- shape_str = f" shape={spec._shape}" if spec._shape else ""
215
+ shape_str = f", shape={spec._shape}" if spec._shape else ""
216
216
  nullable_str = "" if spec._nullable else ", not nullable"
217
217
  return f"""
218
218
  <div style="margin: 3px 0; padding-left: {indent * 16}px;">
@@ -261,3 +261,69 @@ def create_features_html(features: Sequence[Any], title: str) -> str:
261
261
  html += create_feature_spec_html(feature)
262
262
  html += "</div>"
263
263
  return html
264
+
265
+
266
+ def create_parameters_html(parameters: Sequence[Any], title: str) -> str:
267
+ """Create HTML representation for a collection of parameters.
268
+
269
+ Args:
270
+ parameters: The sequence of parameter specifications.
271
+ title: The title for the parameter collection.
272
+
273
+ Returns:
274
+ HTML string for the parameters collection.
275
+ """
276
+ if not parameters:
277
+ return f"""
278
+ <div style="margin: 5px 0; padding: 5px;">
279
+ <em>No {title.lower()} parameters defined</em>
280
+ </div>
281
+ """
282
+
283
+ html = """
284
+ <div style="margin: 5px 0; padding: 5px;">
285
+ """
286
+ for parameter in parameters:
287
+ html += create_param_spec_html(parameter)
288
+ html += "</div>"
289
+ return html
290
+
291
+
292
+ def create_param_spec_html(spec: Any, indent: int = 0) -> str:
293
+ """Create HTML representation for a parameter specification.
294
+
295
+ Args:
296
+ spec: The parameter specification (ParamSpec or ParamGroupSpec).
297
+ indent: The indentation level for nested parameters.
298
+
299
+ Returns:
300
+ HTML string for the parameter specification.
301
+ """
302
+ # Import here to avoid circular imports
303
+ from snowflake.ml.model._signatures import core
304
+
305
+ if isinstance(spec, core.ParamSpec):
306
+ shape_str = f", shape={spec._shape}" if spec._shape else ""
307
+ default_value_str = f"default: {repr(spec._default_value)}"
308
+ return f"""
309
+ <div style="margin: 3px 0; padding-left: {indent * 16}px;">
310
+ <strong>{spec.name}</strong>: {spec._dtype}{shape_str}, {default_value_str}
311
+ </div>
312
+ """
313
+ elif isinstance(spec, core.ParamGroupSpec):
314
+ shape_str = f" shape={spec._shape}" if spec._shape else ""
315
+ group_html = f"""
316
+ <div style="margin: 8px 0;">
317
+ <div style="margin: 3px 0; padding-left: {indent * 16}px;">
318
+ <strong>{spec.name}</strong> <span style="color: #666;">(group){shape_str}</span>
319
+ </div>
320
+ <div style="border-left: 2px solid #e0e0e0; margin-left: {indent * 16 + 8}px;">
321
+ """
322
+ for sub_spec in spec._specs:
323
+ group_html += create_param_spec_html(sub_spec, indent + 1)
324
+ group_html += """
325
+ </div>
326
+ </div>
327
+ """
328
+ return group_html
329
+ return ""
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.20.0"
2
+ VERSION = "1.22.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.20.0
3
+ Version: 1.22.0
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:
@@ -230,7 +230,7 @@ Classifier: Topic :: Software Development :: Libraries
230
230
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
231
231
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
232
232
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
233
- Requires-Python: <3.13,>=3.9
233
+ Requires-Python: <3.14,>=3.9
234
234
  Description-Content-Type: text/markdown
235
235
  License-File: LICENSE.txt
236
236
  Requires-Dist: anyio<5,>=3.5.0
@@ -307,7 +307,9 @@ Requires-Dist: torchdata<1,>=0.4; extra == "torch"
307
307
  Provides-Extra: transformers
308
308
  Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "transformers"
309
309
  Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
310
+ Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
310
311
  Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
312
+ Requires-Dist: transformers!=4.51.3,<5,>=4.39.3; extra == "transformers"
311
313
  Dynamic: license-file
312
314
 
313
315
  # Snowflake ML Python
@@ -415,15 +417,91 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
415
417
 
416
418
  # Release History
417
419
 
418
- ## 1.20.0
420
+ ## 1.22.0
421
+
422
+ ### New Features
423
+
424
+ * Registry: Introducing remotely logging a transformer pipeline model using SPCS job.
425
+
426
+ ```python
427
+ # create reference of the model
428
+ model = huggingface.TransformersPipeline(
429
+ model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
430
+ task="text-generation",
431
+ )
432
+
433
+ # Remotely log the model, a SPCS job will run async and log the model
434
+ mv = registry.log_model(
435
+ model=model,
436
+ model_name="tinyllama_remote_log",
437
+ target_platforms=["SNOWPARK_CONTAINER_SERVICES"],
438
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
439
+ )
440
+ ```
441
+
442
+ ### Bug Fixes
443
+
444
+ ### Behavior Changes
445
+
446
+ ### Deprecations
447
+
448
+ ## 1.21.0
449
+
450
+ ### New Features
451
+
452
+ * Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
453
+ whether inference data will be captured.
454
+ * DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
455
+ Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
456
+ * Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
457
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
458
+ `transformers.Pipeline` model. Currently, following tasks
459
+ are supported to log without manually specifying model signatures:
460
+ * "fill-mask"
461
+ * "question-answering"
462
+ * "summarization"
463
+ * "table-question-answering"
464
+ * "text2text-generation"
465
+ * "text-classification" (alias "sentiment-analysis" available)
466
+ * "text-generation"
467
+ * "token-classification" (alias "ner" available)
468
+ * "translation"
469
+ * "translation_xx_to_yy"
470
+ * "zero-shot-classification"
471
+ which provides utility to log the model without loading the model in memory.
419
472
 
420
473
  ### Bug Fixes
421
474
 
422
475
  * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
423
476
  instead of raising an exception.
477
+ * Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
478
+ (e.g. SPCS-only models) and `service_name` is not provided.
424
479
 
425
480
  ### Behavior Changes
426
481
 
482
+ * ML Job: The `additional_payloads` (Preview API) behavior is changing.
483
+ Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
484
+ Local directories and Python files are automatically compressed, and their internal layout is determined by the
485
+ specified import path. The import path applies only to local directories, Python files and staged python files;
486
+ it has no effect on other import types. When referencing files in a stage, only individual files
487
+ are supported—not directories.
488
+ * Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
489
+ SPCS node or Notebook.
490
+ * Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
491
+ * Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
492
+
493
+ ### Deprecations
494
+
495
+ * Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
496
+ version with a notice.
497
+
498
+ ## 1.20.0
499
+
500
+ ### Bug Fixes
501
+
502
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
503
+ instead of raising an exception.
504
+
427
505
  ### New Features
428
506
 
429
507
  * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
@@ -454,8 +532,6 @@ mv.create_service(
454
532
  )
455
533
  ```
456
534
 
457
- ### Deprecations
458
-
459
535
  ## 1.19.0 (11-13-2025)
460
536
 
461
537
  ### Bug Fixes
@@ -562,8 +638,6 @@ options = {
562
638
  * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
563
639
  To read more <https://github.com/huggingface/transformers/pull/31165>
564
640
 
565
- ### New Features
566
-
567
641
  ## 1.14.0 (09-18-2025)
568
642
 
569
643
  ### Bug Fixes
@@ -10,13 +10,13 @@ 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=eXm1ZjZ4bkRp_ba2n0F5kutVHnNUvpW7L4_SMMkOxeM,99
13
+ snowflake/ml/version.py,sha256=_JcB9jxPpN07nlKMJK54-i2xkicKgy6P-gyd_SPnpZA,99
14
14
  snowflake/ml/_internal/env.py,sha256=EY_2KVe8oR3LgKWdaeRb5rRU-NDNXJppPDsFJmMZUUY,265
15
15
  snowflake/ml/_internal/env_utils.py,sha256=Xx03pV_qEIVJJY--J3ZmnqK9Ugf0Os3O2vrF8xOyq_c,31500
16
16
  snowflake/ml/_internal/file_utils.py,sha256=7sA6loOeSfmGP4yx16P4usT9ZtRqG3ycnXu7_Tk7dOs,14206
17
17
  snowflake/ml/_internal/init_utils.py,sha256=WhrlvS-xcmKErSpwg6cUk6XDQ5lQcwDqPJnU7cooMIg,2672
18
18
  snowflake/ml/_internal/migrator_utils.py,sha256=k3erO8x3YJcX6nkKeyJAUNGg1qjE3RFmD-W6dtLzIH0,161
19
- snowflake/ml/_internal/platform_capabilities.py,sha256=5cpeKpsxCObjOsPIz38noIusWw4n5KXOvPqRPiF3Kj4,7627
19
+ snowflake/ml/_internal/platform_capabilities.py,sha256=qKCNbZUSDEjn_Fi5H9GJzFk_8CuWkSXYkFxug1mY0j0,9274
20
20
  snowflake/ml/_internal/relax_version_strategy.py,sha256=MYEIZrx1HfKNhl9Na3GN50ipX8c0MKIj9nwxjB0IC0Y,484
21
21
  snowflake/ml/_internal/telemetry.py,sha256=oN0NDuKYabmc85IGPDz48ktFpPlo9Xlhw0qGJdOtFNY,33684
22
22
  snowflake/ml/_internal/type_utils.py,sha256=bNNW0I9rOvwhx-Y274vGd0qWA0fMIPA3SGnaDE09wvc,2198
@@ -51,13 +51,14 @@ snowflake/ml/_internal/utils/snowpark_dataframe_utils.py,sha256=tm2leAu_oDTNUQZJ
51
51
  snowflake/ml/_internal/utils/sql_identifier.py,sha256=YHIwXpb8E1U6LVUVpT8q7s9ZygONAXKPVMD4IucwXx8,4669
52
52
  snowflake/ml/_internal/utils/table_manager.py,sha256=Wf3JXLUzdCiffKF9PJj7edHY7usCXNNZf1P0jRWff-E,4963
53
53
  snowflake/ml/_internal/utils/temp_file_utils.py,sha256=eHyyvxHfj4Z3FIS6VWgNyw5bFjNi5cSGYmY1hzyqzwY,1534
54
+ snowflake/ml/_internal/utils/url.py,sha256=V3Y5zwNhJouy_cyLTa2rogg5nQZ-Ag-7Rmq-qPPEjmg,1219
54
55
  snowflake/ml/data/__init__.py,sha256=nm5VhN98Lzxr4kb679kglQfqbDbHhd9zYsnFJiQiThg,351
55
- snowflake/ml/data/data_connector.py,sha256=4k1QmwsRBbydr-2HUgNIIclo-4-U22jbIWm6g4OAxs0,10560
56
+ snowflake/ml/data/data_connector.py,sha256=ZAgnXWEmOjR_3tremS2gNgLen7Rzrt1Z3ZtkXJrZtCo,14154
56
57
  snowflake/ml/data/data_ingestor.py,sha256=0TFc8qo4TZwdHMaBUBTZ7T8kkZfLGVmStvEx9KrXPHU,1165
57
58
  snowflake/ml/data/data_source.py,sha256=HjBO1xqTyJfAvEAGESUIdke0KvSj5S5-FcI2D2zgejI,512
58
59
  snowflake/ml/data/ingestor_utils.py,sha256=JOv7Kvs0DNhsXUjl940ZULDkeTjIcePCfQ9aL_NteV0,2721
59
60
  snowflake/ml/data/torch_utils.py,sha256=1IgXiqxLgUh0yyNqchOSps5gLqmMOglSctoifjJIDFI,3591
60
- snowflake/ml/data/_internal/arrow_ingestor.py,sha256=GqCFBnwjuts4FRuYoRCpI9re9y8oSjuLJ7_dnwe3g6s,12498
61
+ snowflake/ml/data/_internal/arrow_ingestor.py,sha256=8QSHNrFfvOmlMHxbF0Uexnw0KBpfvqXuVKbqjxiLOFk,15901
61
62
  snowflake/ml/dataset/__init__.py,sha256=nESj7YEI2u90Oxyit_hKCQMWb7N1BlEM3Ho2Fm0MfHo,274
62
63
  snowflake/ml/dataset/dataset.py,sha256=Uo99ZfAIpY9LZ4_gMsQfY_SwUpPnbfkuEcViHmSV6HA,21067
63
64
  snowflake/ml/dataset/dataset_factory.py,sha256=Fym4ICK-B1j6Om4ENwWxEvryq3ZKoCslBSZDBenmjOo,1615
@@ -65,22 +66,23 @@ snowflake/ml/dataset/dataset_metadata.py,sha256=lcNvugBkP8YEkGMQqaV8SlHs5mwUKsUS
65
66
  snowflake/ml/dataset/dataset_reader.py,sha256=mZsG9HyWUGgfotrGkLrunyEsOm_659mH-Sn2OyG6A-Q,5036
66
67
  snowflake/ml/experiment/__init__.py,sha256=r7qdyPd3jwxzqvksim2ju5j_LrnYQrta0ZI6XpWUqmc,109
67
68
  snowflake/ml/experiment/_experiment_info.py,sha256=iaJ65x6nzBYJ5djleSOzBtMpZUJCUDlRpaDw0pu-dcU,2533
68
- snowflake/ml/experiment/experiment_tracking.py,sha256=ASalDFuUjuNHmiwJJ1EKW1u1ENLGGFEHYeQVZuPuqkU,17828
69
- snowflake/ml/experiment/utils.py,sha256=3bpbkilc5vvFjnti-kcyhhjAd9Ga3LqiKqJDwORiATY,628
69
+ snowflake/ml/experiment/experiment_tracking.py,sha256=X4R4S6TjWkRB6F6RkPoFY4iOO44of4YMj_whcKoSayk,21841
70
+ snowflake/ml/experiment/utils.py,sha256=5lanWEq6tgWnOMHCX4FnfBmpIQEIgH57Cz0YtpaAa2Y,830
70
71
  snowflake/ml/experiment/_client/artifact.py,sha256=R2WB4Y_kqv43BWLfXv8SEDINn1Bnevzgb-mH5LyvgGk,3035
71
- snowflake/ml/experiment/_client/experiment_tracking_sql_client.py,sha256=7AuC9VvDmH04PnyuCxSJt-YcwEm8cmkfmxixVN7dSbQ,8167
72
+ snowflake/ml/experiment/_client/experiment_tracking_sql_client.py,sha256=NAb2ERm5u6Xuspt8ZT6cJemWaWkBJQgf4Yoshv68aDA,8290
72
73
  snowflake/ml/experiment/_entities/__init__.py,sha256=11XxkvAzosydf5owNmMzLwXZdQ2NtNKRM-MMra4ND2k,247
73
74
  snowflake/ml/experiment/_entities/experiment.py,sha256=lKmQj59K8fGDWVwRqeIesxorrChb-m78vX_WUmI7PV0,225
74
75
  snowflake/ml/experiment/_entities/run.py,sha256=6_R35nI24PzIWMrwPKDif5ZINAAE6J0R7p4UmlT-m4o,2251
75
76
  snowflake/ml/experiment/_entities/run_metadata.py,sha256=25cIg8FnAYHk5SoTg_StzL10_BkomL7xrhMmWxUTU8E,366
76
- snowflake/ml/experiment/callback/keras.py,sha256=I_O2SBYttFNChO2Sc_C6xQh03r3ymSFB4eN2TS41Dgs,2680
77
- snowflake/ml/experiment/callback/lightgbm.py,sha256=qu4m8WV6Rqxa39X7g7ZBd1zJ8icYEkBBF3Kh3C1VpHU,2754
78
- snowflake/ml/experiment/callback/xgboost.py,sha256=F547AXZ7Gv39cyIrgRdxVE8MQ3VlNi5JqKKW0Z5RlQo,2754
77
+ snowflake/ml/experiment/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ snowflake/ml/experiment/callback/keras.py,sha256=2kNYVWJjBKn9i2pioiGthLNjclNdSHn-6xHm6tlDc4E,4122
79
+ snowflake/ml/experiment/callback/lightgbm.py,sha256=dftlOMT9Wxo-XPaSvgbMh5IwVfQEskz4Ev4jd4G3_ns,4249
80
+ snowflake/ml/experiment/callback/xgboost.py,sha256=VLO3uW0Pot1b4nRaoi8tjLtDt3hrkTV0_6cqja3SqZQ,4197
79
81
  snowflake/ml/feature_store/__init__.py,sha256=MJr2Gp_EimDgDxD6DtenOEdLTzg6NYPfdNiPM-5rEtw,406
80
82
  snowflake/ml/feature_store/access_manager.py,sha256=ZuLk2IQE2H-XSV96Z6mf_KzF2J-kjaDf-_t-0nCxnTg,10724
81
83
  snowflake/ml/feature_store/entity.py,sha256=ViOSlqCV17ouiO4iH-_KvkvJZqSzpf-nfsjijG6G1Uk,4047
82
84
  snowflake/ml/feature_store/feature_store.py,sha256=9rb-CT1F-gI1hb8JzqD9CBRz2Q9Vd3c2HtRbl7pSdu4,172334
83
- snowflake/ml/feature_store/feature_view.py,sha256=OHhhk33DJa1-P0YG0g9XQxlMrt761yRpZ3CO1y4mtwc,44329
85
+ snowflake/ml/feature_store/feature_view.py,sha256=uQ57uF0IhFj_FzOaqMvwlar6Kl-CBOhjh5NSE0ZFgMo,44439
84
86
  snowflake/ml/feature_store/examples/example_helper.py,sha256=eaD2vLe7y4C5hMZQTeMXylbTtLacbq9gJcAluGHrkug,12470
85
87
  snowflake/ml/feature_store/examples/airline_features/entities.py,sha256=mzHRS-InHpXON0eHds-QLmi7nK9ciOnCruhPZI4niLs,438
86
88
  snowflake/ml/feature_store/examples/airline_features/source.yaml,sha256=kzl8ukOK8OuSPsxChEgJ9SPyPnzC-fPHqZC4O6aqd5o,247
@@ -110,80 +112,85 @@ snowflake/ml/fileset/snowfs.py,sha256=uF5QluYtiJ-HezGIhF55dONi3t0E6N7ByaVAIAlM3n
110
112
  snowflake/ml/fileset/stage_fs.py,sha256=SnkgCta6_5G6Ljl-Nzctr4yavhHUSlNKN3je0ojp54E,20685
111
113
  snowflake/ml/jobs/__init__.py,sha256=h176wKqEylZs5cdWdzWHuUrSAcwctDdw4tUhIpy-mO4,657
112
114
  snowflake/ml/jobs/decorators.py,sha256=mQgdWvvCwD7q79cSFKZHKegXGh2j1u8WM64UD3lCKr4,3428
113
- snowflake/ml/jobs/job.py,sha256=eK2D0DurFJGNp7GDrsqn4TTkHdvLR1hFVJrgfET5GOU,27739
114
- snowflake/ml/jobs/manager.py,sha256=_JEK7ozkEoEL26f0QJPBOhFrFr2U_-BnS_Cs5_R6PIw,29846
115
+ snowflake/ml/jobs/job.py,sha256=wEeIk5RZhkaJ56Zb1cBxsTAUJIo4QyhpRWaZaiYBuGY,27697
116
+ snowflake/ml/jobs/manager.py,sha256=pv4D3SxiiDi2JIUgRzY5yhF0w1pDaS24oTE4qtWS6fk,27633
115
117
  snowflake/ml/jobs/_interop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
118
  snowflake/ml/jobs/_interop/data_utils.py,sha256=xUO5YlhUKFVCDtbjam5gP2lka3lfoknTLr7syNAVxK0,4074
117
119
  snowflake/ml/jobs/_interop/dto_schema.py,sha256=NhoQ6WJa7uLO9VJojEENVVZhZMfL_G1VPPSSUYmmhO8,2750
118
120
  snowflake/ml/jobs/_interop/exception_utils.py,sha256=ZCphBkaaNINFATXZmjPzzNLKZZxKvGPROZ2azU8w13g,16348
119
121
  snowflake/ml/jobs/_interop/legacy.py,sha256=8BuC197e6nPmAzh4urYiuBuCNP-RlOlvWnWpSHTduqQ,9238
120
- snowflake/ml/jobs/_interop/protocols.py,sha256=xfOXL25hxhhy3ULfZWOfEjX0XqSTxo5cOURPXt777W4,18175
122
+ snowflake/ml/jobs/_interop/protocols.py,sha256=I-RGWUDUc_FsKsq_mtczO7n93O_IzUvmEKXTznSJyK8,18413
121
123
  snowflake/ml/jobs/_interop/results.py,sha256=nQ07XJ1BZEkPB4xa12pbGyaKqR8sWCoSzx0IKQlub4w,1714
122
124
  snowflake/ml/jobs/_interop/utils.py,sha256=TWFkUcAYmb-fpTwEL8idkk3XxlZ8vLz4X_gyS78PSi4,5552
123
125
  snowflake/ml/jobs/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
- snowflake/ml/jobs/_utils/constants.py,sha256=Wp2s_wBX5WZnxo3cdrsitnb9Ze0OUGmH26sofDFrdMI,4613
126
+ snowflake/ml/jobs/_utils/constants.py,sha256=vANNraDqsZkyhQ3lYQJnFx6NligKUdAaj2qMNRZpTEA,4645
125
127
  snowflake/ml/jobs/_utils/feature_flags.py,sha256=dLWBVIjyB2vsa4Vtm7Yhty6DOi8Nn73_YSjuYf73Y7A,1669
126
128
  snowflake/ml/jobs/_utils/function_payload_utils.py,sha256=4LBaStMdhRxcqwRkwFje-WwiEKRWnBfkaOYouF3N3Kg,1308
127
- snowflake/ml/jobs/_utils/payload_utils.py,sha256=IZr8aIadP0vQrKsSdCTFYX2ZYJNzGsijFqH219fjOX4,31382
129
+ snowflake/ml/jobs/_utils/payload_utils.py,sha256=ga7VbdiufuStLHn1_4xIOIhJtWrrE9-yMEZxsLDQ36A,33279
128
130
  snowflake/ml/jobs/_utils/query_helper.py,sha256=1-XK-y4iukbR1693qAELprRbHmJDM4YoEBHov8IYbHU,1115
129
- snowflake/ml/jobs/_utils/runtime_env_utils.py,sha256=fqa3ctf_CAOSv1zT__01Qp9T058mKgMjXuEkBZqKUqA,2247
130
- snowflake/ml/jobs/_utils/spec_utils.py,sha256=j7fqkVb7PzW5jV3IkBlialzOEs_V1rKT4DkM1IeGmfU,16623
131
- snowflake/ml/jobs/_utils/stage_utils.py,sha256=YjN7cQFRcAUT1JvNZDSiNw8KiCF4HJ6ymkOYMhYJwE0,5297
132
- snowflake/ml/jobs/_utils/types.py,sha256=uOf7TPPWfIRALZhD6Li3AgizPOktPXv8_6iVK2grkgc,2587
131
+ snowflake/ml/jobs/_utils/spec_utils.py,sha256=eC24LFiHtHQiswrZy7m94jixIInJFXNZ_-Km-xr9NJg,871
132
+ snowflake/ml/jobs/_utils/stage_utils.py,sha256=_eLdp9YTslkq6F7K-3K6WVBsMWtm6E6p3fJG1UFk3wQ,5890
133
+ snowflake/ml/jobs/_utils/types.py,sha256=__wwHJmdp9CvEI2HmosRJ4DxeZAkVDQ37D9ImCavvng,2579
133
134
  snowflake/ml/jobs/_utils/scripts/constants.py,sha256=YyIWZqQPYOTtgCY6SfyJjk2A98I5RQVmrOuLtET5Pqg,173
134
135
  snowflake/ml/jobs/_utils/scripts/get_instance_ip.py,sha256=N2wJYMPlwg-hidwgHhDhiBWOE6TskqCfWLMRRNnZBQs,5776
135
- snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=XcCyXYkwAAF3quPs0uoq_n-OiEYPYJtadKGsOFKBlTM,17005
136
+ snowflake/ml/jobs/_utils/scripts/mljob_launcher.py,sha256=D2yheAux0GrIcxzD7IPEuUaRb4JyDdDpxRXXNlxszWQ,19912
136
137
  snowflake/ml/jobs/_utils/scripts/signal_workers.py,sha256=AR1Pylkm4-FGh10WXfrCtcxaV0rI7IQ2ZiO0Li7zZ3U,7433
138
+ snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh,sha256=EIhhpEeu1Ph3J-QsAvugkhESkTMSZP3lWubmBCw5Z4w,3671
139
+ snowflake/ml/jobs/_utils/scripts/startup.sh,sha256=OwJjQczoNwqf6v2vq6MeChNoa79NHfLeZG8VngRQMvQ,4148
137
140
  snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py,sha256=SeJ8v5XDriwHAjIGpcQkwVP-f-lO9QIdVjVD7Fkgafs,7893
138
141
  snowflake/ml/lineage/__init__.py,sha256=8p1YGynC-qOxAZ8jZX2z84Reg5bv1NoJMoJmNJCrzI4,65
139
- snowflake/ml/lineage/lineage_node.py,sha256=SA0rbbI67rMr1qTMs4bAVkvqVtuKNI4lIaO5w0S-IXE,5767
140
- snowflake/ml/model/__init__.py,sha256=TV9yOwEKUWXKHiZ-z7mIwS2S6-bhCHOHU43NhVgLaOw,1012
141
- snowflake/ml/model/custom_model.py,sha256=fDhMObqlyzD_qQG1Bq6HHkBN1w3Qzg9e81JWPiqRfc4,12249
142
+ snowflake/ml/lineage/lineage_node.py,sha256=kL3b8VXhhpwnDl1r7UT27QEJkXEoSIavBGG-_3BE8t8,5775
143
+ snowflake/ml/model/__init__.py,sha256=gTZ_w-c57d1VrlxBXBGGt2384xenmQ193-xF8x6Vfz4,1172
144
+ snowflake/ml/model/code_path.py,sha256=erQhLkW6EY8V8FqDBBCFgMr4iImfMH0G6Mvw1cbDwws,4352
145
+ snowflake/ml/model/compute_pool.py,sha256=a54DQ3VRnOU0tSc8_IBwADLOKJMxyqe5R1jlKxnMMvs,106
146
+ snowflake/ml/model/custom_model.py,sha256=sdyKhT-QNNtTeu3idu6BExZNVyjUD4YTU8cru3iy4AY,14184
142
147
  snowflake/ml/model/event_handler.py,sha256=pojleQVM9TPNeDvliTvon2Sfxqbf2WWxrOebo1SaEHo,7211
143
148
  snowflake/ml/model/inference_engine.py,sha256=L0nwySY2Qwp3JzuRpPS87r0--m3HTUNUgZXYyOPJjyk,66
144
- snowflake/ml/model/model_signature.py,sha256=RH62vv4YmrQugTXLsh6kyuzfTs9_yz8a0TMkBR67XKY,32324
149
+ snowflake/ml/model/model_signature.py,sha256=ae1tkh3Rw9MzJSxmVT9kb0PwD3TANtKbWwp6b8-cItE,32847
145
150
  snowflake/ml/model/openai_signatures.py,sha256=ZVnHDgaOA6RcvtSP3HIbHVgr3scJH2gG_9QvZidn41g,2630
146
151
  snowflake/ml/model/target_platform.py,sha256=H5d-wtuKQyVlq9x33vPtYZAlR5ka0ytcKRYgwlKl0bQ,390
147
152
  snowflake/ml/model/task.py,sha256=Zp5JaLB-YfX5p_HSaw81P3J7UnycQq5EMa87A35VOaQ,286
148
- snowflake/ml/model/type_hints.py,sha256=hoIq3KOscvp9rqJnmgWHW3IGwCSwiCVbklFAqSQekr4,11225
153
+ snowflake/ml/model/type_hints.py,sha256=Xxa6b9ezbvXYvSIN5R4Zv6Dro4ZH74-eW4cno92VTJE,11475
149
154
  snowflake/ml/model/volatility.py,sha256=qu-wqe9oKkRwXwE2qkKygxTWzUypQYEk3UjsqOGRl_I,1144
150
- snowflake/ml/model/_client/model/batch_inference_specs.py,sha256=0SlLTpZW_gzNP5IH_8cFnqjArxM0zVjA5nBLKnKAnz8,4396
155
+ snowflake/ml/model/_client/model/batch_inference_specs.py,sha256=BA_pF9Hnwz9iIywi4CUaNMLPqWE4R7Q8QE9kWFU369E,4797
151
156
  snowflake/ml/model/_client/model/inference_engine_utils.py,sha256=yPkdImi2qP1uG1WzLKCBZgXV-DiIBVpImEosIjYJk8Y,1958
152
157
  snowflake/ml/model/_client/model/model_impl.py,sha256=Yabrbir5vPMOnsVmQJ23YN7vqhi756Jcm6pfO8Aq92o,17469
153
- snowflake/ml/model/_client/model/model_version_impl.py,sha256=EjZONsvuhZaWGqUm-y3wu5m968E99yoqQZQnZcXiw9Q,61859
158
+ snowflake/ml/model/_client/model/model_version_impl.py,sha256=wcqFQXuQXez6gAcYA2Bj0FnVoyoDiUp6_JvOKcwJE2s,68149
159
+ snowflake/ml/model/_client/ops/deployment_step.py,sha256=9kxKDr9xcD4KmVM-9O4_tm3ytkllQVoElJD793VI84Q,1428
154
160
  snowflake/ml/model/_client/ops/metadata_ops.py,sha256=qpK6PL3OyfuhyOmpvLCpHLy6vCxbZbp1HlEvakFGwv4,4884
155
- snowflake/ml/model/_client/ops/model_ops.py,sha256=e6z-Pd-yslMFokzJV-ZKNK3m5dyIyl9Zk1TQX5lmgRY,50903
156
- snowflake/ml/model/_client/ops/service_ops.py,sha256=Ey_yvKQvFnD4dafjFtPA3aaU1GTGqrdlgIpjrfYC8Ew,47143
157
- snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=n1i19opcjocXflWdr2jjtNk1GVqw8YSwip_ki2XyVMc,19628
158
- snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=Nlw-rwCGmiGqPYwWjZrowPtcRvgYMInpmWZvsEC4sTI,2464
161
+ snowflake/ml/model/_client/ops/model_ops.py,sha256=NmTP9jbojy6rxEpC18h_3fHPiTCZQw3I0TVgiF_dtnE,54938
162
+ snowflake/ml/model/_client/ops/service_ops.py,sha256=VfIMn-p8YlsenObkRG5GK2e9SHK7Afi_PKYoZfus8iU,46589
163
+ snowflake/ml/model/_client/service/import_model_spec_schema.py,sha256=SlEX1GiPlB8whMCmiwKUopnrGlm4fkQOQbTW2KyVTFU,554
164
+ snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=AEF_orcAj090oafVJ01iH767h_6a68Bb2oZqCQccIOo,19942
165
+ snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=f21_tYaGFPt07w1kgcIGWc4XKWWBGKKc3ivMKVTaOM0,2585
159
166
  snowflake/ml/model/_client/sql/_base.py,sha256=Qrm8M92g3MHb-QnSLUlbd8iVKCRxLhG_zr5M2qmXwJ8,1473
160
167
  snowflake/ml/model/_client/sql/model.py,sha256=nstZ8zR7MkXVEfhqLt7PWMik6dZr06nzq7VsF5NVNow,5840
161
- snowflake/ml/model/_client/sql/model_version.py,sha256=JE974ehlquitpDK9YHv94QklyereYk_vPiz64WYNXSk,23673
162
- snowflake/ml/model/_client/sql/service.py,sha256=0aXyRDZIFCgBq6TEG6qdhc7wtCsmphpyBXuSoNyLmTw,11630
168
+ snowflake/ml/model/_client/sql/model_version.py,sha256=SOYr13YEq0mxgIatsSchOq0aKUgdPhKO3clRQ6AMa7U,24766
169
+ snowflake/ml/model/_client/sql/service.py,sha256=zcyNsZVyanWC-iBcGOlBYz2DZ2jxnwdr5XT2xXa3oAk,15533
163
170
  snowflake/ml/model/_client/sql/stage.py,sha256=1TWYIVoWIeNwhVG9uqwmNpmKcC6x45LrbxCtzJW7fi4,1214
164
171
  snowflake/ml/model/_client/sql/tag.py,sha256=9sI0VoldKmsfToWSjMQddozPPGCxYUI6n0gPBiqd6x8,4333
165
- snowflake/ml/model/_model_composer/model_composer.py,sha256=Xqi-sxmkBoZl383LQAXhMQkq9KsAS0A3ythC5bN3EOU,8292
172
+ snowflake/ml/model/_model_composer/model_composer.py,sha256=1iMJe9b71xHC4K8VGTreQMJhI3ryAeQl3SpSK77uK_g,8313
166
173
  snowflake/ml/model/_model_composer/model_manifest/model_manifest.py,sha256=MyNaOLRD94RiMf-GofqPP989ifTLrSOOOau2RHCHphg,9308
167
- snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py,sha256=vfuZQ4YADfLcEvJYTSqVMsLfxCO-QWsFFzLXI1NoMXk,2950
174
+ snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py,sha256=GsHTjZPUpiVSePzNswNFxW3w07IQ32Vi_B9t-W8jUHE,3140
168
175
  snowflake/ml/model/_model_composer/model_method/constants.py,sha256=hoJwIopSdZiYn0fGq15_NiirC0l02d5LEs2D-4J_tPk,35
169
176
  snowflake/ml/model/_model_composer/model_method/function_generator.py,sha256=nnUJki3bJVCTF3gZ-usZW3xQ6wwlJ08EfNsPAgsnI3s,2625
170
177
  snowflake/ml/model/_model_composer/model_method/infer_function.py_template,sha256=olysEb_bE2C8CjIRAhm7qdr2mtgk77Tx45gnLRVQGFw,1511
171
178
  snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template,sha256=8p8jkTOJA-mBt5cuGhcWSH4z7ySQ9xevC35UioCLkC8,1539
172
179
  snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template,sha256=QT32N6akQDutLh00cXp2OD4WI6Gb7IGG1snsnrXNih8,1453
173
- snowflake/ml/model/_model_composer/model_method/model_method.py,sha256=7rfNQPgWT3scRIFAgIGdzrJaWeUftKhI2MGG5PFBDfM,8700
180
+ snowflake/ml/model/_model_composer/model_method/model_method.py,sha256=Gau0GM87VN7uezzLmcPKeK7HCK6VQA92yk8adlcXI9E,11807
174
181
  snowflake/ml/model/_model_composer/model_method/utils.py,sha256=RQi2qebBeE-0Y-jLYXiDWZU8nfvbnif9QbExeWiMmyI,1057
175
182
  snowflake/ml/model/_model_composer/model_user_file/model_user_file.py,sha256=dYNgg8P9p6nRH47-OLxZIbt_Ja3t1VPGNQ0qJtpGuAw,1018
176
- snowflake/ml/model/_packager/model_handler.py,sha256=qZB5FVRWZD5wDdm6vuuoXnDFar7i2nHarbe8iZRCLPo,2630
177
- snowflake/ml/model/_packager/model_packager.py,sha256=6-1MnGUR8nxB86A13nCZcWbET_Q6fSEOlyfcbTv7xCI,6087
183
+ snowflake/ml/model/_packager/model_handler.py,sha256=xbqTFDC7ArQyYuOk6zMV_dSttWbsKKVuaOUAY3ddQmE,2846
184
+ snowflake/ml/model/_packager/model_packager.py,sha256=AVQ95gSURPUEmFNQo1_qKDULZpXoeo46WO86Fww7-xg,6108
178
185
  snowflake/ml/model/_packager/model_env/model_env.py,sha256=xDDyRr8AzME0SRv2mQxzfh-blh2MH7Fz8H7R5HXiVJQ,21085
179
186
  snowflake/ml/model/_packager/model_handlers/_base.py,sha256=OZhGv7nyej3PqaoBz021uGa40T06d9rv-kDcKUY3VnM,7152
180
187
  snowflake/ml/model/_packager/model_handlers/_utils.py,sha256=v_IjjbvzJDqrAYSq4_l7_CiN8vkMzLx5MlYDJ_oL970,15522
181
188
  snowflake/ml/model/_packager/model_handlers/catboost.py,sha256=dbI2QizGZS04l6ehgXb3oy5YSXrlwRHz8YENVefEbms,10676
182
- snowflake/ml/model/_packager/model_handlers/custom.py,sha256=fM_13N5ejT0Ta0-M_Uzsqr_TwGVk_3jSjsLJiMEfyR4,8514
183
- snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py,sha256=4k05ouWc7qxTMX-tXJ4z9KJHWPcVF62vIkoM1XwBTAc,37246
189
+ snowflake/ml/model/_packager/model_handlers/custom.py,sha256=eOPTt3BoT5r9Z6rzvKaLhbffND647-j8aQ8fD50-cmA,10595
190
+ snowflake/ml/model/_packager/model_handlers/huggingface.py,sha256=2515WbwyuVKQy2ZJURwWY-yAfVH12s_gYBgPl-Lp7ts,42624
184
191
  snowflake/ml/model/_packager/model_handlers/keras.py,sha256=JKBCiJEjc41zaoEhsen7rnlyPo2RBuEqG9Vq6JR_Cq0,8696
185
192
  snowflake/ml/model/_packager/model_handlers/lightgbm.py,sha256=DAFMiqpXEUmKqeq5rgn5j6rtuwScNnuiMUBwS4OyC7Q,11074
186
- snowflake/ml/model/_packager/model_handlers/mlflow.py,sha256=xSpoXO0UOfBUpzx2W1O8P2WF0Xi1vrZ_J-DdgzQG0o8,9177
193
+ snowflake/ml/model/_packager/model_handlers/mlflow.py,sha256=6ZkRRiaTtFatIv1zaWAJ-TGkTRTmrj0P-YCSgpYnRrQ,9434
187
194
  snowflake/ml/model/_packager/model_handlers/prophet.py,sha256=MzmIkX2WukTApf85SUEmn8k_jeBAhfGa_8RTZK0-aCA,23913
188
195
  snowflake/ml/model/_packager/model_handlers/pytorch.py,sha256=mF-pzH1kqL7egpYA3kP1NVwOLNPYdOViEkywdzRXYJc,9867
189
196
  snowflake/ml/model/_packager/model_handlers/sentence_transformers.py,sha256=sKp-bt-fAnruDMZJ5cN6F_m9dJRY0G2FjJ4-KjNLgcg,11380
@@ -191,14 +198,14 @@ snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=_D1YE7TmEJDsuOUt-m
191
198
  snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=uvz-hosuNbtcQFprnS8GzjnM8fWULBDMRbXq8immW9Q,18352
192
199
  snowflake/ml/model/_packager/model_handlers/tensorflow.py,sha256=2J2XWYOC70axWaoNJa9aQLMyjLAKIskrT31t_LgqcIk,11350
193
200
  snowflake/ml/model/_packager/model_handlers/torchscript.py,sha256=3IbMoVGlBR-RsQAdYZxjAz1ST-jDMQIyhhdwM5e3NeE,9531
194
- snowflake/ml/model/_packager/model_handlers/xgboost.py,sha256=t9xSB4Phv56Ev5CLav_k8UM8ZPZ5zJBLpI46-edXqpY,12511
201
+ snowflake/ml/model/_packager/model_handlers/xgboost.py,sha256=vZo81r2uCIp-yGDkB3dIRN2dXqoF1HyrQ3nXnPlAiA0,14002
195
202
  snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py,sha256=BZo14UrywGZM1kTqzN4VFQcYjl7dggDp1U90ZBCMuOg,1409
196
203
  snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py,sha256=GVpfYllXa3Voxa54PGNsZ3Hea1kOJe3T_AoA9nrs60A,764
197
204
  snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py,sha256=dXIisQteU55QMw5OvC_1E_sGqFgE88WRhGCWFqUyauM,2239
198
205
  snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py,sha256=0DxwZtXFgXpxb5LQEAfTUfEFV7zgbG4j3F-oNHLkTgE,769
199
206
  snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py,sha256=MDOAGV6kML9sJh_hnYjnrPH4GtECP5DDCjaRT7NmYpU,768
200
207
  snowflake/ml/model/_packager/model_meta/model_blob_meta.py,sha256=CzY_MhiSshKi9dWzXc4lrC9PysU0FCdHG2oRlz1vCb8,1943
201
- snowflake/ml/model/_packager/model_meta/model_meta.py,sha256=7FuL0nClHpd7kBLhSM6BJPd6JCdyXLo4dePGThpcxfg,20549
208
+ snowflake/ml/model/_packager/model_meta/model_meta.py,sha256=E6ax_9FWTXmoEZyAD3NCMl2YQ1oRpyC8YVhpsbmOkk8,22043
202
209
  snowflake/ml/model/_packager/model_meta/model_meta_schema.py,sha256=mtKRbHQb6Hq2xiH1fTHSlBGaZg94qfyJ90rYRg14l0Y,3992
203
210
  snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py,sha256=8zTgq3n6TBXv7Vcwmf7b9wjK3m-9HHMsY0Qy1Rs-sZ4,1305
204
211
  snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py,sha256=5butM-lyaDRhCAO2BaCOIQufpAxAfSAinsNuGqbbjMU,1029
@@ -208,15 +215,16 @@ snowflake/ml/model/_packager/model_runtime/model_runtime.py,sha256=xEf-S9QurEOeQ
208
215
  snowflake/ml/model/_packager/model_task/model_task_utils.py,sha256=_nm3Irl5W6Oa8_OnJyp3bLeA9QAbV9ygGCsgHI70GX4,6641
209
216
  snowflake/ml/model/_signatures/base_handler.py,sha256=4CTZKKbg4WIz_CmXjyVy8tKZW-5OFcz0J8XVPHm2dfQ,1269
210
217
  snowflake/ml/model/_signatures/builtins_handler.py,sha256=ItWb8xNDDvIhDlmfUFCHOnUllvKZSTsny7_mRwks_Lc,3135
211
- snowflake/ml/model/_signatures/core.py,sha256=mmqw9_H3DUDV8lzA2ZoatagJvoS0OsSZipGOuJoZQ4Y,21951
218
+ snowflake/ml/model/_signatures/core.py,sha256=IiQC6FqXZNLfSiXO-K__Gke71_PUO1W_9TtJUag1UJU,36473
212
219
  snowflake/ml/model/_signatures/dmatrix_handler.py,sha256=ldcWqadJ9fJp9cOaZ3Mn-hTSj8W_laXszlkWb0zpifw,4137
213
220
  snowflake/ml/model/_signatures/numpy_handler.py,sha256=xy7mBEAs9U5eM8F51NLabLbWXRmyQUffhVweO6jmLBA,5461
214
221
  snowflake/ml/model/_signatures/pandas_handler.py,sha256=Gz2olwWzT4Kb3yBH0uYn3o92vT_lFoIx4yySh7T2tTQ,10790
215
222
  snowflake/ml/model/_signatures/pytorch_handler.py,sha256=Xy-ITCCX_EgHcyIIqeYSDUIvE2kiqECa8swy1hmohyc,5036
216
223
  snowflake/ml/model/_signatures/snowpark_handler.py,sha256=aNGPa2v0kTMuSZ80NBdHeAWYva0Nc1vo17ZjQwIjf2E,7621
217
224
  snowflake/ml/model/_signatures/tensorflow_handler.py,sha256=_yrvMg-w_jJoYuyrGXKPX4Dv7Vt8z1e6xIKiWGuZcc4,5660
218
- snowflake/ml/model/_signatures/utils.py,sha256=NYZwDtuMV91ryJflBhfrRnu1sq45ej30uEo9_scNbhg,16387
219
- snowflake/ml/model/models/huggingface_pipeline.py,sha256=k6oFoVNE3tqWmaM8BCaC7Xe2eD1-00UIEOadGWtiT9g,22494
225
+ snowflake/ml/model/_signatures/utils.py,sha256=QnfkgHBuI23m0-a0_Ghq1efMrN_dWzhRbpuY9U2U730,16635
226
+ snowflake/ml/model/models/huggingface.py,sha256=VO84lBizmSALntWCnK4O_eY_Cq2uzMooyHtfJXuFkew,13791
227
+ snowflake/ml/model/models/huggingface_pipeline.py,sha256=yJ7NW97EW5GRtOPYCYuNjoPIgXbAIyOEKW9P1trt9vY,14226
220
228
  snowflake/ml/modeling/_internal/estimator_utils.py,sha256=dfPPWO-RHf5C3Tya3VQ4KEqoa32pm-WKwRrjzjDInLk,13956
221
229
  snowflake/ml/modeling/_internal/model_specifications.py,sha256=3wFMcKPCSoiEzU7Mx6RVem89BRlBBENpX__-Rd7GwdU,4851
222
230
  snowflake/ml/modeling/_internal/model_trainer.py,sha256=5Ck1lbdyzcd-TpzAxEyovIN9fjaaVIqugyMHXt0wzH0,971
@@ -225,7 +233,7 @@ snowflake/ml/modeling/_internal/model_transformer_builder.py,sha256=E7Psa14Z-Us5
225
233
  snowflake/ml/modeling/_internal/transformer_protocols.py,sha256=CEWZXSc7QLZVRJmg3sC5yiNI-tN_wCZmZnySXZhLgto,6476
226
234
  snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py,sha256=PAvVEoyEKTIH3bpRj9ddSd4xj5JC8Ft4orA8uUWAbFA,7983
227
235
  snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py,sha256=ngvXWydZFoSbzfim3qU_Ygpa_ewf8Ysm7ckzWo5fm2Q,6435
228
- snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py,sha256=XfWSd1H5B6lcIb1eAapyODl6L6x1lbJ6jm0XtwM8-ag,54977
236
+ snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py,sha256=hZs6pEP6BPf31IJNwe-XT3H_10kwqRszI-MK7k8SNe0,54976
229
237
  snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py,sha256=HnsSmsXAeJrH9zVeq3CSziIaCUDxeWWx6kRyAK4qajM,6601
230
238
  snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py,sha256=oXumJxQFMokoxsrXZ03X8NKLWr3yGuUGB3OM8qTTH4E,16416
231
239
  snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py,sha256=xem3xtoOHi_HFoi85wvSx7F1BhzxVrGYqMhuyrFz4Ik,32919
@@ -437,22 +445,22 @@ snowflake/ml/modeling/xgboost/xgbrf_regressor.py,sha256=Zvl3atGaaZpOjI5XizLsLqWu
437
445
  snowflake/ml/monitoring/explain_visualize.py,sha256=I5-JKHhpD7JD6inZYMGUxm1MEEflBB9jwQgXcrDStow,16234
438
446
  snowflake/ml/monitoring/model_monitor.py,sha256=m-1eeQIhAYAvFQ-8mjMQ-PTzCpnN9XEcWpdHdQuEEus,4707
439
447
  snowflake/ml/monitoring/shap.py,sha256=Dp9nYquPEZjxMTW62YYA9g9qUdmCEFxcSk7ejvOP7PE,3597
440
- snowflake/ml/monitoring/_client/model_monitor_sql_client.py,sha256=6IVU1aQdiRu0GRhpZfNatJdzd5YgUNFlJ3Ti-mBxzN8,18027
448
+ snowflake/ml/monitoring/_client/model_monitor_sql_client.py,sha256=ih38WZfmRrHHgBdIGfZwvRRDKujgmi3vJIyEcmRijtc,18717
441
449
  snowflake/ml/monitoring/_client/queries/record_count.ssql,sha256=Bd1uNMwhPKqPyrDd5ug8iY493t9KamJjrlo82OAfmjY,335
442
450
  snowflake/ml/monitoring/_client/queries/rmse.ssql,sha256=OEJiSStRz9-qKoZaFvmubtY_n0xMUjyVU2uiQHCp7KU,822
443
- snowflake/ml/monitoring/_manager/model_monitor_manager.py,sha256=Aouj5ojRk28Na7TnCDPke13MEezHdVXC7WG1CBq4LoQ,10702
444
- snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=tKjYuzBmnpomIogmXcLyJlHfoCBgguulav8TOdzu0lQ,2053
451
+ snowflake/ml/monitoring/_manager/model_monitor_manager.py,sha256=8WDL1OJH09tRDxsS3qiTxXKWApfQFv8Ftn2IH_j7sqI,11338
452
+ snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=auy9BD0IoyUpZPZXMSx11orgY9D3ycqlt-w7ndLPtu8,2271
445
453
  snowflake/ml/registry/__init__.py,sha256=XdPQK9ejYkSJVrSQ7HD3jKQO0hKq2mC4bPCB6qrtH3U,76
446
- snowflake/ml/registry/registry.py,sha256=GLQCuHKbNPZH2lbT4gkhf3fbw8RfhCIn1nrnh_kWZoI,34531
447
- snowflake/ml/registry/_manager/model_manager.py,sha256=X0a_MKcwFGAtXGCt0jeELtnfloVvESxD3ZD3D__HAv8,17657
454
+ snowflake/ml/registry/registry.py,sha256=_vtQCh4DmhnPusTKWJteRPJkDpLFEfG150cjED70sOA,34611
455
+ snowflake/ml/registry/_manager/model_manager.py,sha256=splK5YGErt-eDIy6UbZAB3VKsGMZSJk2_MzfgrIQOhY,26306
448
456
  snowflake/ml/registry/_manager/model_parameter_reconciler.py,sha256=QsnIp9bspUo7wqGwn2o78YewsNDOgYp3eQtfJ_Rf2Tc,15332
449
457
  snowflake/ml/utils/authentication.py,sha256=TQV3E8YDHAPXA3dS8JWDmb_Zm8P0d9c8kCexRI4nefo,3106
450
458
  snowflake/ml/utils/connection_params.py,sha256=NSBUgcs-DXPRHs1BKpxdSubbJx1yrFRlMPBp-bE3Ugc,8308
451
- snowflake/ml/utils/html_utils.py,sha256=L4pzpvFd20SIk4rie2kTAtcQjbxBHfjKmxonMAT2OoA,7665
459
+ snowflake/ml/utils/html_utils.py,sha256=4g1EPuD8EnOAK7BCYiY8Wp3ZrdDkNOcUDrDAbUYxLfs,9954
452
460
  snowflake/ml/utils/sparse.py,sha256=zLBNh-ynhGpKH5TFtopk0YLkHGvv0yq1q-sV59YQKgg,3819
453
461
  snowflake/ml/utils/sql_client.py,sha256=pSe2od6Pkh-8NwG3D-xqN76_uNf-ohOtVbT55HeQg1Y,668
454
- snowflake_ml_python-1.20.0.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
455
- snowflake_ml_python-1.20.0.dist-info/METADATA,sha256=Ud6fGclw-XBNGupTN1LqbS9xDo99t4HupqYi-yNRXVE,98864
456
- snowflake_ml_python-1.20.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
457
- snowflake_ml_python-1.20.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
458
- snowflake_ml_python-1.20.0.dist-info/RECORD,,
462
+ snowflake_ml_python-1.22.0.dist-info/licenses/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
463
+ snowflake_ml_python-1.22.0.dist-info/METADATA,sha256=blcI4iB283G6JXS7v5Ttkw5bunAO1Q4tqkgAaqruA_8,102098
464
+ snowflake_ml_python-1.22.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
465
+ snowflake_ml_python-1.22.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
466
+ snowflake_ml_python-1.22.0.dist-info/RECORD,,
@@ -1,63 +0,0 @@
1
- from typing import Any, Optional, Union
2
-
3
- from packaging.version import Version
4
- from pydantic import BaseModel, Field, RootModel, field_validator
5
-
6
-
7
- class SpcsContainerRuntime(BaseModel):
8
- python_version: Version = Field(alias="pythonVersion")
9
- hardware_type: str = Field(alias="hardwareType")
10
- runtime_container_image: str = Field(alias="runtimeContainerImage")
11
-
12
- @field_validator("python_version", mode="before")
13
- @classmethod
14
- def validate_python_version(cls, v: Union[str, Version]) -> Version:
15
- if isinstance(v, Version):
16
- return v
17
- try:
18
- return Version(v)
19
- except Exception:
20
- raise ValueError(f"Invalid Python version format: {v}")
21
-
22
- class Config:
23
- frozen = True
24
- extra = "allow"
25
- arbitrary_types_allowed = True
26
-
27
-
28
- class RuntimeEnvironmentEntry(BaseModel):
29
- spcs_container_runtime: Optional[SpcsContainerRuntime] = Field(alias="spcsContainerRuntime", default=None)
30
-
31
- class Config:
32
- extra = "allow"
33
- frozen = True
34
-
35
-
36
- class RuntimeEnvironmentsDict(RootModel[dict[str, RuntimeEnvironmentEntry]]):
37
- @field_validator("root", mode="before")
38
- @classmethod
39
- def _filter_to_dict_entries(cls, data: Any) -> dict[str, dict[str, Any]]:
40
- """
41
- Pre-validation hook: keep only those items at the root level
42
- whose values are dicts. Non-dict values will be dropped.
43
-
44
- Args:
45
- data: The input data to filter, expected to be a dictionary.
46
-
47
- Returns:
48
- A dictionary containing only the key-value pairs where values are dictionaries.
49
-
50
- Raises:
51
- ValueError: If input data is not a dictionary.
52
- """
53
- # If the entire root is not a dict, raise error immediately
54
- if not isinstance(data, dict):
55
- raise ValueError(f"Expected dictionary data, but got {type(data).__name__}: {data}")
56
-
57
- # Filter out any key whose value is not a dict
58
- return {key: value for key, value in data.items() if isinstance(value, dict)}
59
-
60
- def get_spcs_container_runtimes(self) -> list[SpcsContainerRuntime]:
61
- return [
62
- entry.spcs_container_runtime for entry in self.root.values() if entry.spcs_container_runtime is not None
63
- ]