snowflake-ml-python 1.7.0__py3-none-any.whl → 1.7.1__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 (49) hide show
  1. snowflake/cortex/__init__.py +4 -0
  2. snowflake/cortex/_complete.py +107 -64
  3. snowflake/cortex/_finetune.py +273 -0
  4. snowflake/cortex/_sse_client.py +91 -28
  5. snowflake/cortex/_util.py +30 -1
  6. snowflake/ml/_internal/type_utils.py +3 -3
  7. snowflake/ml/data/__init__.py +5 -0
  8. snowflake/ml/model/_client/model/model_version_impl.py +7 -7
  9. snowflake/ml/model/_client/ops/model_ops.py +51 -30
  10. snowflake/ml/model/_client/ops/service_ops.py +13 -2
  11. snowflake/ml/model/_client/sql/model.py +0 -14
  12. snowflake/ml/model/_client/sql/service.py +25 -1
  13. snowflake/ml/model/_model_composer/model_method/infer_function.py_template +2 -1
  14. snowflake/ml/model/_packager/model_env/model_env.py +12 -0
  15. snowflake/ml/model/_packager/model_handlers/_utils.py +1 -1
  16. snowflake/ml/model/_packager/model_handlers/catboost.py +1 -1
  17. snowflake/ml/model/_packager/model_handlers/custom.py +3 -1
  18. snowflake/ml/model/_packager/model_handlers/lightgbm.py +2 -1
  19. snowflake/ml/model/_packager/model_handlers/sklearn.py +48 -1
  20. snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +1 -1
  21. snowflake/ml/model/_packager/model_handlers/tensorflow.py +23 -6
  22. snowflake/ml/model/_packager/model_handlers/torchscript.py +14 -14
  23. snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +2 -3
  24. snowflake/ml/model/_packager/model_meta/model_meta_schema.py +5 -0
  25. snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +2 -10
  26. snowflake/ml/model/_packager/model_runtime/model_runtime.py +4 -9
  27. snowflake/ml/model/_packager/model_task/model_task_utils.py +1 -1
  28. snowflake/ml/model/_signatures/core.py +63 -16
  29. snowflake/ml/model/_signatures/pandas_handler.py +71 -27
  30. snowflake/ml/model/_signatures/pytorch_handler.py +2 -2
  31. snowflake/ml/model/_signatures/snowpark_handler.py +2 -1
  32. snowflake/ml/model/_signatures/tensorflow_handler.py +2 -2
  33. snowflake/ml/model/_signatures/utils.py +4 -0
  34. snowflake/ml/model/model_signature.py +38 -9
  35. snowflake/ml/model/type_hints.py +1 -1
  36. snowflake/ml/modeling/lightgbm/lgbm_classifier.py +2 -4
  37. snowflake/ml/modeling/lightgbm/lgbm_regressor.py +2 -4
  38. snowflake/ml/monitoring/_client/model_monitor_sql_client.py +158 -1045
  39. snowflake/ml/monitoring/_manager/model_monitor_manager.py +106 -230
  40. snowflake/ml/monitoring/entities/model_monitor_config.py +10 -10
  41. snowflake/ml/monitoring/model_monitor.py +7 -96
  42. snowflake/ml/registry/registry.py +17 -29
  43. snowflake/ml/version.py +1 -1
  44. {snowflake_ml_python-1.7.0.dist-info → snowflake_ml_python-1.7.1.dist-info}/METADATA +31 -5
  45. {snowflake_ml_python-1.7.0.dist-info → snowflake_ml_python-1.7.1.dist-info}/RECORD +48 -47
  46. {snowflake_ml_python-1.7.0.dist-info → snowflake_ml_python-1.7.1.dist-info}/WHEEL +1 -1
  47. snowflake/ml/monitoring/entities/model_monitor_interval.py +0 -46
  48. {snowflake_ml_python-1.7.0.dist-info → snowflake_ml_python-1.7.1.dist-info}/LICENSE.txt +0 -0
  49. {snowflake_ml_python-1.7.0.dist-info → snowflake_ml_python-1.7.1.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,11 @@ from snowflake.snowpark import session
23
23
  _TELEMETRY_PROJECT = "MLOps"
24
24
  _MODEL_TELEMETRY_SUBPROJECT = "ModelManagement"
25
25
 
26
+ _MODEL_MONITORING_UNIMPLEMENTED_ERROR = "Model Monitoring is not implemented in python yet."
27
+ _MODEL_MONITORING_DISABLED_ERROR = (
28
+ """Must enable monitoring to use this method. Please set `options={"enable_monitoring": True}` in the Registry"""
29
+ )
30
+
26
31
 
27
32
  class Registry:
28
33
  def __init__(
@@ -84,7 +89,6 @@ class Registry:
84
89
  session=session,
85
90
  database_name=self._database_name,
86
91
  schema_name=self._schema_name,
87
- create_if_not_exists=True, # TODO: Support static setup method to configure schema for monitoring.
88
92
  statement_params=monitor_statement_params,
89
93
  )
90
94
 
@@ -381,34 +385,25 @@ class Registry:
381
385
  def add_monitor(
382
386
  self,
383
387
  name: str,
384
- table_config: model_monitor_config.ModelMonitorTableConfig,
388
+ source_config: model_monitor_config.ModelMonitorSourceConfig,
385
389
  model_monitor_config: model_monitor_config.ModelMonitorConfig,
386
- *,
387
- add_dashboard_udtfs: bool = False,
388
390
  ) -> model_monitor.ModelMonitor:
389
391
  """Add a Model Monitor to the Registry
390
392
 
391
393
  Args:
392
394
  name: Name of Model Monitor to create
393
- table_config: Configuration options of table for ModelMonitor.
395
+ source_config: Configuration options of table for ModelMonitor.
394
396
  model_monitor_config: Configuration options of ModelMonitor.
395
- add_dashboard_udtfs: Add UDTFs useful for creating a dashboard.
396
397
 
397
398
  Returns:
398
399
  The newly added ModelMonitor object.
399
400
 
400
401
  Raises:
401
- ValueError: If monitoring feature flag is not enabled.
402
+ ValueError: If monitoring is not enabled in the Registry.
402
403
  """
403
404
  if not self.enable_monitoring:
404
- raise ValueError(
405
- "Must enable monitoring in Registry to use this method. Please set the `enable_monitoring=True` option"
406
- )
407
-
408
- # TODO: Change to fully qualified source table reference to allow table to live in different DB.
409
- return self._model_monitor_manager.add_monitor(
410
- name, table_config, model_monitor_config, add_dashboard_udtfs=add_dashboard_udtfs
411
- )
405
+ raise ValueError(_MODEL_MONITORING_DISABLED_ERROR)
406
+ return self._model_monitor_manager.add_monitor(name, source_config, model_monitor_config)
412
407
 
413
408
  @overload
414
409
  def get_monitor(self, model_version: model_version_impl.ModelVersion) -> model_monitor.ModelMonitor:
@@ -446,17 +441,14 @@ class Registry:
446
441
  The fetched ModelMonitor.
447
442
 
448
443
  Raises:
449
- ValueError: If monitoring feature flag is not enabled.
450
- ValueError: If neither name nor model_version specified.
444
+ ValueError: If monitoring is not enabled in the Registry.
451
445
  """
452
446
  if not self.enable_monitoring:
453
- raise ValueError(
454
- "Must enable monitoring in Registry to use this method. Please set the `enable_monitoring=True` option"
455
- )
447
+ raise ValueError(_MODEL_MONITORING_DISABLED_ERROR)
456
448
  if name is not None:
457
449
  return self._model_monitor_manager.get_monitor(name=name)
458
450
  elif model_version is not None:
459
- return self._model_monitor_manager.get_monitor_by_model_version(model_version=model_version)
451
+ return self._model_monitor_manager.get_monitor_by_model_version(model_version)
460
452
  else:
461
453
  raise ValueError("Must provide either `name` or `model_version` to get ModelMonitor")
462
454
 
@@ -472,12 +464,10 @@ class Registry:
472
464
  List of snowpark.Row containing metadata for each model monitor.
473
465
 
474
466
  Raises:
475
- ValueError: If monitoring feature flag is not enabled.
467
+ ValueError: If monitoring is not enabled in the Registry.
476
468
  """
477
469
  if not self.enable_monitoring:
478
- raise ValueError(
479
- "Must enable monitoring in Registry to use this method. Please set the `enable_monitoring=True` option"
480
- )
470
+ raise ValueError(_MODEL_MONITORING_DISABLED_ERROR)
481
471
  return self._model_monitor_manager.show_model_monitors()
482
472
 
483
473
  @telemetry.send_api_usage_telemetry(
@@ -492,10 +482,8 @@ class Registry:
492
482
  name: Name of the Model Monitor to delete.
493
483
 
494
484
  Raises:
495
- ValueError: If monitoring feature flag is not enabled.
485
+ ValueError: If monitoring is not enabled in the registry.
496
486
  """
497
487
  if not self.enable_monitoring:
498
- raise ValueError(
499
- "Must enable monitoring in Registry to use this method. Please set the `enable_monitoring=True` option"
500
- )
488
+ raise ValueError(_MODEL_MONITORING_DISABLED_ERROR)
501
489
  self._model_monitor_manager.delete_monitor(name)
snowflake/ml/version.py CHANGED
@@ -1 +1 @@
1
- VERSION="1.7.0"
1
+ VERSION="1.7.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-ml-python
3
- Version: 1.7.0
3
+ Version: 1.7.1
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:
@@ -236,10 +236,11 @@ Requires-Dist: absl-py <2,>=0.15
236
236
  Requires-Dist: anyio <4,>=3.5.0
237
237
  Requires-Dist: cachetools <6,>=3.1.1
238
238
  Requires-Dist: cloudpickle >=2.0.0
239
+ Requires-Dist: cryptography
239
240
  Requires-Dist: fsspec[http] <2024,>=2022.11
240
241
  Requires-Dist: importlib-resources <7,>=6.1.1
241
242
  Requires-Dist: numpy <2,>=1.23
242
- Requires-Dist: packaging <24,>=20.9
243
+ Requires-Dist: packaging <25,>=20.9
243
244
  Requires-Dist: pandas <3,>=1.0.0
244
245
  Requires-Dist: pyarrow
245
246
  Requires-Dist: pytimeparse <2,>=1.1.8
@@ -255,7 +256,7 @@ Requires-Dist: typing-extensions <5,>=4.1.0
255
256
  Requires-Dist: xgboost <3,>=1.7.3
256
257
  Provides-Extra: all
257
258
  Requires-Dist: catboost <2,>=1.2.0 ; extra == 'all'
258
- Requires-Dist: lightgbm <5,>=3.3.5 ; extra == 'all'
259
+ Requires-Dist: lightgbm <5,>=4.1.0 ; extra == 'all'
259
260
  Requires-Dist: mlflow <2.4,>=2.1.0 ; extra == 'all'
260
261
  Requires-Dist: peft <1,>=0.5.0 ; extra == 'all'
261
262
  Requires-Dist: sentence-transformers <3,>=2.2.2 ; extra == 'all'
@@ -269,7 +270,7 @@ Requires-Dist: transformers <5,>=4.32.1 ; extra == 'all'
269
270
  Provides-Extra: catboost
270
271
  Requires-Dist: catboost <2,>=1.2.0 ; extra == 'catboost'
271
272
  Provides-Extra: lightgbm
272
- Requires-Dist: lightgbm <5,>=3.3.5 ; extra == 'lightgbm'
273
+ Requires-Dist: lightgbm <5,>=4.1.0 ; extra == 'lightgbm'
273
274
  Provides-Extra: llm
274
275
  Requires-Dist: peft <1,>=0.5.0 ; extra == 'llm'
275
276
  Provides-Extra: mlflow
@@ -372,7 +373,32 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
372
373
 
373
374
  # Release History
374
375
 
375
- ## 1.7.0
376
+ ## 1.7.1
377
+
378
+ ### Bug Fixes
379
+
380
+ - Registry: Null value is now allowed in the dataframe used in model signature inference. Null values will be ignored
381
+ and others will be used to infer the signature.
382
+ - Registry: Pandas Extension DTypes (`pandas.StringDType()`, `pandas.BooleanDType()`, etc.) are now supported in model
383
+ signature inference.
384
+ - Registry: Null value is now allowed in the dataframe used to predict.
385
+ - Data: Fix missing `snowflake.ml.data.*` module exports in wheel
386
+ - Dataset: Fix missing `snowflake.ml.dataset.*` module exports in wheel.
387
+ - Registry: Fix the issue that `tf_keras.Model` is not recognized as keras model when logging.
388
+
389
+ ### Behavior Changes
390
+
391
+ ### New Features
392
+
393
+ - Registry: Option to `enable_monitoring` set to False by default. This will gate access to preview features of Model Monitoring.
394
+ - Model Monitoring: `show_model_monitors` Registry method. This feature is still in Private Preview.
395
+ - Registry: Support `pd.Series` in input and output data.
396
+ - Model Monitoring: `add_monitor` Registry method. This feature is still in Private Preview.
397
+ - Model Monitoring: `resume` and `suspend` ModelMonitor. This feature is still in Private Preview.
398
+ - Model Monitoring: `get_monitor` Registry method. This feature is still in Private Preview.
399
+ - Model Monitoring: `delete_monitor` Registry method. This feature is still in Private Preview.
400
+
401
+ ## 1.7.0 (10-22-2024)
376
402
 
377
403
  ### Behavior Change
378
404
 
@@ -1,22 +1,23 @@
1
- snowflake/cortex/__init__.py,sha256=LjSOnx-dbbLaPREJnEDYMPSTeitdn2CNpUUrR9ro-DY,636
1
+ snowflake/cortex/__init__.py,sha256=IZra16r_FeqcwdtCUE8Lj0gIsTDq7VGlux8xDnnq42U,770
2
2
  snowflake/cortex/_classify_text.py,sha256=1SnEdAnQ1IbCKp1bUvQSW7zhGtcS_8qk34X1sVQL37U,1338
3
- snowflake/cortex/_complete.py,sha256=UD9WB9w7VIpEfXu0iylYfcnmBxNScTZdLBbdA4Y3O64,11309
3
+ snowflake/cortex/_complete.py,sha256=AvE5pNQ8hmWAHUHh8K8NCZLSh_UutrTOD7iQi85-m20,13053
4
4
  snowflake/cortex/_embed_text_1024.py,sha256=zQp2F3MTAxacnIJo7zu8OHkXmX-xi8YzoUcs_FM48uo,1381
5
5
  snowflake/cortex/_embed_text_768.py,sha256=lTus5A1zehbzX4FV6IYZ8bl66QoxUiC_ZilYeBLdLOE,1377
6
6
  snowflake/cortex/_extract_answer.py,sha256=hmJG0iVEe_ww-ll9XEtIL_xPOiNitycUkXBI6WwgfzA,1342
7
+ snowflake/cortex/_finetune.py,sha256=V-cb1M-TDurjO-F25E1CwviXp2r-QCcu6NjsVE6icOg,10952
7
8
  snowflake/cortex/_sentiment.py,sha256=6_RfOKpwoH0k1puvMaj2TP-0RHQvbkLqrorFvmhdx3E,1206
8
- snowflake/cortex/_sse_client.py,sha256=_GGmxskEQPVJ2bE3LHySnPFl29CP4YGM4_xmR_Kk-WA,2485
9
+ snowflake/cortex/_sse_client.py,sha256=sLYgqAfTOPADCnaWH2RWAJi8KbU_7gSRsTUDcDD5Tl8,5239
9
10
  snowflake/cortex/_summarize.py,sha256=bwpFBzBGmNQSoJqKs3IB5wASjAREnC5ZnViSuZK5IrU,1059
10
11
  snowflake/cortex/_translate.py,sha256=69YUps6mnhzVdubdU_H0IfUAlbBwF9OPemFEQ34P-ts,1404
11
- snowflake/cortex/_util.py,sha256=uZQNsG8uTrlsao0a3A_BtNJQw6xCGgWjXscgZf9beUs,2209
12
- snowflake/ml/version.py,sha256=3BlKlH_13PScPdkvTQUJcDra8sVjrXpEv9289UFsNNI,16
12
+ snowflake/cortex/_util.py,sha256=cwRGgrcUo3E05ZaIDT9436vXLQ7GfuBVAjR0QeQ2bDE,3320
13
+ snowflake/ml/version.py,sha256=QyWKL6Zvq-VDoZgBZ32iGHIzxeVh0z4fIKkiZHSX7t4,16
13
14
  snowflake/ml/_internal/env.py,sha256=kCrJTRnqQ97VGUVI1cWUPD8HuBWeL5vOOtwUR0NB9Mg,161
14
15
  snowflake/ml/_internal/env_utils.py,sha256=J_jitp8jvDoC3a79EbMSDatFRYw-HiXaI9vR81bhtU8,28075
15
16
  snowflake/ml/_internal/file_utils.py,sha256=OyXHv-UcItiip1YgLnab6etonUQkYuyDtmplZA0CaoU,13622
16
17
  snowflake/ml/_internal/init_utils.py,sha256=U-oPOtyVf22hCwDH_CH2uDr9yuN6Mr3kwQ_yRAs1mcM,2696
17
18
  snowflake/ml/_internal/migrator_utils.py,sha256=k3erO8x3YJcX6nkKeyJAUNGg1qjE3RFmD-W6dtLzIH0,161
18
19
  snowflake/ml/_internal/telemetry.py,sha256=xgpJtUgKNZXrhf9u4G-0IBoSX7QXB5goLC5sHETiJHc,29850
19
- snowflake/ml/_internal/type_utils.py,sha256=0AjimiQoAPHGnpLV_zCR6vlMR5lJ8CkZkKFwiUHYDCo,2168
20
+ snowflake/ml/_internal/type_utils.py,sha256=x0sm7lhpDyjdA1G7KvJb06z4PEGsogWiMwFrskPTWkA,2197
20
21
  snowflake/ml/_internal/exceptions/dataset_error_messages.py,sha256=h7uGJbxBM6se-TW_64LKGGGdBCbwflzbBnmijWKX3Gc,285
21
22
  snowflake/ml/_internal/exceptions/dataset_errors.py,sha256=TqESe8cDfWurJdv5X0DOwgzBfHCEqga_F3WQipYbdqg,741
22
23
  snowflake/ml/_internal/exceptions/error_codes.py,sha256=S1N9TvjKlAl3GppkcS8y8xnsOzD2b9kOHeLqWhJV0uk,5519
@@ -46,6 +47,7 @@ snowflake/ml/_internal/utils/snowpark_dataframe_utils.py,sha256=pV8m0d4xfG2_Cl25
46
47
  snowflake/ml/_internal/utils/sql_identifier.py,sha256=A5mfeDuz4z6VuUYG3EBpDyQQQCNiRtjVS1WNWAoiqq8,4682
47
48
  snowflake/ml/_internal/utils/table_manager.py,sha256=pU7v8Cx-jGObf6RtTmfCmALfhbpJD-lL45T1gWX1nSY,4982
48
49
  snowflake/ml/_internal/utils/temp_file_utils.py,sha256=0-HTjXdxVt0kE6XcgyvRvY0btflWlmotP2bMXVpFJPA,1553
50
+ snowflake/ml/data/__init__.py,sha256=vTUXLV3r8CoPkepoEzj5HSpKiaHH4MrthXb9RyclVto,275
49
51
  snowflake/ml/data/data_connector.py,sha256=iOOEkRsy11acWZZnLJj6EDgLM63Q8GY-1htO0l7m9Wo,8711
50
52
  snowflake/ml/data/data_ingestor.py,sha256=Nrj5l0cVnoXWI6Ilig-r_pGS902xkZATbqh3OsV53NI,1017
51
53
  snowflake/ml/data/data_source.py,sha256=dRemXGi_HHQdn6gaNkxxGJixnQPuUYFDP8NBjmB_ZMk,518
@@ -96,66 +98,66 @@ snowflake/ml/lineage/__init__.py,sha256=8p1YGynC-qOxAZ8jZX2z84Reg5bv1NoJMoJmNJCr
96
98
  snowflake/ml/lineage/lineage_node.py,sha256=e6L4bdYDSVgTv0BEfqgPQWNoDiTiuI7HmfJ6n-WmNLE,5812
97
99
  snowflake/ml/model/__init__.py,sha256=EvPtblqPN6_T6dyVfaYUxCfo_M7D2CQ1OR5giIH4TsQ,314
98
100
  snowflake/ml/model/custom_model.py,sha256=O60mjz2Vy8A0Rt3obq43zBT3BxkU7CIcN0AkHsOgHZI,11221
99
- snowflake/ml/model/model_signature.py,sha256=c_e8NycPslxxOaQPIUDxJ2HPyLk_64IZe_YkrDkmjpg,29588
100
- snowflake/ml/model/type_hints.py,sha256=ahAZQvpt9tip69zwcPSzvnjy5pJv_LWruN6ZAautu9k,8912
101
+ snowflake/ml/model/model_signature.py,sha256=gZnZPs9zTCYkeFoiQzoGUQYZMydYjzH-4xPTzfqt4hU,30496
102
+ snowflake/ml/model/type_hints.py,sha256=9GPwEuG6B6GSWOXdOy8B1Swz6yDngL865yEtJMd0v1U,8883
101
103
  snowflake/ml/model/_client/model/model_impl.py,sha256=pqjK8mSZIQJ_30tRWWFPIo8X35InSVoAunXlQNtSJEM,15369
102
- snowflake/ml/model/_client/model/model_version_impl.py,sha256=cZNsiQmV3vd0jka9VRLSCGI5eNzW5GGF71YVCyyWxVQ,39038
104
+ snowflake/ml/model/_client/model/model_version_impl.py,sha256=PTVqTkNm1adHUjTTWsUlnTSPiMQV-PZLEaj9UstICqk,39076
103
105
  snowflake/ml/model/_client/ops/metadata_ops.py,sha256=7cGx8zYzye2_cvZnyGxoukPtT6Q-Kexd-s4yeZmpmj8,4890
104
- snowflake/ml/model/_client/ops/model_ops.py,sha256=-PfOpjaOBh7UmAvgg3c3fLGNX_zwDpi9QFu0FJhJHLk,42705
105
- snowflake/ml/model/_client/ops/service_ops.py,sha256=KPaceF1kesP0Fq2Nf0MxnYiZFEQMDG9bovHOD8dvHTE,18458
106
+ snowflake/ml/model/_client/ops/model_ops.py,sha256=didFBsjb7KJYV_586TUK4c9DudVQvjzlphEXJW0AnmY,43935
107
+ snowflake/ml/model/_client/ops/service_ops.py,sha256=LLvRqBBwyJsjNfphN_VdH8O1aQEPNf97Wmco5dfLUN0,19093
106
108
  snowflake/ml/model/_client/service/model_deployment_spec.py,sha256=uyh5k_u8mVP5T4lf0jq8s2cFuiTsbV_nJL6z1Zum2rM,4456
107
109
  snowflake/ml/model/_client/service/model_deployment_spec_schema.py,sha256=eaulF6OFNuDfQz3oPYlDjP26Ww2jWWatm81dCbg602E,825
108
110
  snowflake/ml/model/_client/sql/_base.py,sha256=Qrm8M92g3MHb-QnSLUlbd8iVKCRxLhG_zr5M2qmXwJ8,1473
109
- snowflake/ml/model/_client/sql/model.py,sha256=ETWd3OVv1f8CJ-6xFYGJ7fSG9Uw4Edn9fWqW8YAPtPA,6264
111
+ snowflake/ml/model/_client/sql/model.py,sha256=o36oPq4aU9TwahqY2uODYvICxmj1orLztijJ0yMbWnM,5852
110
112
  snowflake/ml/model/_client/sql/model_version.py,sha256=hNMlmwN5JQngKuaeUYV2Bli73RMnHmVH01ABX9NBHFk,20686
111
- snowflake/ml/model/_client/sql/service.py,sha256=puIGRkEtDTQ4J1ccUslMmWvfkbHv2omKho4OHKYVIjU,9339
113
+ snowflake/ml/model/_client/sql/service.py,sha256=fvQRhRGU4FBeOBouIoQByTvfQg-qbEQKplCG99BPmL0,10408
112
114
  snowflake/ml/model/_client/sql/stage.py,sha256=hrCh9P9F4l5R0hLr2r-wLDIEc4XYHMFdX1wNRveMVt0,819
113
115
  snowflake/ml/model/_client/sql/tag.py,sha256=pwwrcyPtSnkUfDzL3M8kqM0KSx7CaTtgty3HDhVC9vg,4345
114
116
  snowflake/ml/model/_model_composer/model_composer.py,sha256=535ElL3Kw8eoUjL7fHd-K20eDCBqvJFwowUx2_UOCl8,6712
115
117
  snowflake/ml/model/_model_composer/model_manifest/model_manifest.py,sha256=X6-cKLBZ1X2liIjWnyrd9efQaQhwIoxRSE90Zs0kAZo,7822
116
118
  snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py,sha256=akDY_lM3srumPHjmL7AUl782eARg1rWTIdLu-U0Jjwc,2720
117
119
  snowflake/ml/model/_model_composer/model_method/function_generator.py,sha256=2cE463GKWAJCrqEYD1s8IPzd3iPu0X0eQ12NnXQhGBM,2556
118
- snowflake/ml/model/_model_composer/model_method/infer_function.py_template,sha256=eQ-FLUGt5r0P9UtDwWFoqSJzGeLBvwEMoHAbe8aCNsE,1418
120
+ snowflake/ml/model/_model_composer/model_method/infer_function.py_template,sha256=JbCgx__GqkHi6n_ceYdZi_ywNKK38u-d5c5Afg9QUi0,1476
119
121
  snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template,sha256=L5R04QeoW6dH1PdEy3qo1LS478rTmvvRmrwlgqVwimg,1504
120
122
  snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template,sha256=NUDSyFFAdEZEWtSkvYxkU9vB-NTjcTg6sjkrNpcmF6A,1418
121
123
  snowflake/ml/model/_model_composer/model_method/model_method.py,sha256=LBZsXzkGj-OiL9Tw4S0yBJlWLIzwzefCL6iO964gdCw,7019
122
124
  snowflake/ml/model/_packager/model_handler.py,sha256=wMPGOegXx5GgiSA81gbKpfODosdj2mvD1bFbeN4OmNc,2642
123
125
  snowflake/ml/model/_packager/model_packager.py,sha256=EhpEmfd2oDYuIrOYFOadI0OOFJa9bleMvI1WTHQqjE8,5806
124
- snowflake/ml/model/_packager/model_env/model_env.py,sha256=uUTbCHFTJJ6iMbhu7LkU3PFNB4VohbEFlBMLd1ZDyS8,17008
126
+ snowflake/ml/model/_packager/model_env/model_env.py,sha256=968vlQJrI2_2rQ88cl3uXe1FP5kG-zG4UkUySRDgFt4,17517
125
127
  snowflake/ml/model/_packager/model_handlers/_base.py,sha256=qQS1ZSz1Ikdj0TvyLU9n8K6KAj-PknL4s801qpnWodo,7164
126
- snowflake/ml/model/_packager/model_handlers/_utils.py,sha256=CE6nUMrxxP7IE7gLDsKY9SPEqg0KEvSWgRFgb069P4A,9236
127
- snowflake/ml/model/_packager/model_handlers/catboost.py,sha256=Cid5hTsGJDaEQfIlSPqNKPB0HbJByOe85ZkUwn3M56M,10651
128
- snowflake/ml/model/_packager/model_handlers/custom.py,sha256=I2seoMoVLOjnf7_tbqTe54BbbjUJ9lHSKuAaSst4z-Q,8193
128
+ snowflake/ml/model/_packager/model_handlers/_utils.py,sha256=KwBZVSlp6HcCXd7T_zJJE8s5W9YGeXAD_kTpKhrLVzE,9209
129
+ snowflake/ml/model/_packager/model_handlers/catboost.py,sha256=psBv5txOfAjKMqQnxg3sLPd1I7JYtruslbGUkhULtTs,10704
130
+ snowflake/ml/model/_packager/model_handlers/custom.py,sha256=i9jhMzNrgxEdiJLw9ojeiMaCWYk5nVj48JyS_e87RpM,8333
129
131
  snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py,sha256=BzeZgY4Z8GTtgc2sv65wjLlONgfEH1_yWBd2N4RDCMg,21397
130
- snowflake/ml/model/_packager/model_handlers/lightgbm.py,sha256=kviHpVlBVon1dRjAD7jDhE331-QiQYSxxWo3ukzTSgo,10999
132
+ snowflake/ml/model/_packager/model_handlers/lightgbm.py,sha256=E0667G5FFfMssaXjkM77vtf_cyQJg53OKgUJOBmWhaQ,11092
131
133
  snowflake/ml/model/_packager/model_handlers/mlflow.py,sha256=A3HnCa065jtHsRM40ZxfLv5alk0RYhVmsU4Jt2klRwQ,9189
132
134
  snowflake/ml/model/_packager/model_handlers/pytorch.py,sha256=DDcf85xisPLT1PyXdmPrjJpIIepkdmWNXCOpT_dCncw,8294
133
135
  snowflake/ml/model/_packager/model_handlers/sentence_transformers.py,sha256=f21fJw2wPsXzzhv71Gi1eHctSlyJ6NAR1EQX5iUL5M8,9842
134
- snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=Iq8r6EcP7001PF4Vf-frmUBNtOSs-Lrzana7QsxIafY,11654
135
- snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=dd2rEcaFbGfMatCnfP0DGwgRbERgO5gHm_jy_FXuIQc,12123
136
- snowflake/ml/model/_packager/model_handlers/tensorflow.py,sha256=OhqC4GcmDDz4IOgDITLnG7KFY3zVtzOJX3wAtLv0bI0,8448
137
- snowflake/ml/model/_packager/model_handlers/torchscript.py,sha256=IvNL1Fqksfp7nAcXIgOMkzPy8kEylrS-xHWu0dkRLDY,8412
136
+ snowflake/ml/model/_packager/model_handlers/sklearn.py,sha256=UbtqgOztM9racr_N-SPRymEpUwhZGKov5iv6dcbINy8,13995
137
+ snowflake/ml/model/_packager/model_handlers/snowmlmodel.py,sha256=uhsJ3zK24aavBRO5gNyxv8BHqU9n1TPUBYm1qHTuaxE,12176
138
+ snowflake/ml/model/_packager/model_handlers/tensorflow.py,sha256=SkbnvkElK4UIMgygv9EK9f5hBxWZ2YDroymUC9uBsBk,9169
139
+ snowflake/ml/model/_packager/model_handlers/torchscript.py,sha256=BIdRINO1xZ5uHrR9uA0vExWQymOryTaSpyAMpCCtz8U,8036
138
140
  snowflake/ml/model/_packager/model_handlers/xgboost.py,sha256=iQkwJ_Ksly3ZSNNjnW2pRetjpyLLneDT5QaeHrpidnw,11542
139
141
  snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py,sha256=BZo14UrywGZM1kTqzN4VFQcYjl7dggDp1U90ZBCMuOg,1409
140
- snowflake/ml/model/_packager/model_meta/_packaging_requirements.py,sha256=TfJNtrfyZoNiJZYFfmTbmiWMlXKM-QxkOBIJVFvPit0,44
142
+ snowflake/ml/model/_packager/model_meta/_packaging_requirements.py,sha256=yOrF0WBkFh5NvyzZMSZHpsv_W1iR5hRpPH1bwzpSH_Q,78
141
143
  snowflake/ml/model/_packager/model_meta/model_blob_meta.py,sha256=GmiqqI-XVjrOX7cSa5GKerKhfHptlsg74MKqTGwJ5Jk,1949
142
144
  snowflake/ml/model/_packager/model_meta/model_meta.py,sha256=Fn0yrMiTRmp2lgy15DJvIeT_PMOu_ACNO37b9o4_q2Q,18787
143
- snowflake/ml/model/_packager/model_meta/model_meta_schema.py,sha256=5tl1W9rDDYkDIkVx4DuiIkGn5K9-zzcJqO9rRjC0Vio,2714
145
+ snowflake/ml/model/_packager/model_meta/model_meta_schema.py,sha256=5Sdh1_NCKycLvhMO1IbLyXdl4RO_vnw9Z9-AHf5ojpE,2839
144
146
  snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py,sha256=SORlqpPbOeBg6dvJ3DidHeLVi0w9YF0Zv4tC0Kbc20g,1311
145
147
  snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py,sha256=nf6PWDH_gvX_OiS4A-G6BzyCLFEG4dASU0t5JTsijM4,1041
146
148
  snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py,sha256=qEPzdCw_FzExMbPuyFHupeWlYD88yejLdcmkPwjJzDk,2070
147
- snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py,sha256=fRPGbrnq67PRo3e_uVk01TKZ7AZKYM-_lryePkNk5AY,239
148
- snowflake/ml/model/_packager/model_runtime/model_runtime.py,sha256=9wOtBB1A2Spnsgfs5CjCoLR3oL5JAUnSG-qP0C5DR1Q,5147
149
- snowflake/ml/model/_packager/model_task/model_task_utils.py,sha256=KSqD71XbwDXAkLpbekhbRjgZKP8ycZ_hp14mJFAO1pY,6282
149
+ snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py,sha256=5YHbTmgPdURGQDZwzmC7mlYSl8q_e7hzHJ-JyMXgDFY,1419
150
+ snowflake/ml/model/_packager/model_runtime/model_runtime.py,sha256=G52nrjzcZiWBJaed6Z1qKq-HjqtnG2MnywDdU9lPusg,5051
151
+ snowflake/ml/model/_packager/model_task/model_task_utils.py,sha256=0aEUfg71bP5-RkwmzOJBe51yHxLRrtM17tUBoCiuMMk,6310
150
152
  snowflake/ml/model/_signatures/base_handler.py,sha256=WwBfe-83Y0m-HcDx1YSYCGwanIe0fb2MWhTeXc1IeJI,1304
151
153
  snowflake/ml/model/_signatures/builtins_handler.py,sha256=nF-2ptQjeu7ikO72_d14jk1N6BVbmy-mjtZ9I1c7-Qg,2741
152
- snowflake/ml/model/_signatures/core.py,sha256=xj4QwfVixzpUjVMfN1-d2l8LMi7b6qH7QvnvD3oMxSw,18480
154
+ snowflake/ml/model/_signatures/core.py,sha256=C9iTtdaXJVMDkOqCH5Tie7ucib4d0pBJ0oXJWAqur3s,20233
153
155
  snowflake/ml/model/_signatures/numpy_handler.py,sha256=wE9GNuNNmC-0jLmz8lI_UhyETNkKUvftIABAuNsSe94,5858
154
- snowflake/ml/model/_signatures/pandas_handler.py,sha256=yRemJX7cZjKJ3pBDgiaHht3WN4Hs-C4OLOxW16gP9P0,9266
155
- snowflake/ml/model/_signatures/pytorch_handler.py,sha256=rF5StgnAo9qtFs9Rvb5SQVhneJf7ZDgfDD5vJsL0Ivk,4599
156
- snowflake/ml/model/_signatures/snowpark_handler.py,sha256=EwJyBsLrLKrBL0ctDK_yuoPm49nTavbh3EXOniWwCVE,5977
157
- snowflake/ml/model/_signatures/tensorflow_handler.py,sha256=VZcws6svwupulhDodRYTn6GmlWZRqY9fW_gLkT8slxA,6082
158
- snowflake/ml/model/_signatures/utils.py,sha256=lBEAqgiTzFitL5EKSmVhKtHtLSYbwo8yGyTACaXWACQ,12976
156
+ snowflake/ml/model/_signatures/pandas_handler.py,sha256=ACv8egyiK2Sug8uhkQqMDGTTc9HPkI3-UZYMUxzSjLg,11145
157
+ snowflake/ml/model/_signatures/pytorch_handler.py,sha256=yEU-V_WRjE8Q7NdHyghl0iYpMiIDzGaIR5Pd_ixB1Hk,4631
158
+ snowflake/ml/model/_signatures/snowpark_handler.py,sha256=2_AY1ssucMICKSPeDjf3mV4WT5farKYdnYkHsvhHZ20,6066
159
+ snowflake/ml/model/_signatures/tensorflow_handler.py,sha256=9bUbxtHpl4kEoFzeDJF87bQPb8RdLLm9OV23-aUyW3s,6114
160
+ snowflake/ml/model/_signatures/utils.py,sha256=-RuAFPJn8JHh8QUMLAgMbgpuDvNLI6gVDeLf-lvUBxQ,13109
159
161
  snowflake/ml/model/models/huggingface_pipeline.py,sha256=62GpPZxBheqCnFNxNOggiDE1y9Dhst-v6D4IkGLuDeQ,10221
160
162
  snowflake/ml/modeling/_internal/constants.py,sha256=aJGngY599w3KqN8cDZCYrjbWe6UwYIbgv0gx0Ukdtc0,105
161
163
  snowflake/ml/modeling/_internal/estimator_utils.py,sha256=mbMm8_5tQde_sQDwI8pS3ljHZ8maCHl2Shb5nQwLYac,11872
@@ -260,8 +262,8 @@ snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py,sha256=uFOYWOH
260
262
  snowflake/ml/modeling/kernel_ridge/__init__.py,sha256=rY5qSOkHj59bHiTV6LhBiEhUA0StoCb0ACNR2vkV4v0,297
261
263
  snowflake/ml/modeling/kernel_ridge/kernel_ridge.py,sha256=OHjaB-MgZvuYFtQawAC1e5rWw98n2n4jpubjdDxoa6w,52067
262
264
  snowflake/ml/modeling/lightgbm/__init__.py,sha256=rY5qSOkHj59bHiTV6LhBiEhUA0StoCb0ACNR2vkV4v0,297
263
- snowflake/ml/modeling/lightgbm/lgbm_classifier.py,sha256=u6VzvMlONA__b6hXqHEd0wekl355SbXxr1z0J6CtXHA,51635
264
- snowflake/ml/modeling/lightgbm/lgbm_regressor.py,sha256=NoRt4FFkTF4E5eKFYOYhGFkATlB3XnxPwIBRwjo-3wU,51137
265
+ snowflake/ml/modeling/lightgbm/lgbm_classifier.py,sha256=7Sv6ovpKWEVX9tgo9YgPIRPqHmZ9752PacHzpw8YJpo,51570
266
+ snowflake/ml/modeling/lightgbm/lgbm_regressor.py,sha256=V0EBtok8jgxDlkCR4M8lg2CW_UOVXmMS7AqOH8LNLEY,51072
265
267
  snowflake/ml/modeling/linear_model/__init__.py,sha256=rY5qSOkHj59bHiTV6LhBiEhUA0StoCb0ACNR2vkV4v0,297
266
268
  snowflake/ml/modeling/linear_model/ard_regression.py,sha256=DEX9-MxB9zuw2kdNZM8fjoUHBwRtmoIxeV6zzDvHIm0,51827
267
269
  snowflake/ml/modeling/linear_model/bayesian_ridge.py,sha256=gc8wvc6ewNnA4L0pSRMgI_we8AN-tNl6FxGgb37xArk,52197
@@ -377,24 +379,23 @@ snowflake/ml/modeling/xgboost/xgb_classifier.py,sha256=2QEK6-NihXjKXO8Ue-fOZDyuc
377
379
  snowflake/ml/modeling/xgboost/xgb_regressor.py,sha256=ZorEmRohT2-AUdS8fK0xH8BdB8ENxvVMMDYy34Jzm1o,61703
378
380
  snowflake/ml/modeling/xgboost/xgbrf_classifier.py,sha256=67jh9RosrTeYCWsJbnJ6_MQICHeG22z-DMy8CegP8Vg,62383
379
381
  snowflake/ml/modeling/xgboost/xgbrf_regressor.py,sha256=7_ZwF_QvVqBrkFx_zgGgLXyxtbX26XrWWLozAF-EBB0,61908
380
- snowflake/ml/monitoring/model_monitor.py,sha256=C43rXGzbJb5gwkLsFg8hfICgLaufKJDFcRs35ipQRns,5387
382
+ snowflake/ml/monitoring/model_monitor.py,sha256=p8FWMpr9O8ScL_y6wdrMUstlpA43gJ0Qiv2e8w-ADts,1374
381
383
  snowflake/ml/monitoring/model_monitor_version.py,sha256=TlmDJZDE0lCVatRaBRgXIjzDF538nrMIc-zWj9MM_nk,46
382
384
  snowflake/ml/monitoring/shap.py,sha256=Dp9nYquPEZjxMTW62YYA9g9qUdmCEFxcSk7ejvOP7PE,3597
383
- snowflake/ml/monitoring/_client/model_monitor_sql_client.py,sha256=6tx7qoH6yMLiccDk00Ln4KHIiuvGTQsLYfxemGqN_WY,57962
385
+ snowflake/ml/monitoring/_client/model_monitor_sql_client.py,sha256=EH2jTz6ctNxfXbOMGVbQTAgikUig5YmvSsX93cd9ZF8,20194
384
386
  snowflake/ml/monitoring/_client/queries/record_count.ssql,sha256=Bd1uNMwhPKqPyrDd5ug8iY493t9KamJjrlo82OAfmjY,335
385
387
  snowflake/ml/monitoring/_client/queries/rmse.ssql,sha256=OEJiSStRz9-qKoZaFvmubtY_n0xMUjyVU2uiQHCp7KU,822
386
- snowflake/ml/monitoring/_manager/model_monitor_manager.py,sha256=dunte0Tyo17Dxt6hvTI3l6O9PXgryxAfGBgy8AIIoAw,17417
387
- snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=rOKG9JirzptIaVFG9rCjjNdc1_eCzGTdjiAcrNSmxjU,867
388
- snowflake/ml/monitoring/entities/model_monitor_interval.py,sha256=yDUaAXmYRQEFGW9rXihrEs5p0Ur94LCnoqKBjqi0Cyk,1681
388
+ snowflake/ml/monitoring/_manager/model_monitor_manager.py,sha256=gT3aYZsjD5wIRLdbe7fyyb5vICIxw9WWsK7H0hxbz9E,10314
389
+ snowflake/ml/monitoring/entities/model_monitor_config.py,sha256=wvk0v9-VvhFAaNdpYXSqKdWj2Kx-KGjuWVkaCgL4MUc,825
389
390
  snowflake/ml/monitoring/entities/output_score_type.py,sha256=UJyS4z5hncRZ0agVNa6_X041RY9q3Us-6Bh3dPVAmEw,2982
390
391
  snowflake/ml/registry/__init__.py,sha256=XdPQK9ejYkSJVrSQ7HD3jKQO0hKq2mC4bPCB6qrtH3U,76
391
- snowflake/ml/registry/registry.py,sha256=ppEnhweTvBzA68NO3IE95kJy9RMGuBJHfz6rvgswqR8,24428
392
+ snowflake/ml/registry/registry.py,sha256=_G6Sm4Zi67iJJ3RUwz2XNYszPnrOtYF5bK8KeGtjubM,23793
392
393
  snowflake/ml/registry/_manager/model_manager.py,sha256=gFr1EqaMR2Eb4erwVz7fi7xK1G1YsFXz1PF5GvOR0pg,12131
393
394
  snowflake/ml/utils/connection_params.py,sha256=JRpQppuWRk6bhdLzVDhMfz3Y6yInobFNLHmIBaXD7po,8005
394
395
  snowflake/ml/utils/sparse.py,sha256=XqDQkw39Ml6YIknswdkvFIwUwBk_GBXAbP8IACfPENg,3817
395
396
  snowflake/ml/utils/sql_client.py,sha256=z4Rhi7pQz3s9cyu_Uzfr3deCnrkCdFh9IYIvicsuwdc,692
396
- snowflake_ml_python-1.7.0.dist-info/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
397
- snowflake_ml_python-1.7.0.dist-info/METADATA,sha256=e7xopfWC3OKJpcZ57-PYr02ie8Eop4eLmKDhbGfQJ_s,64150
398
- snowflake_ml_python-1.7.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
399
- snowflake_ml_python-1.7.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
400
- snowflake_ml_python-1.7.0.dist-info/RECORD,,
397
+ snowflake_ml_python-1.7.1.dist-info/LICENSE.txt,sha256=PdEp56Av5m3_kl21iFkVTX_EbHJKFGEdmYeIO1pL_Yk,11365
398
+ snowflake_ml_python-1.7.1.dist-info/METADATA,sha256=s1vUDI47E0APJr53Bs6qTDV-fWFk3gLkW9yImkzM960,65547
399
+ snowflake_ml_python-1.7.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
400
+ snowflake_ml_python-1.7.1.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
401
+ snowflake_ml_python-1.7.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,46 +0,0 @@
1
- from enum import Enum
2
-
3
-
4
- class ModelMonitorAggregationWindow(Enum):
5
- WINDOW_1_HOUR = 60
6
- WINDOW_1_DAY = 24 * 60
7
-
8
- def __init__(self, minutes: int) -> None:
9
- super().__init__()
10
- self.minutes = minutes
11
-
12
-
13
- class ModelMonitorRefreshInterval:
14
- EVERY_30_MINUTES = "30 minutes"
15
- HOURLY = "1 hours"
16
- EVERY_6_HOURS = "6 hours"
17
- EVERY_12_HOURS = "12 hours"
18
- DAILY = "1 days"
19
- WEEKLY = "7 days"
20
- BIWEEKLY = "14 days"
21
- MONTHLY = "30 days"
22
-
23
- _ALLOWED_TIME_UNITS = {"minutes": 1, "hours": 60, "days": 24 * 60}
24
-
25
- def __init__(self, raw_time_str: str) -> None:
26
- try:
27
- num_units_raw, time_units = raw_time_str.strip().split(" ")
28
- num_units = int(num_units_raw) # try to cast
29
- except Exception as e:
30
- raise ValueError(
31
- f"""Failed to parse refresh interval with exception {e}.
32
- Provide '<num> <minutes | hours | days>'.
33
- See https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table#required-parameters for more info."""
34
- )
35
- if time_units.lower() not in self._ALLOWED_TIME_UNITS:
36
- raise ValueError(
37
- """Invalid time unit in refresh interval. Provide '<num> <minutes | hours | days>'.
38
- See https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table#required-parameters for more info."""
39
- )
40
- minutes_multiplier = self._ALLOWED_TIME_UNITS[time_units.lower()]
41
- self.minutes = num_units * minutes_multiplier
42
-
43
- def __eq__(self, value: object) -> bool:
44
- if not isinstance(value, ModelMonitorRefreshInterval):
45
- return False
46
- return self.minutes == value.minutes