snowflake-ml-python 1.7.1__tar.gz → 1.7.2__tar.gz

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 (413) hide show
  1. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/CHANGELOG.md +15 -1
  2. {snowflake_ml_python-1.7.1/snowflake_ml_python.egg-info → snowflake_ml_python-1.7.2}/PKG-INFO +46 -8
  3. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/README.md +29 -6
  4. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/pyproject.toml +1 -1
  5. snowflake_ml_python-1.7.2/snowflake/ml/_internal/utils/jwt_generator.py +141 -0
  6. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/model/model_version_impl.py +19 -5
  7. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/service_ops.py +12 -7
  8. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/stage.py +1 -1
  9. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/sklearn.py +2 -0
  10. snowflake_ml_python-1.7.2/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +2 -0
  11. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/utils.py +0 -1
  12. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +1 -166
  13. snowflake_ml_python-1.7.2/snowflake/ml/monitoring/entities/model_monitor_config.py +54 -0
  14. snowflake_ml_python-1.7.2/snowflake/ml/monitoring/model_monitor.py +52 -0
  15. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/registry.py +12 -12
  16. snowflake_ml_python-1.7.2/snowflake/ml/utils/authentication.py +75 -0
  17. snowflake_ml_python-1.7.2/snowflake/ml/version.py +1 -0
  18. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2/snowflake_ml_python.egg-info}/PKG-INFO +46 -8
  19. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/SOURCES.txt +2 -1
  20. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/requires.txt +1 -0
  21. snowflake_ml_python-1.7.1/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -2
  22. snowflake_ml_python-1.7.1/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -28
  23. snowflake_ml_python-1.7.1/snowflake/ml/monitoring/entities/output_score_type.py +0 -90
  24. snowflake_ml_python-1.7.1/snowflake/ml/monitoring/model_monitor.py +0 -37
  25. snowflake_ml_python-1.7.1/snowflake/ml/version.py +0 -1
  26. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/LICENSE.txt +0 -0
  27. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/setup.cfg +0 -0
  28. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/__init__.py +0 -0
  29. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_classify_text.py +0 -0
  30. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_complete.py +0 -0
  31. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_embed_text_1024.py +0 -0
  32. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_embed_text_768.py +0 -0
  33. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_extract_answer.py +0 -0
  34. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_finetune.py +0 -0
  35. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_sentiment.py +0 -0
  36. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_sse_client.py +0 -0
  37. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_summarize.py +0 -0
  38. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_translate.py +0 -0
  39. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_util.py +0 -0
  40. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/env.py +0 -0
  41. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/env_utils.py +0 -0
  42. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  43. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  44. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  45. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  46. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  47. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  48. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  49. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  50. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  51. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/file_utils.py +0 -0
  52. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  53. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  54. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  55. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  56. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/init_utils.py +0 -0
  57. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  58. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/migrator_utils.py +0 -0
  59. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/telemetry.py +0 -0
  60. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/type_utils.py +0 -0
  61. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  62. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/formatting.py +0 -0
  63. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/identifier.py +0 -0
  64. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  65. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  66. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  67. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  68. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/result.py +0 -0
  69. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/retryable_http.py +0 -0
  70. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  71. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  72. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  73. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  74. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  75. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  76. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/__init__.py +0 -0
  77. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  78. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_connector.py +0 -0
  79. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_ingestor.py +0 -0
  80. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_source.py +0 -0
  81. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/ingestor_utils.py +0 -0
  82. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/torch_utils.py +0 -0
  83. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/__init__.py +0 -0
  84. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset.py +0 -0
  85. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_factory.py +0 -0
  86. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  87. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_reader.py +0 -0
  88. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/__init__.py +0 -0
  89. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/access_manager.py +0 -0
  90. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/entity.py +0 -0
  91. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  92. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  93. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  94. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  95. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  96. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  97. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  98. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  99. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  100. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  101. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  102. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  103. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  104. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  105. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  106. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  107. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  108. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  109. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  110. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  111. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  112. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  113. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/feature_store.py +0 -0
  114. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/feature_view.py +0 -0
  115. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  116. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/fileset.py +0 -0
  117. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/parquet_parser.py +0 -0
  118. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/sfcfs.py +0 -0
  119. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/snowfs.py +0 -0
  120. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/stage_fs.py +0 -0
  121. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/tf_dataset.py +0 -0
  122. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/torch_datapipe.py +0 -0
  123. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/lineage/__init__.py +0 -0
  124. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/lineage/lineage_node.py +0 -0
  125. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/__init__.py +0 -0
  126. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  127. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  128. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
  129. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  130. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
  131. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/_base.py +0 -0
  132. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/model.py +0 -0
  133. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  134. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/service.py +0 -0
  135. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/tag.py +0 -0
  136. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  137. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  138. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  139. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  140. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  141. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  142. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  143. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  144. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  145. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handler.py +0 -0
  146. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  147. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  148. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  149. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  150. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +0 -0
  151. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  152. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  153. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  154. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  155. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  156. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  157. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  158. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  159. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  160. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -0
  161. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  162. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  163. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  164. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  165. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  166. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  167. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_packager.py +0 -0
  168. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  169. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  170. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  171. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  172. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/core.py +0 -0
  173. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  174. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  175. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  176. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  177. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  178. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/custom_model.py +0 -0
  179. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/model_signature.py +0 -0
  180. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
  181. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/type_hints.py +0 -0
  182. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/constants.py +0 -0
  183. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  184. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  185. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  186. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +0 -0
  187. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_trainer.py +0 -0
  188. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  189. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  190. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  191. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  192. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  193. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  194. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  195. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  196. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  197. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  198. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  199. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  200. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  201. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  202. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  203. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/birch.py +0 -0
  204. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  205. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  206. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  207. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  208. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  209. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  210. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/optics.py +0 -0
  211. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  212. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  213. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  214. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/__init__.py +0 -0
  215. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  216. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  217. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  218. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  219. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  220. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  221. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  222. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  223. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  224. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/oas.py +0 -0
  225. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  226. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  227. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  228. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  229. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  230. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  231. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  232. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  233. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  234. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  235. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  236. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  237. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  238. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  239. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  240. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  241. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  242. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  243. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  244. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  245. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  246. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  247. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  248. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  249. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  250. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  251. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  252. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  253. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  254. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  255. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  256. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  257. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  258. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  259. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  260. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  261. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  262. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  263. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  264. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  265. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  266. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/framework/_utils.py +0 -0
  267. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/framework/base.py +0 -0
  268. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  269. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  270. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  271. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/__init__.py +0 -0
  272. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  273. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  274. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  275. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  276. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  277. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  278. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  279. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  280. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  281. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  282. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  283. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  284. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  285. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  286. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  287. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  288. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  289. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  290. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  291. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  292. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  293. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  294. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  295. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  296. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  297. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  298. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  299. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  300. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  301. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  302. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  303. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  304. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  305. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  306. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  307. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  308. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  309. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  310. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  311. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  312. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  313. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  314. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  315. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  316. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  317. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  318. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  319. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  320. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  321. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  322. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  323. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  324. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  325. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/mds.py +0 -0
  326. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  327. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  328. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  329. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/classification.py +0 -0
  330. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  331. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  332. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  333. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  334. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/regression.py +0 -0
  335. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  336. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  337. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  338. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  339. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  340. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  341. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  342. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  343. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  344. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  345. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  346. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  347. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  348. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  349. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  350. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  351. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  352. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  353. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  354. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  355. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  356. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  357. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  358. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  359. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  360. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  361. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  362. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  363. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  364. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  365. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  366. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  367. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  368. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  369. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  370. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  371. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  372. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  373. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  374. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  375. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  376. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  377. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  378. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  379. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  380. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  381. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  382. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  383. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  384. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  385. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/__init__.py +0 -0
  386. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  387. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  388. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  389. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  390. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/svc.py +0 -0
  391. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/svr.py +0 -0
  392. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/__init__.py +0 -0
  393. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  394. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  395. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  396. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  397. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  398. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  399. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  400. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  401. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  402. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  403. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  404. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +9 -9
  405. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/model_monitor_version.py +0 -0
  406. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/shap.py +0 -0
  407. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/__init__.py +0 -0
  408. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  409. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/connection_params.py +0 -0
  410. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/sparse.py +0 -0
  411. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/sql_client.py +0 -0
  412. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  413. {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,20 @@
1
1
  # Release History
2
2
 
3
- ## 1.7.1
3
+ ## 1.7.2
4
+
5
+ ### Bug Fixes
6
+
7
+ - Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
8
+ whose task is UNKNOWN and fails later when invoked.
9
+
10
+ ### Behavior Changes
11
+
12
+ ### New Features
13
+
14
+ - Registry: Support asynchronous model inference service creation with the `block` option
15
+ in `ModelVersion.create_service()` set to True by default.
16
+
17
+ ## 1.7.1 (2024-11-05)
4
18
 
5
19
  ### Bug Fixes
6
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-ml-python
3
- Version: 1.7.1
3
+ Version: 1.7.2
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:
@@ -243,6 +243,7 @@ Requires-Dist: numpy<2,>=1.23
243
243
  Requires-Dist: packaging<25,>=20.9
244
244
  Requires-Dist: pandas<3,>=1.0.0
245
245
  Requires-Dist: pyarrow
246
+ Requires-Dist: pyjwt<3,>=2.0.0
246
247
  Requires-Dist: pytimeparse<2,>=1.1.8
247
248
  Requires-Dist: pyyaml<7,>=6.0
248
249
  Requires-Dist: retrying<2,>=1.3.3
@@ -302,7 +303,7 @@ and deployment process, and includes two key components.
302
303
 
303
304
  ### Snowpark ML Development
304
305
 
305
- [Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowpark-ml-development)
306
+ [Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#ml-modeling)
306
307
  provides a collection of python APIs enabling efficient ML model development directly in Snowflake:
307
308
 
308
309
  1. Modeling API (`snowflake.ml.modeling`) for data preprocessing, feature engineering and model training in Snowflake.
@@ -316,14 +317,21 @@ their native data loader formats.
316
317
  1. FileSet API: FileSet provides a Python fsspec-compliant API for materializing data into a Snowflake internal stage
317
318
  from a query or Snowpark Dataframe along with a number of convenience APIs.
318
319
 
319
- ### Snowpark Model Management [Public Preview]
320
+ ### Snowflake MLOps
320
321
 
321
- [Snowpark Model Management](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowpark-ml-ops) complements
322
- the Snowpark ML Development API, and provides model management capabilities along with integrated deployment into Snowflake.
322
+ Snowflake MLOps contains suit of tools and objects to make ML development cycle. It complements
323
+ the Snowpark ML Development API, and provides end to end development to deployment within Snowflake.
323
324
  Currently, the API consists of:
324
325
 
325
- 1. Registry: A python API for managing models within Snowflake which also supports deployment of ML models into Snowflake
326
- as native MODEL object running with Snowflake Warehouse.
326
+ 1. [Registry](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-model-registry): A python API
327
+ allows secure deployment and management of models in Snowflake, supporting models trained both inside and outside of
328
+ Snowflake.
329
+ 2. [Feature Store](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-feature-store): A fully
330
+ integrated solution for defining, managing, storing and discovering ML features derived from your data. The
331
+ Snowflake Feature Store supports automated, incremental refresh from batch and streaming data sources, so that
332
+ feature pipelines need be defined only once to be continuously updated with new data.
333
+ 3. [Datasets](https://docs.snowflake.com/developer-guide/snowflake-ml/overview#snowflake-datasets): Dataset provide an
334
+ immutable, versioned snapshot of your data suitable for ingestion by your machine learning models.
327
335
 
328
336
  ## Getting started
329
337
 
@@ -371,9 +379,39 @@ conda install \
371
379
  Note that until a `snowflake-ml-python` package version is available in the official Snowflake conda channel, there may
372
380
  be compatibility issues. Server-side functionality that `snowflake-ml-python` depends on may not yet be released.
373
381
 
382
+ ### Verifying the package
383
+
384
+ 1. Install cosign.
385
+ This example is using golang installation: [installing-cosign-with-go](https://edu.chainguard.dev/open-source/sigstore/cosign/how-to-install-cosign/#installing-cosign-with-go).
386
+ 1. Download the file from the repository like [pypi](https://pypi.org/project/snowflake-ml-python/#files).
387
+ 1. Download the signature files from the [release tag](https://github.com/snowflakedb/snowflake-ml-python/releases/tag/1.7.0).
388
+ 1. Verify signature on projects signed using Jenkins job:
389
+
390
+ ```sh
391
+ cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0.tar.gz.sig
392
+
393
+ cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0
394
+ ```
395
+
396
+ NOTE: Version 1.7.0 is used as example here. Please choose the the latest version.
397
+
374
398
  # Release History
375
399
 
376
- ## 1.7.1
400
+ ## 1.7.2
401
+
402
+ ### Bug Fixes
403
+
404
+ - Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
405
+ whose task is UNKNOWN and fails later when invoked.
406
+
407
+ ### Behavior Changes
408
+
409
+ ### New Features
410
+
411
+ - Registry: Support asynchronous model inference service creation with the `block` option
412
+ in `ModelVersion.create_service()` set to True by default.
413
+
414
+ ## 1.7.1 (2024-11-05)
377
415
 
378
416
  ### Bug Fixes
379
417
 
@@ -12,7 +12,7 @@ and deployment process, and includes two key components.
12
12
 
13
13
  ### Snowpark ML Development
14
14
 
15
- [Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowpark-ml-development)
15
+ [Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#ml-modeling)
16
16
  provides a collection of python APIs enabling efficient ML model development directly in Snowflake:
17
17
 
18
18
  1. Modeling API (`snowflake.ml.modeling`) for data preprocessing, feature engineering and model training in Snowflake.
@@ -26,14 +26,21 @@ their native data loader formats.
26
26
  1. FileSet API: FileSet provides a Python fsspec-compliant API for materializing data into a Snowflake internal stage
27
27
  from a query or Snowpark Dataframe along with a number of convenience APIs.
28
28
 
29
- ### Snowpark Model Management [Public Preview]
29
+ ### Snowflake MLOps
30
30
 
31
- [Snowpark Model Management](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowpark-ml-ops) complements
32
- the Snowpark ML Development API, and provides model management capabilities along with integrated deployment into Snowflake.
31
+ Snowflake MLOps contains suit of tools and objects to make ML development cycle. It complements
32
+ the Snowpark ML Development API, and provides end to end development to deployment within Snowflake.
33
33
  Currently, the API consists of:
34
34
 
35
- 1. Registry: A python API for managing models within Snowflake which also supports deployment of ML models into Snowflake
36
- as native MODEL object running with Snowflake Warehouse.
35
+ 1. [Registry](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-model-registry): A python API
36
+ allows secure deployment and management of models in Snowflake, supporting models trained both inside and outside of
37
+ Snowflake.
38
+ 2. [Feature Store](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-feature-store): A fully
39
+ integrated solution for defining, managing, storing and discovering ML features derived from your data. The
40
+ Snowflake Feature Store supports automated, incremental refresh from batch and streaming data sources, so that
41
+ feature pipelines need be defined only once to be continuously updated with new data.
42
+ 3. [Datasets](https://docs.snowflake.com/developer-guide/snowflake-ml/overview#snowflake-datasets): Dataset provide an
43
+ immutable, versioned snapshot of your data suitable for ingestion by your machine learning models.
37
44
 
38
45
  ## Getting started
39
46
 
@@ -80,3 +87,19 @@ conda install \
80
87
 
81
88
  Note that until a `snowflake-ml-python` package version is available in the official Snowflake conda channel, there may
82
89
  be compatibility issues. Server-side functionality that `snowflake-ml-python` depends on may not yet be released.
90
+
91
+ ### Verifying the package
92
+
93
+ 1. Install cosign.
94
+ This example is using golang installation: [installing-cosign-with-go](https://edu.chainguard.dev/open-source/sigstore/cosign/how-to-install-cosign/#installing-cosign-with-go).
95
+ 1. Download the file from the repository like [pypi](https://pypi.org/project/snowflake-ml-python/#files).
96
+ 1. Download the signature files from the [release tag](https://github.com/snowflakedb/snowflake-ml-python/releases/tag/1.7.0).
97
+ 1. Verify signature on projects signed using Jenkins job:
98
+
99
+ ```sh
100
+ cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0.tar.gz.sig
101
+
102
+ cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0
103
+ ```
104
+
105
+ NOTE: Version 1.7.0 is used as example here. Please choose the the latest version.
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
8
8
  classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
9
9
  requires-python = ">=3.9, <3.12"
10
10
  dynamic = [ "version", "readme",]
11
- dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=1.0.0,<3", "pyarrow", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.4,<1.6", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.5.0,<4", "snowflake-snowpark-python>=1.17.0,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
11
+ dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=1.0.0,<3", "pyarrow", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.4,<1.6", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.5.0,<4", "snowflake-snowpark-python>=1.17.0,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
12
12
  [[project.authors]]
13
13
  name = "Snowflake, Inc"
14
14
  email = "support@snowflake.com"
@@ -0,0 +1,141 @@
1
+ import base64
2
+ import hashlib
3
+ import logging
4
+ from datetime import datetime, timedelta, timezone
5
+ from typing import Optional
6
+
7
+ import jwt
8
+ from cryptography.hazmat.primitives import serialization
9
+ from cryptography.hazmat.primitives.asymmetric import types
10
+
11
+ logger = logging.getLogger(__name__)
12
+
13
+ ISSUER = "iss"
14
+ EXPIRE_TIME = "exp"
15
+ ISSUE_TIME = "iat"
16
+ SUBJECT = "sub"
17
+
18
+
19
+ class JWTGenerator:
20
+ """
21
+ Creates and signs a JWT with the specified private key file, username, and account identifier. The JWTGenerator
22
+ keeps the generated token and only regenerates the token if a specified period of time has passed.
23
+ """
24
+
25
+ _DEFAULT_LIFETIME = timedelta(minutes=59) # The tokens will have a 59-minute lifetime
26
+ _DEFAULT_RENEWAL_DELTA = timedelta(minutes=54) # Tokens will be renewed after 54 minutes
27
+ ALGORITHM = "RS256" # Tokens will be generated using RSA with SHA256
28
+
29
+ def __init__(
30
+ self,
31
+ account: str,
32
+ user: str,
33
+ private_key: types.PRIVATE_KEY_TYPES,
34
+ lifetime: Optional[timedelta] = None,
35
+ renewal_delay: Optional[timedelta] = None,
36
+ ) -> None:
37
+ """
38
+ Create a new JWTGenerator object.
39
+
40
+ Args:
41
+ account: The account identifier.
42
+ user: The username.
43
+ private_key: The private key used to sign the JWT.
44
+ lifetime: The lifetime of the token.
45
+ renewal_delay: The time before the token expires to renew it.
46
+ """
47
+
48
+ # Construct the fully qualified name of the user in uppercase.
49
+ self.account = JWTGenerator._prepare_account_name_for_jwt(account)
50
+ self.user = user.upper()
51
+ self.qualified_username = self.account + "." + self.user
52
+ self.private_key = private_key
53
+ self.public_key_fp = JWTGenerator._calculate_public_key_fingerprint(self.private_key)
54
+
55
+ self.issuer = self.qualified_username + "." + self.public_key_fp
56
+ self.lifetime = lifetime or JWTGenerator._DEFAULT_LIFETIME
57
+ self.renewal_delay = renewal_delay or JWTGenerator._DEFAULT_RENEWAL_DELTA
58
+ self.renew_time = datetime.now(timezone.utc)
59
+ self.token: Optional[str] = None
60
+
61
+ logger.info(
62
+ """Creating JWTGenerator with arguments
63
+ account : %s, user : %s, lifetime : %s, renewal_delay : %s""",
64
+ self.account,
65
+ self.user,
66
+ self.lifetime,
67
+ self.renewal_delay,
68
+ )
69
+
70
+ @staticmethod
71
+ def _prepare_account_name_for_jwt(raw_account: str) -> str:
72
+ account = raw_account
73
+ if ".global" not in account:
74
+ # Handle the general case.
75
+ idx = account.find(".")
76
+ if idx > 0:
77
+ account = account[0:idx]
78
+ else:
79
+ # Handle the replication case.
80
+ idx = account.find("-")
81
+ if idx > 0:
82
+ account = account[0:idx]
83
+ # Use uppercase for the account identifier.
84
+ return account.upper()
85
+
86
+ def get_token(self) -> str:
87
+ now = datetime.now(timezone.utc) # Fetch the current time
88
+ if self.token is not None and self.renew_time > now:
89
+ return self.token
90
+
91
+ # If the token has expired or doesn't exist, regenerate the token.
92
+ logger.info(
93
+ "Generating a new token because the present time (%s) is later than the renewal time (%s)",
94
+ now,
95
+ self.renew_time,
96
+ )
97
+ # Calculate the next time we need to renew the token.
98
+ self.renew_time = now + self.renewal_delay
99
+
100
+ # Create our payload
101
+ payload = {
102
+ # Set the issuer to the fully qualified username concatenated with the public key fingerprint.
103
+ ISSUER: self.issuer,
104
+ # Set the subject to the fully qualified username.
105
+ SUBJECT: self.qualified_username,
106
+ # Set the issue time to now.
107
+ ISSUE_TIME: now,
108
+ # Set the expiration time, based on the lifetime specified for this object.
109
+ EXPIRE_TIME: now + self.lifetime,
110
+ }
111
+
112
+ # Regenerate the actual token
113
+ token = jwt.encode(payload, key=self.private_key, algorithm=JWTGenerator.ALGORITHM)
114
+ # If you are using a version of PyJWT prior to 2.0, jwt.encode returns a byte string instead of a string.
115
+ # If the token is a byte string, convert it to a string.
116
+ if isinstance(token, bytes):
117
+ token = token.decode("utf-8")
118
+ self.token = token
119
+ logger.info(
120
+ "Generated a JWT with the following payload: %s",
121
+ jwt.decode(self.token, key=self.private_key.public_key(), algorithms=[JWTGenerator.ALGORITHM]),
122
+ )
123
+
124
+ return token
125
+
126
+ @staticmethod
127
+ def _calculate_public_key_fingerprint(private_key: types.PRIVATE_KEY_TYPES) -> str:
128
+ # Get the raw bytes of public key.
129
+ public_key_raw = private_key.public_key().public_bytes(
130
+ serialization.Encoding.DER, serialization.PublicFormat.SubjectPublicKeyInfo
131
+ )
132
+
133
+ # Get the sha256 hash of the raw bytes.
134
+ sha256hash = hashlib.sha256()
135
+ sha256hash.update(public_key_raw)
136
+
137
+ # Base64-encode the value and prepend the prefix 'SHA256:'.
138
+ public_key_fp = "SHA256:" + base64.b64encode(sha256hash.digest()).decode("utf-8")
139
+ logger.info("Public key fingerprint is %s", public_key_fp)
140
+
141
+ return public_key_fp
@@ -14,7 +14,7 @@ from snowflake.ml.model._client.ops import metadata_ops, model_ops, service_ops
14
14
  from snowflake.ml.model._model_composer import model_composer
15
15
  from snowflake.ml.model._model_composer.model_manifest import model_manifest_schema
16
16
  from snowflake.ml.model._packager.model_handlers import snowmlmodel
17
- from snowflake.snowpark import Session, dataframe
17
+ from snowflake.snowpark import Session, async_job, dataframe
18
18
 
19
19
  _TELEMETRY_PROJECT = "MLOps"
20
20
  _TELEMETRY_SUBPROJECT = "ModelManagement"
@@ -631,7 +631,8 @@ class ModelVersion(lineage_node.LineageNode):
631
631
  max_batch_rows: Optional[int] = None,
632
632
  force_rebuild: bool = False,
633
633
  build_external_access_integration: Optional[str] = None,
634
- ) -> str:
634
+ block: bool = True,
635
+ ) -> Union[str, async_job.AsyncJob]:
635
636
  """Create an inference service with the given spec.
636
637
 
637
638
  Args:
@@ -659,6 +660,9 @@ class ModelVersion(lineage_node.LineageNode):
659
660
  force_rebuild: Whether to force a model inference image rebuild.
660
661
  build_external_access_integration: (Deprecated) The external access integration for image build. This is
661
662
  usually permitting access to conda & PyPI repositories.
663
+ block: A bool value indicating whether this function will wait until the service is available.
664
+ When it is ``False``, this function executes the underlying service creation asynchronously
665
+ and returns an :class:`AsyncJob`.
662
666
  """
663
667
  ...
664
668
 
@@ -679,7 +683,8 @@ class ModelVersion(lineage_node.LineageNode):
679
683
  max_batch_rows: Optional[int] = None,
680
684
  force_rebuild: bool = False,
681
685
  build_external_access_integrations: Optional[List[str]] = None,
682
- ) -> str:
686
+ block: bool = True,
687
+ ) -> Union[str, async_job.AsyncJob]:
683
688
  """Create an inference service with the given spec.
684
689
 
685
690
  Args:
@@ -707,6 +712,9 @@ class ModelVersion(lineage_node.LineageNode):
707
712
  force_rebuild: Whether to force a model inference image rebuild.
708
713
  build_external_access_integrations: The external access integrations for image build. This is usually
709
714
  permitting access to conda & PyPI repositories.
715
+ block: A bool value indicating whether this function will wait until the service is available.
716
+ When it is ``False``, this function executes the underlying service creation asynchronously
717
+ and returns an :class:`AsyncJob`.
710
718
  """
711
719
  ...
712
720
 
@@ -742,7 +750,8 @@ class ModelVersion(lineage_node.LineageNode):
742
750
  force_rebuild: bool = False,
743
751
  build_external_access_integration: Optional[str] = None,
744
752
  build_external_access_integrations: Optional[List[str]] = None,
745
- ) -> str:
753
+ block: bool = True,
754
+ ) -> Union[str, async_job.AsyncJob]:
746
755
  """Create an inference service with the given spec.
747
756
 
748
757
  Args:
@@ -772,12 +781,16 @@ class ModelVersion(lineage_node.LineageNode):
772
781
  usually permitting access to conda & PyPI repositories.
773
782
  build_external_access_integrations: The external access integrations for image build. This is usually
774
783
  permitting access to conda & PyPI repositories.
784
+ block: A bool value indicating whether this function will wait until the service is available.
785
+ When it is False, this function executes the underlying service creation asynchronously
786
+ and returns an AsyncJob.
775
787
 
776
788
  Raises:
777
789
  ValueError: Illegal external access integration arguments.
778
790
 
779
791
  Returns:
780
- Result information about service creation from server.
792
+ If `block=True`, return result information about service creation from server.
793
+ Otherwise, return the service creation AsyncJob.
781
794
  """
782
795
  statement_params = telemetry.get_statement_params(
783
796
  project=_TELEMETRY_PROJECT,
@@ -829,6 +842,7 @@ class ModelVersion(lineage_node.LineageNode):
829
842
  if build_external_access_integrations is None
830
843
  else [sql_identifier.SqlIdentifier(eai) for eai in build_external_access_integrations]
831
844
  ),
845
+ block=block,
832
846
  statement_params=statement_params,
833
847
  )
834
848
 
@@ -6,7 +6,7 @@ import re
6
6
  import tempfile
7
7
  import threading
8
8
  import time
9
- from typing import Any, Dict, List, Optional, Tuple, cast
9
+ from typing import Any, Dict, List, Optional, Tuple, Union, cast
10
10
 
11
11
  from packaging import version
12
12
 
@@ -15,7 +15,7 @@ from snowflake.ml._internal import file_utils
15
15
  from snowflake.ml._internal.utils import service_logger, snowflake_env, sql_identifier
16
16
  from snowflake.ml.model._client.service import model_deployment_spec
17
17
  from snowflake.ml.model._client.sql import service as service_sql, stage as stage_sql
18
- from snowflake.snowpark import exceptions, row, session
18
+ from snowflake.snowpark import async_job, exceptions, row, session
19
19
  from snowflake.snowpark._internal import utils as snowpark_utils
20
20
 
21
21
  module_logger = service_logger.get_logger(__name__, service_logger.LogColor.GREY)
@@ -107,8 +107,9 @@ class ServiceOperator:
107
107
  max_batch_rows: Optional[int],
108
108
  force_rebuild: bool,
109
109
  build_external_access_integrations: Optional[List[sql_identifier.SqlIdentifier]],
110
+ block: bool,
110
111
  statement_params: Optional[Dict[str, Any]] = None,
111
- ) -> str:
112
+ ) -> Union[str, async_job.AsyncJob]:
112
113
 
113
114
  # Fall back to the registry's database and schema if not provided
114
115
  database_name = database_name or self._database_name
@@ -204,11 +205,15 @@ class ServiceOperator:
204
205
  log_thread = self._start_service_log_streaming(
205
206
  async_job, services, model_inference_service_exists, force_rebuild, statement_params
206
207
  )
207
- log_thread.join()
208
208
 
209
- res = cast(str, cast(List[row.Row], async_job.result())[0][0])
210
- module_logger.info(f"Inference service {service_name} deployment complete: {res}")
211
- return res
209
+ if block:
210
+ log_thread.join()
211
+
212
+ res = cast(str, cast(List[row.Row], async_job.result())[0][0])
213
+ module_logger.info(f"Inference service {service_name} deployment complete: {res}")
214
+ return res
215
+ else:
216
+ return async_job
212
217
 
213
218
  def _start_service_log_streaming(
214
219
  self,
@@ -15,6 +15,6 @@ class StageSQLClient(_base._BaseSQLClient):
15
15
  ) -> None:
16
16
  query_result_checker.SqlResultValidator(
17
17
  self._session,
18
- f"CREATE TEMPORARY STAGE {self.fully_qualified_object_name(database_name, schema_name, stage_name)}",
18
+ f"CREATE SCOPED TEMPORARY STAGE {self.fully_qualified_object_name(database_name, schema_name, stage_name)}",
19
19
  statement_params=statement_params,
20
20
  ).has_dimensions(expected_rows=1, expected_cols=1).validate()
@@ -164,6 +164,8 @@ class SKLModelHandler(_base.BaseModelHandler[Union["sklearn.base.BaseEstimator",
164
164
  stacklevel=1,
165
165
  )
166
166
  enable_explainability = False
167
+ elif model_meta.task == model_types.Task.UNKNOWN:
168
+ enable_explainability = False
167
169
  else:
168
170
  enable_explainability = True
169
171
  if enable_explainability:
@@ -0,0 +1,2 @@
1
+ REQUIREMENTS = ['absl-py>=0.15,<2', 'aiohttp!=4.0.0a0, !=4.0.0a1', 'anyio>=3.5.0,<4', 'cachetools>=3.1.1,<6', 'cloudpickle>=2.0.0', 'cryptography', 'fsspec>=2022.11,<2024', 'importlib_resources>=6.1.1, <7', 'numpy>=1.23,<2', 'packaging>=20.9,<25', 'pandas>=1.0.0,<3', 'pyarrow', 'pyjwt>=2.0.0, <3', 'pytimeparse>=1.1.8,<2', 'pyyaml>=6.0,<7', 'requests', 'retrying>=1.3.3,<2', 's3fs>=2022.11,<2024', 'scikit-learn>=1.4,<1.6', 'scipy>=1.9,<2', 'snowflake-connector-python>=3.5.0,<4', 'snowflake-snowpark-python>=1.17.0,<2', 'sqlparse>=0.4,<1', 'typing-extensions>=4.1.0,<5', 'xgboost>=1.7.3,<3']
2
+ ALL_REQUIREMENTS=['absl-py>=0.15,<2', 'aiohttp!=4.0.0a0, !=4.0.0a1', 'anyio>=3.5.0,<4', 'cachetools>=3.1.1,<6', 'catboost>=1.2.0, <2', 'cloudpickle>=2.0.0', 'cryptography', 'fsspec>=2022.11,<2024', 'importlib_resources>=6.1.1, <7', 'lightgbm>=4.1.0, <5', 'mlflow>=2.1.0,<2.4', 'numpy>=1.23,<2', 'packaging>=20.9,<25', 'pandas>=1.0.0,<3', 'pyarrow', 'pyjwt>=2.0.0, <3', 'pytimeparse>=1.1.8,<2', 'pytorch>=2.0.1,<2.3.0', 'pyyaml>=6.0,<7', 'requests', 'retrying>=1.3.3,<2', 's3fs>=2022.11,<2024', 'scikit-learn>=1.4,<1.6', 'scipy>=1.9,<2', 'sentence-transformers>=2.2.2,<3', 'sentencepiece>=0.1.95,<1', 'shap>=0.46.0,<1', 'snowflake-connector-python>=3.5.0,<4', 'snowflake-snowpark-python>=1.17.0,<2', 'sqlparse>=0.4,<1', 'tensorflow>=2.10,<3', 'tokenizers>=0.10,<1', 'torchdata>=0.4,<1', 'transformers>=4.32.1,<5', 'typing-extensions>=4.1.0,<5', 'xgboost>=1.7.3,<3']
@@ -118,7 +118,6 @@ def huggingface_pipeline_signature_auto_infer(task: str, params: Dict[str, Any])
118
118
  category=DeprecationWarning,
119
119
  stacklevel=1,
120
120
  )
121
-
122
121
  return core.ModelSignature(
123
122
  inputs=[
124
123
  core.FeatureSpec(name="user_inputs", dtype=core.DataType.STRING, shape=(-1,)),