snowflake-ml-python 2.1.0__tar.gz → 2.3.0__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 (909) hide show
  1. snowflake_ml_python-2.3.0/CHANGELOG.md +3016 -0
  2. snowflake_ml_python-2.3.0/PKG-INFO +3440 -0
  3. snowflake_ml_python-2.3.0/pyproject.toml +56 -0
  4. snowflake_ml_python-2.3.0/snowflake/cortex/_classify_text.py +47 -0
  5. snowflake_ml_python-2.3.0/snowflake/cortex/_complete.py +508 -0
  6. snowflake_ml_python-2.3.0/snowflake/cortex/_embed_text_1024.py +44 -0
  7. snowflake_ml_python-2.3.0/snowflake/cortex/_embed_text_768.py +44 -0
  8. snowflake_ml_python-2.3.0/snowflake/cortex/_extract_answer.py +43 -0
  9. snowflake_ml_python-2.3.0/snowflake/cortex/_finetune.py +273 -0
  10. snowflake_ml_python-2.3.0/snowflake/cortex/_sentiment.py +38 -0
  11. snowflake_ml_python-2.3.0/snowflake/cortex/_sse_client.py +144 -0
  12. snowflake_ml_python-2.3.0/snowflake/cortex/_summarize.py +40 -0
  13. snowflake_ml_python-2.3.0/snowflake/cortex/_translate.py +46 -0
  14. snowflake_ml_python-2.3.0/snowflake/cortex/_util.py +91 -0
  15. snowflake_ml_python-2.3.0/snowflake/ml/_internal/file_utils.py +424 -0
  16. snowflake_ml_python-2.3.0/snowflake/ml/_internal/lineage/lineage_utils.py +105 -0
  17. snowflake_ml_python-2.3.0/snowflake/ml/_internal/platform_capabilities.py +264 -0
  18. snowflake_ml_python-2.3.0/snowflake/ml/_internal/telemetry.py +872 -0
  19. snowflake_ml_python-2.3.0/snowflake/ml/_internal/type_utils.py +69 -0
  20. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/connection_params.py +202 -0
  21. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/db_utils.py +50 -0
  22. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/identifier.py +396 -0
  23. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/jwt_generator.py +145 -0
  24. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/mixins.py +118 -0
  25. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/parallelize.py +112 -0
  26. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/pkg_version_utils.py +134 -0
  27. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/query_result_checker.py +275 -0
  28. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/service_logger.py +203 -0
  29. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/snowflake_env.py +125 -0
  30. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +135 -0
  31. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/sql_identifier.py +116 -0
  32. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/table_manager.py +124 -0
  33. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/tee.py +85 -0
  34. snowflake_ml_python-2.3.0/snowflake/ml/_internal/utils/temp_file_utils.py +52 -0
  35. snowflake_ml_python-2.3.0/snowflake/ml/data/_internal/arrow_ingestor.py +362 -0
  36. snowflake_ml_python-2.3.0/snowflake/ml/data/data_connector.py +361 -0
  37. snowflake_ml_python-2.3.0/snowflake/ml/data/data_ingestor.py +44 -0
  38. snowflake_ml_python-2.3.0/snowflake/ml/data/data_source.py +23 -0
  39. snowflake_ml_python-2.3.0/snowflake/ml/data/ingestor_utils.py +70 -0
  40. snowflake_ml_python-2.3.0/snowflake/ml/data/torch_utils.py +100 -0
  41. snowflake_ml_python-2.3.0/snowflake/ml/dataset/dataset.py +495 -0
  42. snowflake_ml_python-2.3.0/snowflake/ml/dataset/dataset_metadata.py +105 -0
  43. snowflake_ml_python-2.3.0/snowflake/ml/dataset/dataset_reader.py +119 -0
  44. snowflake_ml_python-2.3.0/snowflake/ml/experiment/_entities/run.py +67 -0
  45. snowflake_ml_python-2.3.0/snowflake/ml/experiment/_experiment_info.py +63 -0
  46. snowflake_ml_python-2.3.0/snowflake/ml/experiment/_logging/experiment_logging_context.py +16 -0
  47. snowflake_ml_python-2.3.0/snowflake/ml/experiment/_source_info.py +514 -0
  48. snowflake_ml_python-2.3.0/snowflake/ml/experiment/callback/keras.py +89 -0
  49. snowflake_ml_python-2.3.0/snowflake/ml/experiment/callback/lightgbm.py +87 -0
  50. snowflake_ml_python-2.3.0/snowflake/ml/experiment/callback/xgboost.py +93 -0
  51. snowflake_ml_python-2.3.0/snowflake/ml/experiment/experiment_tracking.py +957 -0
  52. snowflake_ml_python-2.3.0/snowflake/ml/experiment/utils.py +20 -0
  53. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/_compute_fn_validation.py +253 -0
  54. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/access_manager.py +289 -0
  55. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/aggregation.py +362 -0
  56. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/entity.py +100 -0
  57. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/examples/example_helper.py +282 -0
  58. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/feature.py +385 -0
  59. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/feature_group.py +1411 -0
  60. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/feature_store.py +9642 -0
  61. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/feature_view.py +3246 -0
  62. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/feature_view_refresh_freq.py +27 -0
  63. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/metadata_manager.py +1419 -0
  64. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/online_service_http_client.py +300 -0
  65. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/realtime_config.py +373 -0
  66. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/realtime_dataset.py +597 -0
  67. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/realtime_registration.py +993 -0
  68. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/spec/builder.py +1622 -0
  69. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/spec/models.py +469 -0
  70. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/spec/table_schema_evolution.py +119 -0
  71. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/stream_config.py +295 -0
  72. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/stream_source.py +241 -0
  73. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/streaming_registration.py +1435 -0
  74. snowflake_ml_python-2.3.0/snowflake/ml/feature_store/tile_sql_generator.py +2221 -0
  75. snowflake_ml_python-2.3.0/snowflake/ml/fileset/embedded_stage_fs.py +153 -0
  76. snowflake_ml_python-2.3.0/snowflake/ml/fileset/fileset.py +587 -0
  77. snowflake_ml_python-2.3.0/snowflake/ml/fileset/snowfs.py +120 -0
  78. snowflake_ml_python-2.3.0/snowflake/ml/fileset/stage_fs.py +446 -0
  79. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/data_utils.py +124 -0
  80. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/dto_schema.py +140 -0
  81. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/exception_utils.py +372 -0
  82. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/legacy.py +225 -0
  83. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/protocols.py +591 -0
  84. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/results.py +96 -0
  85. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_interop/utils.py +203 -0
  86. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/feature_flags.py +133 -0
  87. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/payload_utils.py +763 -0
  88. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/query_helper.py +31 -0
  89. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/runtime_env_utils.py +18 -0
  90. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/scripts/signal_workers.py +203 -0
  91. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +243 -0
  92. snowflake_ml_python-2.3.0/snowflake/ml/jobs/_utils/stage_utils.py +182 -0
  93. snowflake_ml_python-2.3.0/snowflake/ml/jobs/job.py +1117 -0
  94. snowflake_ml_python-2.3.0/snowflake/ml/jobs/job_definition.py +554 -0
  95. snowflake_ml_python-2.3.0/snowflake/ml/lineage/lineage_node.py +143 -0
  96. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/model/batch_inference_job_specs.py +166 -0
  97. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/model/batch_inference_task.py +148 -0
  98. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/model/model_impl.py +491 -0
  99. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/model/model_version_impl.py +1791 -0
  100. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/model/telemetry_params.py +84 -0
  101. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/deployment_step.py +35 -0
  102. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/metadata_ops.py +128 -0
  103. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/model_ops.py +1667 -0
  104. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/param_ops.py +494 -0
  105. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/param_utils.py +138 -0
  106. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/ops/service_ops.py +1422 -0
  107. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/service/import_model_spec_schema.py +21 -0
  108. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/service/inference_job_service_spec.py +94 -0
  109. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/service/model_deployment_spec.py +466 -0
  110. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +110 -0
  111. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/_base.py +37 -0
  112. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/model.py +174 -0
  113. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/model_version.py +640 -0
  114. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/service.py +499 -0
  115. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/stage.py +31 -0
  116. snowflake_ml_python-2.3.0/snowflake/ml/model/_client/sql/tag.py +94 -0
  117. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +244 -0
  118. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_composer.py +228 -0
  119. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +211 -0
  120. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +112 -0
  121. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_method/function_generator.py +97 -0
  122. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_method/model_method.py +306 -0
  123. snowflake_ml_python-2.3.0/snowflake/ml/model/_model_composer/model_method/utils.py +38 -0
  124. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_env/model_env.py +559 -0
  125. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handler.py +85 -0
  126. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/_base.py +188 -0
  127. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/custom.py +261 -0
  128. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +148 -0
  129. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +67 -0
  130. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +67 -0
  131. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +56 -0
  132. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +44 -0
  133. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +44 -0
  134. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +44 -0
  135. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +68 -0
  136. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/keras.py +226 -0
  137. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/mlflow.py +490 -0
  138. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +224 -0
  139. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/prophet.py +568 -0
  140. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/pytorch.py +253 -0
  141. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/tensorflow.py +288 -0
  142. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_handlers/torchscript.py +252 -0
  143. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_meta/model_meta.py +549 -0
  144. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +158 -0
  145. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +274 -0
  146. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_packager.py +169 -0
  147. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +28 -0
  148. snowflake_ml_python-2.3.0/snowflake/ml/model/_packager/model_runtime/model_runtime.py +138 -0
  149. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/core.py +1463 -0
  150. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/dmatrix_handler.py +109 -0
  151. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/pandas_handler.py +243 -0
  152. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/pytorch_handler.py +120 -0
  153. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/snowpark_handler.py +180 -0
  154. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/tensorflow_handler.py +134 -0
  155. snowflake_ml_python-2.3.0/snowflake/ml/model/_signatures/utils.py +927 -0
  156. snowflake_ml_python-2.3.0/snowflake/ml/model/code_path.py +103 -0
  157. snowflake_ml_python-2.3.0/snowflake/ml/model/custom_model.py +485 -0
  158. snowflake_ml_python-2.3.0/snowflake/ml/model/event_handler.py +186 -0
  159. snowflake_ml_python-2.3.0/snowflake/ml/model/model_signature.py +797 -0
  160. snowflake_ml_python-2.3.0/snowflake/ml/model/models/huggingface.py +816 -0
  161. snowflake_ml_python-2.3.0/snowflake/ml/model/models/huggingface_pipeline.py +268 -0
  162. snowflake_ml_python-2.3.0/snowflake/ml/model/type_hints.py +428 -0
  163. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +195 -0
  164. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +147 -0
  165. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/model_specifications.py +146 -0
  166. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/model_trainer.py +32 -0
  167. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/model_trainer_builder.py +204 -0
  168. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/model_transformer_builder.py +70 -0
  169. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +1182 -0
  170. snowflake_ml_python-2.3.0/snowflake/ml/modeling/_internal/transformer_protocols.py +190 -0
  171. snowflake_ml_python-2.3.0/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1212 -0
  172. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/affinity_propagation.py +1193 -0
  173. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/agglomerative_clustering.py +1227 -0
  174. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/birch.py +1188 -0
  175. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/bisecting_k_means.py +1239 -0
  176. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/dbscan.py +1202 -0
  177. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/feature_agglomeration.py +1223 -0
  178. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/k_means.py +1232 -0
  179. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/mean_shift.py +1204 -0
  180. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/mini_batch_k_means.py +1263 -0
  181. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/optics.py +1271 -0
  182. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/spectral_biclustering.py +1208 -0
  183. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/spectral_clustering.py +1269 -0
  184. snowflake_ml_python-2.3.0/snowflake/ml/modeling/cluster/spectral_coclustering.py +1187 -0
  185. snowflake_ml_python-2.3.0/snowflake/ml/modeling/compose/column_transformer.py +1239 -0
  186. snowflake_ml_python-2.3.0/snowflake/ml/modeling/compose/transformed_target_regressor.py +1181 -0
  187. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/elliptic_envelope.py +1183 -0
  188. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/empirical_covariance.py +1151 -0
  189. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/graphical_lasso.py +1199 -0
  190. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1225 -0
  191. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/ledoit_wolf.py +1158 -0
  192. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/min_cov_det.py +1170 -0
  193. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/oas.py +1151 -0
  194. snowflake_ml_python-2.3.0/snowflake/ml/modeling/covariance/shrunk_covariance.py +1157 -0
  195. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/dictionary_learning.py +1265 -0
  196. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/factor_analysis.py +1206 -0
  197. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/fast_ica.py +1220 -0
  198. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/incremental_pca.py +1172 -0
  199. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/kernel_pca.py +1268 -0
  200. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +1283 -0
  201. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +1228 -0
  202. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/pca.py +1254 -0
  203. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/sparse_pca.py +1210 -0
  204. snowflake_ml_python-2.3.0/snowflake/ml/modeling/decomposition/truncated_svd.py +1191 -0
  205. snowflake_ml_python-2.3.0/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1222 -0
  206. snowflake_ml_python-2.3.0/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +1174 -0
  207. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1184 -0
  208. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1180 -0
  209. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/bagging_classifier.py +1224 -0
  210. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/bagging_regressor.py +1218 -0
  211. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +1356 -0
  212. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +1328 -0
  213. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +1354 -0
  214. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +1357 -0
  215. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +1349 -0
  216. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +1333 -0
  217. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/isolation_forest.py +1218 -0
  218. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/random_forest_classifier.py +1352 -0
  219. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/random_forest_regressor.py +1324 -0
  220. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/stacking_regressor.py +1209 -0
  221. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/voting_classifier.py +1194 -0
  222. snowflake_ml_python-2.3.0/snowflake/ml/modeling/ensemble/voting_regressor.py +1172 -0
  223. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +1159 -0
  224. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/select_fdr.py +1154 -0
  225. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/select_fpr.py +1154 -0
  226. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/select_fwe.py +1154 -0
  227. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/select_k_best.py +1155 -0
  228. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/select_percentile.py +1154 -0
  229. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +1218 -0
  230. snowflake_ml_python-2.3.0/snowflake/ml/modeling/feature_selection/variance_threshold.py +1147 -0
  231. snowflake_ml_python-2.3.0/snowflake/ml/modeling/framework/_utils.py +256 -0
  232. snowflake_ml_python-2.3.0/snowflake/ml/modeling/framework/base.py +852 -0
  233. snowflake_ml_python-2.3.0/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1244 -0
  234. snowflake_ml_python-2.3.0/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +1234 -0
  235. snowflake_ml_python-2.3.0/snowflake/ml/modeling/impute/iterative_imputer.py +1275 -0
  236. snowflake_ml_python-2.3.0/snowflake/ml/modeling/impute/knn_imputer.py +1201 -0
  237. snowflake_ml_python-2.3.0/snowflake/ml/modeling/impute/missing_indicator.py +1175 -0
  238. snowflake_ml_python-2.3.0/snowflake/ml/modeling/impute/simple_imputer.py +464 -0
  239. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +1150 -0
  240. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_approximation/nystroem.py +1198 -0
  241. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +1174 -0
  242. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +1161 -0
  243. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +1159 -0
  244. snowflake_ml_python-2.3.0/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1193 -0
  245. snowflake_ml_python-2.3.0/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1184 -0
  246. snowflake_ml_python-2.3.0/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1180 -0
  247. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ard_regression.py +1202 -0
  248. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1212 -0
  249. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/elastic_net.py +1220 -0
  250. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/elastic_net_cv.py +1254 -0
  251. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/gamma_regressor.py +1198 -0
  252. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/huber_regressor.py +1181 -0
  253. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lars.py +1200 -0
  254. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lars_cv.py +1208 -0
  255. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lasso.py +1211 -0
  256. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lasso_cv.py +1240 -0
  257. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lasso_lars.py +1221 -0
  258. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1222 -0
  259. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1205 -0
  260. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/linear_regression.py +1181 -0
  261. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/logistic_regression.py +1290 -0
  262. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +1312 -0
  263. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1201 -0
  264. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1243 -0
  265. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1193 -0
  266. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1229 -0
  267. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1167 -0
  268. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1252 -0
  269. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1236 -0
  270. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/perceptron.py +1251 -0
  271. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/poisson_regressor.py +1198 -0
  272. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ransac_regressor.py +1255 -0
  273. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ridge.py +1246 -0
  274. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ridge_classifier.py +1248 -0
  275. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +1205 -0
  276. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/ridge_cv.py +1220 -0
  277. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/sgd_classifier.py +1352 -0
  278. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +1245 -0
  279. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/sgd_regressor.py +1319 -0
  280. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +1205 -0
  281. snowflake_ml_python-2.3.0/snowflake/ml/modeling/linear_model/tweedie_regressor.py +1231 -0
  282. snowflake_ml_python-2.3.0/snowflake/ml/modeling/manifold/isomap.py +1229 -0
  283. snowflake_ml_python-2.3.0/snowflake/ml/modeling/manifold/mds.py +1210 -0
  284. snowflake_ml_python-2.3.0/snowflake/ml/modeling/manifold/spectral_embedding.py +1212 -0
  285. snowflake_ml_python-2.3.0/snowflake/ml/modeling/manifold/tsne.py +1271 -0
  286. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/classification.py +1563 -0
  287. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/correlation.py +111 -0
  288. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/covariance.py +102 -0
  289. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/metrics_utils.py +349 -0
  290. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/ranking.py +383 -0
  291. snowflake_ml_python-2.3.0/snowflake/ml/modeling/metrics/regression.py +624 -0
  292. snowflake_ml_python-2.3.0/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +1283 -0
  293. snowflake_ml_python-2.3.0/snowflake/ml/modeling/mixture/gaussian_mixture.py +1260 -0
  294. snowflake_ml_python-2.3.0/snowflake/ml/modeling/model_selection/grid_search_cv.py +882 -0
  295. snowflake_ml_python-2.3.0/snowflake/ml/modeling/model_selection/randomized_search_cv.py +897 -0
  296. snowflake_ml_python-2.3.0/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1161 -0
  297. snowflake_ml_python-2.3.0/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1174 -0
  298. snowflake_ml_python-2.3.0/snowflake/ml/modeling/multiclass/output_code_classifier.py +1171 -0
  299. snowflake_ml_python-2.3.0/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1175 -0
  300. snowflake_ml_python-2.3.0/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1181 -0
  301. snowflake_ml_python-2.3.0/snowflake/ml/modeling/naive_bayes/complement_nb.py +1175 -0
  302. snowflake_ml_python-2.3.0/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1156 -0
  303. snowflake_ml_python-2.3.0/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1169 -0
  304. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +1234 -0
  305. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +1233 -0
  306. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/kernel_density.py +1203 -0
  307. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/local_outlier_factor.py +1237 -0
  308. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/nearest_centroid.py +1167 -0
  309. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/nearest_neighbors.py +1212 -0
  310. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +1233 -0
  311. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +1243 -0
  312. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1224 -0
  313. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +1185 -0
  314. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neural_network/mlp_classifier.py +1346 -0
  315. snowflake_ml_python-2.3.0/snowflake/ml/modeling/neural_network/mlp_regressor.py +1345 -0
  316. snowflake_ml_python-2.3.0/snowflake/ml/modeling/pipeline/pipeline.py +977 -0
  317. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/binarizer.py +164 -0
  318. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +509 -0
  319. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/label_encoder.py +177 -0
  320. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +221 -0
  321. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/min_max_scaler.py +280 -0
  322. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/normalizer.py +176 -0
  323. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +1594 -0
  324. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +759 -0
  325. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/polynomial_features.py +1173 -0
  326. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/robust_scaler.py +286 -0
  327. snowflake_ml_python-2.3.0/snowflake/ml/modeling/preprocessing/standard_scaler.py +265 -0
  328. snowflake_ml_python-2.3.0/snowflake/ml/modeling/semi_supervised/label_propagation.py +1181 -0
  329. snowflake_ml_python-2.3.0/snowflake/ml/modeling/semi_supervised/label_spreading.py +1190 -0
  330. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/linear_svc.py +1253 -0
  331. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/linear_svr.py +1220 -0
  332. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/nu_svc.py +1258 -0
  333. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/nu_svr.py +1213 -0
  334. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/svc.py +1263 -0
  335. snowflake_ml_python-2.3.0/snowflake/ml/modeling/svm/svr.py +1216 -0
  336. snowflake_ml_python-2.3.0/snowflake/ml/modeling/tree/decision_tree_classifier.py +1304 -0
  337. snowflake_ml_python-2.3.0/snowflake/ml/modeling/tree/decision_tree_regressor.py +1282 -0
  338. snowflake_ml_python-2.3.0/snowflake/ml/modeling/tree/extra_tree_classifier.py +1296 -0
  339. snowflake_ml_python-2.3.0/snowflake/ml/modeling/tree/extra_tree_regressor.py +1271 -0
  340. snowflake_ml_python-2.3.0/snowflake/ml/modeling/xgboost/xgb_classifier.py +1460 -0
  341. snowflake_ml_python-2.3.0/snowflake/ml/modeling/xgboost/xgb_regressor.py +1457 -0
  342. snowflake_ml_python-2.3.0/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +1466 -0
  343. snowflake_ml_python-2.3.0/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +1462 -0
  344. snowflake_ml_python-2.3.0/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +424 -0
  345. snowflake_ml_python-2.3.0/snowflake/ml/monitoring/_manager/model_monitor_manager.py +256 -0
  346. snowflake_ml_python-2.3.0/snowflake/ml/monitoring/entities/model_monitor_config.py +64 -0
  347. snowflake_ml_python-2.3.0/snowflake/ml/monitoring/explain_visualize.py +433 -0
  348. snowflake_ml_python-2.3.0/snowflake/ml/registry/_manager/model_manager.py +1059 -0
  349. snowflake_ml_python-2.3.0/snowflake/ml/registry/registry.py +704 -0
  350. snowflake_ml_python-2.3.0/snowflake/ml/utils/authentication.py +92 -0
  351. snowflake_ml_python-2.3.0/snowflake/ml/utils/sparse.py +94 -0
  352. snowflake_ml_python-2.3.0/snowflake/ml/utils/stage_file.py +184 -0
  353. snowflake_ml_python-2.3.0/snowflake/ml/version.py +2 -0
  354. snowflake_ml_python-2.3.0/snowflake_ml_python.egg-info/PKG-INFO +3440 -0
  355. snowflake_ml_python-2.3.0/snowflake_ml_python.egg-info/SOURCES.txt +552 -0
  356. snowflake_ml_python-2.3.0/snowflake_ml_python.egg-info/requires.txt +101 -0
  357. snowflake_ml_python-2.1.0/CHANGELOG.md +0 -2971
  358. snowflake_ml_python-2.1.0/PKG-INFO +0 -3396
  359. snowflake_ml_python-2.1.0/pyproject.toml +0 -56
  360. snowflake_ml_python-2.1.0/snowflake/cortex/_classify_text.py +0 -47
  361. snowflake_ml_python-2.1.0/snowflake/cortex/_complete.py +0 -509
  362. snowflake_ml_python-2.1.0/snowflake/cortex/_embed_text_1024.py +0 -44
  363. snowflake_ml_python-2.1.0/snowflake/cortex/_embed_text_768.py +0 -44
  364. snowflake_ml_python-2.1.0/snowflake/cortex/_extract_answer.py +0 -43
  365. snowflake_ml_python-2.1.0/snowflake/cortex/_finetune.py +0 -273
  366. snowflake_ml_python-2.1.0/snowflake/cortex/_sentiment.py +0 -40
  367. snowflake_ml_python-2.1.0/snowflake/cortex/_sse_client.py +0 -144
  368. snowflake_ml_python-2.1.0/snowflake/cortex/_summarize.py +0 -40
  369. snowflake_ml_python-2.1.0/snowflake/cortex/_translate.py +0 -46
  370. snowflake_ml_python-2.1.0/snowflake/cortex/_util.py +0 -91
  371. snowflake_ml_python-2.1.0/snowflake/ml/_internal/file_utils.py +0 -424
  372. snowflake_ml_python-2.1.0/snowflake/ml/_internal/lineage/lineage_utils.py +0 -105
  373. snowflake_ml_python-2.1.0/snowflake/ml/_internal/platform_capabilities.py +0 -248
  374. snowflake_ml_python-2.1.0/snowflake/ml/_internal/telemetry.py +0 -885
  375. snowflake_ml_python-2.1.0/snowflake/ml/_internal/type_utils.py +0 -69
  376. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/connection_params.py +0 -203
  377. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/db_utils.py +0 -50
  378. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/identifier.py +0 -396
  379. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/jwt_generator.py +0 -146
  380. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/mixins.py +0 -118
  381. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/parallelize.py +0 -112
  382. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -135
  383. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/query_result_checker.py +0 -275
  384. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/service_logger.py +0 -204
  385. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/snowflake_env.py +0 -127
  386. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -136
  387. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/sql_identifier.py +0 -118
  388. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/table_manager.py +0 -124
  389. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/tee.py +0 -85
  390. snowflake_ml_python-2.1.0/snowflake/ml/_internal/utils/temp_file_utils.py +0 -52
  391. snowflake_ml_python-2.1.0/snowflake/ml/data/_internal/arrow_ingestor.py +0 -364
  392. snowflake_ml_python-2.1.0/snowflake/ml/data/data_connector.py +0 -371
  393. snowflake_ml_python-2.1.0/snowflake/ml/data/data_ingestor.py +0 -44
  394. snowflake_ml_python-2.1.0/snowflake/ml/data/data_source.py +0 -23
  395. snowflake_ml_python-2.1.0/snowflake/ml/data/ingestor_utils.py +0 -72
  396. snowflake_ml_python-2.1.0/snowflake/ml/data/torch_utils.py +0 -100
  397. snowflake_ml_python-2.1.0/snowflake/ml/dataset/dataset.py +0 -495
  398. snowflake_ml_python-2.1.0/snowflake/ml/dataset/dataset_metadata.py +0 -105
  399. snowflake_ml_python-2.1.0/snowflake/ml/dataset/dataset_reader.py +0 -119
  400. snowflake_ml_python-2.1.0/snowflake/ml/experiment/_entities/run.py +0 -67
  401. snowflake_ml_python-2.1.0/snowflake/ml/experiment/_experiment_info.py +0 -63
  402. snowflake_ml_python-2.1.0/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -16
  403. snowflake_ml_python-2.1.0/snowflake/ml/experiment/_source_info.py +0 -514
  404. snowflake_ml_python-2.1.0/snowflake/ml/experiment/callback/keras.py +0 -89
  405. snowflake_ml_python-2.1.0/snowflake/ml/experiment/callback/lightgbm.py +0 -87
  406. snowflake_ml_python-2.1.0/snowflake/ml/experiment/callback/xgboost.py +0 -93
  407. snowflake_ml_python-2.1.0/snowflake/ml/experiment/experiment_tracking.py +0 -944
  408. snowflake_ml_python-2.1.0/snowflake/ml/experiment/utils.py +0 -20
  409. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/_compute_fn_validation.py +0 -253
  410. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/access_manager.py +0 -290
  411. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/aggregation.py +0 -342
  412. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/entity.py +0 -102
  413. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/examples/example_helper.py +0 -282
  414. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/feature.py +0 -385
  415. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/feature_group.py +0 -1415
  416. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/feature_store.py +0 -9588
  417. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/feature_view.py +0 -3089
  418. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -29
  419. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/metadata_manager.py +0 -1419
  420. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/online_service_http_client.py +0 -300
  421. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/realtime_config.py +0 -373
  422. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/realtime_dataset.py +0 -597
  423. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/realtime_registration.py +0 -993
  424. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/spec/builder.py +0 -1622
  425. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/spec/models.py +0 -469
  426. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -119
  427. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/stream_config.py +0 -295
  428. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/stream_source.py +0 -241
  429. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/streaming_registration.py +0 -1383
  430. snowflake_ml_python-2.1.0/snowflake/ml/feature_store/tile_sql_generator.py +0 -2200
  431. snowflake_ml_python-2.1.0/snowflake/ml/fileset/embedded_stage_fs.py +0 -153
  432. snowflake_ml_python-2.1.0/snowflake/ml/fileset/fileset.py +0 -587
  433. snowflake_ml_python-2.1.0/snowflake/ml/fileset/snowfs.py +0 -120
  434. snowflake_ml_python-2.1.0/snowflake/ml/fileset/stage_fs.py +0 -446
  435. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/data_utils.py +0 -124
  436. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/dto_schema.py +0 -140
  437. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/exception_utils.py +0 -372
  438. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/legacy.py +0 -225
  439. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/protocols.py +0 -591
  440. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/results.py +0 -96
  441. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_interop/utils.py +0 -203
  442. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/feature_flags.py +0 -133
  443. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/payload_utils.py +0 -759
  444. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/query_helper.py +0 -31
  445. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -18
  446. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -203
  447. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -244
  448. snowflake_ml_python-2.1.0/snowflake/ml/jobs/_utils/stage_utils.py +0 -182
  449. snowflake_ml_python-2.1.0/snowflake/ml/jobs/job.py +0 -1101
  450. snowflake_ml_python-2.1.0/snowflake/ml/jobs/job_definition.py +0 -554
  451. snowflake_ml_python-2.1.0/snowflake/ml/lineage/lineage_node.py +0 -143
  452. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -166
  453. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/batch_inference_task.py +0 -156
  454. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/model_impl.py +0 -486
  455. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/model_version_impl.py +0 -1628
  456. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/deployment_step.py +0 -36
  457. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/metadata_ops.py +0 -128
  458. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/model_ops.py +0 -1420
  459. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/param_ops.py +0 -494
  460. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/param_utils.py +0 -138
  461. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/ops/service_ops.py +0 -1379
  462. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -23
  463. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -77
  464. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -460
  465. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -95
  466. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/_base.py +0 -39
  467. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/model.py +0 -166
  468. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/model_version.py +0 -640
  469. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/service.py +0 -499
  470. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/stage.py +0 -31
  471. snowflake_ml_python-2.1.0/snowflake/ml/model/_client/sql/tag.py +0 -94
  472. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -244
  473. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_composer.py +0 -191
  474. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -211
  475. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -112
  476. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -97
  477. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -306
  478. snowflake_ml_python-2.1.0/snowflake/ml/model/_model_composer/model_method/utils.py +0 -38
  479. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_env/model_env.py +0 -559
  480. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handler.py +0 -85
  481. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/_base.py +0 -188
  482. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/custom.py +0 -261
  483. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -148
  484. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -67
  485. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -67
  486. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -56
  487. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -44
  488. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -44
  489. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -44
  490. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -68
  491. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/keras.py +0 -226
  492. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -490
  493. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -224
  494. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -568
  495. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -253
  496. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -288
  497. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -252
  498. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -547
  499. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -158
  500. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -274
  501. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_packager.py +0 -170
  502. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -29
  503. snowflake_ml_python-2.1.0/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -139
  504. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/core.py +0 -1464
  505. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -111
  506. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/pandas_handler.py +0 -243
  507. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/pytorch_handler.py +0 -120
  508. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/snowpark_handler.py +0 -180
  509. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -134
  510. snowflake_ml_python-2.1.0/snowflake/ml/model/_signatures/utils.py +0 -927
  511. snowflake_ml_python-2.1.0/snowflake/ml/model/code_path.py +0 -104
  512. snowflake_ml_python-2.1.0/snowflake/ml/model/custom_model.py +0 -494
  513. snowflake_ml_python-2.1.0/snowflake/ml/model/event_handler.py +0 -186
  514. snowflake_ml_python-2.1.0/snowflake/ml/model/model_signature.py +0 -797
  515. snowflake_ml_python-2.1.0/snowflake/ml/model/models/huggingface.py +0 -816
  516. snowflake_ml_python-2.1.0/snowflake/ml/model/models/huggingface_pipeline.py +0 -276
  517. snowflake_ml_python-2.1.0/snowflake/ml/model/type_hints.py +0 -428
  518. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -195
  519. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -148
  520. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/model_specifications.py +0 -141
  521. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/model_trainer.py +0 -32
  522. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -206
  523. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -72
  524. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -1182
  525. snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -190
  526. snowflake_ml_python-2.1.0/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -1212
  527. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -1193
  528. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -1227
  529. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/birch.py +0 -1188
  530. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -1239
  531. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/dbscan.py +0 -1202
  532. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -1223
  533. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/k_means.py +0 -1232
  534. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/mean_shift.py +0 -1204
  535. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -1263
  536. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/optics.py +0 -1271
  537. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -1208
  538. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -1269
  539. snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -1187
  540. snowflake_ml_python-2.1.0/snowflake/ml/modeling/compose/column_transformer.py +0 -1239
  541. snowflake_ml_python-2.1.0/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -1181
  542. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -1183
  543. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -1151
  544. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -1199
  545. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -1225
  546. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -1158
  547. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/min_cov_det.py +0 -1170
  548. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/oas.py +0 -1151
  549. snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -1157
  550. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -1265
  551. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -1206
  552. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/fast_ica.py +0 -1220
  553. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -1172
  554. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -1268
  555. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -1283
  556. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -1228
  557. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/pca.py +0 -1254
  558. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -1210
  559. snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -1191
  560. snowflake_ml_python-2.1.0/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -1222
  561. snowflake_ml_python-2.1.0/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -1174
  562. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -1184
  563. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -1180
  564. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -1224
  565. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -1218
  566. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -1356
  567. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -1328
  568. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -1354
  569. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -1357
  570. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -1349
  571. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -1333
  572. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -1218
  573. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -1352
  574. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -1324
  575. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -1209
  576. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -1194
  577. snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -1172
  578. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -1159
  579. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -1154
  580. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -1154
  581. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -1154
  582. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -1155
  583. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -1154
  584. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -1218
  585. snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -1147
  586. snowflake_ml_python-2.1.0/snowflake/ml/modeling/framework/_utils.py +0 -256
  587. snowflake_ml_python-2.1.0/snowflake/ml/modeling/framework/base.py +0 -854
  588. snowflake_ml_python-2.1.0/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -1244
  589. snowflake_ml_python-2.1.0/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -1234
  590. snowflake_ml_python-2.1.0/snowflake/ml/modeling/impute/iterative_imputer.py +0 -1275
  591. snowflake_ml_python-2.1.0/snowflake/ml/modeling/impute/knn_imputer.py +0 -1201
  592. snowflake_ml_python-2.1.0/snowflake/ml/modeling/impute/missing_indicator.py +0 -1175
  593. snowflake_ml_python-2.1.0/snowflake/ml/modeling/impute/simple_imputer.py +0 -464
  594. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -1150
  595. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -1198
  596. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -1174
  597. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -1161
  598. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -1159
  599. snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -1193
  600. snowflake_ml_python-2.1.0/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -1184
  601. snowflake_ml_python-2.1.0/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -1180
  602. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ard_regression.py +0 -1202
  603. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -1212
  604. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/elastic_net.py +0 -1220
  605. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -1254
  606. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -1198
  607. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -1181
  608. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lars.py +0 -1200
  609. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lars_cv.py +0 -1208
  610. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lasso.py +0 -1211
  611. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -1240
  612. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -1221
  613. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -1222
  614. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -1205
  615. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/linear_regression.py +0 -1181
  616. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -1290
  617. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -1312
  618. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -1201
  619. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -1243
  620. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -1193
  621. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -1229
  622. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -1167
  623. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -1252
  624. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -1236
  625. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/perceptron.py +0 -1251
  626. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -1198
  627. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -1255
  628. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ridge.py +0 -1246
  629. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -1248
  630. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -1205
  631. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -1220
  632. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -1352
  633. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -1245
  634. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -1319
  635. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -1205
  636. snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -1231
  637. snowflake_ml_python-2.1.0/snowflake/ml/modeling/manifold/isomap.py +0 -1229
  638. snowflake_ml_python-2.1.0/snowflake/ml/modeling/manifold/mds.py +0 -1210
  639. snowflake_ml_python-2.1.0/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -1212
  640. snowflake_ml_python-2.1.0/snowflake/ml/modeling/manifold/tsne.py +0 -1271
  641. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/classification.py +0 -1563
  642. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/correlation.py +0 -111
  643. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/covariance.py +0 -102
  644. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/metrics_utils.py +0 -349
  645. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/ranking.py +0 -385
  646. snowflake_ml_python-2.1.0/snowflake/ml/modeling/metrics/regression.py +0 -625
  647. snowflake_ml_python-2.1.0/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -1283
  648. snowflake_ml_python-2.1.0/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -1260
  649. snowflake_ml_python-2.1.0/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -881
  650. snowflake_ml_python-2.1.0/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -896
  651. snowflake_ml_python-2.1.0/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -1161
  652. snowflake_ml_python-2.1.0/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -1174
  653. snowflake_ml_python-2.1.0/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -1171
  654. snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -1175
  655. snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -1181
  656. snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -1175
  657. snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -1156
  658. snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -1169
  659. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -1234
  660. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -1233
  661. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/kernel_density.py +0 -1203
  662. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -1237
  663. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -1167
  664. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -1212
  665. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -1233
  666. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -1243
  667. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -1224
  668. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -1185
  669. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -1346
  670. snowflake_ml_python-2.1.0/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -1345
  671. snowflake_ml_python-2.1.0/snowflake/ml/modeling/pipeline/pipeline.py +0 -989
  672. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/binarizer.py +0 -164
  673. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -509
  674. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -177
  675. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -221
  676. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -280
  677. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/normalizer.py +0 -176
  678. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -1594
  679. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -759
  680. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -1173
  681. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -286
  682. snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -265
  683. snowflake_ml_python-2.1.0/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -1181
  684. snowflake_ml_python-2.1.0/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -1190
  685. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/linear_svc.py +0 -1253
  686. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/linear_svr.py +0 -1220
  687. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/nu_svc.py +0 -1258
  688. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/nu_svr.py +0 -1213
  689. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/svc.py +0 -1263
  690. snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/svr.py +0 -1216
  691. snowflake_ml_python-2.1.0/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -1304
  692. snowflake_ml_python-2.1.0/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -1282
  693. snowflake_ml_python-2.1.0/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -1296
  694. snowflake_ml_python-2.1.0/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -1271
  695. snowflake_ml_python-2.1.0/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -1460
  696. snowflake_ml_python-2.1.0/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -1457
  697. snowflake_ml_python-2.1.0/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -1466
  698. snowflake_ml_python-2.1.0/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -1462
  699. snowflake_ml_python-2.1.0/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -424
  700. snowflake_ml_python-2.1.0/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -256
  701. snowflake_ml_python-2.1.0/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -65
  702. snowflake_ml_python-2.1.0/snowflake/ml/monitoring/explain_visualize.py +0 -433
  703. snowflake_ml_python-2.1.0/snowflake/ml/registry/_manager/model_manager.py +0 -933
  704. snowflake_ml_python-2.1.0/snowflake/ml/registry/registry.py +0 -707
  705. snowflake_ml_python-2.1.0/snowflake/ml/utils/authentication.py +0 -93
  706. snowflake_ml_python-2.1.0/snowflake/ml/utils/sparse.py +0 -95
  707. snowflake_ml_python-2.1.0/snowflake/ml/utils/stage_file.py +0 -184
  708. snowflake_ml_python-2.1.0/snowflake/ml/version.py +0 -2
  709. snowflake_ml_python-2.1.0/snowflake_ml_python.egg-info/PKG-INFO +0 -3396
  710. snowflake_ml_python-2.1.0/snowflake_ml_python.egg-info/SOURCES.txt +0 -551
  711. snowflake_ml_python-2.1.0/snowflake_ml_python.egg-info/requires.txt +0 -102
  712. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/LICENSE.txt +0 -0
  713. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/README.md +0 -0
  714. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/setup.cfg +0 -0
  715. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/__init__.py +0 -0
  716. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/env.py +0 -0
  717. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/env_utils.py +0 -0
  718. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  719. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  720. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  721. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  722. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  723. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  724. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  725. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  726. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  727. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  728. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  729. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  730. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  731. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/init_utils.py +0 -0
  732. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  733. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  734. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  735. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  736. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/result.py +0 -0
  737. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/url.py +0 -0
  738. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/__init__.py +0 -0
  739. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/__init__.py +0 -0
  740. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  741. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/__init__.py +0 -0
  742. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  743. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
  744. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  745. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  746. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  747. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
  748. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
  749. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/__init__.py +0 -0
  750. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  751. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  752. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  753. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  754. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  755. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  756. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  757. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  758. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  759. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  760. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  761. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  762. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  763. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  764. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  765. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  766. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  767. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  768. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  769. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  770. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  771. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
  772. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
  773. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/online_service.py +0 -0
  774. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
  775. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/request_source.py +0 -0
  776. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
  777. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
  778. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  779. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/__init__.py +0 -0
  780. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  781. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  782. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
  783. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
  784. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
  785. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  786. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  787. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
  788. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
  789. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
  790. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
  791. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/decorators.py +0 -0
  792. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/manager.py +0 -0
  793. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/lineage/__init__.py +0 -0
  794. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/__init__.py +0 -0
  795. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
  796. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
  797. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
  798. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
  799. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +0 -0
  800. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
  801. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
  802. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
  803. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  804. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  805. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
  806. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  807. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
  808. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  809. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
  810. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  811. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  812. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  813. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
  814. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
  815. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +0 -0
  816. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
  817. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
  818. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
  819. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
  820. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
  821. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
  822. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
  823. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
  824. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
  825. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
  826. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
  827. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
  828. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
  829. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
  830. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
  831. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
  832. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
  833. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
  834. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
  835. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
  836. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
  837. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  838. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  839. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  840. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  841. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  842. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  843. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  844. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  845. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  846. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  847. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  848. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  849. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  850. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  851. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
  852. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  853. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  854. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  855. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  856. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
  857. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/compute_pool.py +0 -0
  858. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/inference_engine.py +0 -0
  859. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/openai_signatures.py +0 -0
  860. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/target_platform.py +0 -0
  861. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/task.py +0 -0
  862. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/volatility.py +0 -0
  863. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  864. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/optional_dependency.py +0 -0
  865. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  866. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  867. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  868. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  869. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  870. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  871. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  872. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  873. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  874. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  875. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  876. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  877. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  878. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  879. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  880. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  881. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  882. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  883. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  884. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  885. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  886. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  887. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  888. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  889. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  890. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  891. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  892. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  893. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  894. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  895. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  896. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  897. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  898. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  899. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  900. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  901. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  902. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  903. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/shap.py +0 -0
  904. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/__init__.py +0 -0
  905. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  906. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/html_utils.py +0 -0
  907. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/sql_client.py +0 -0
  908. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  909. {snowflake_ml_python-2.1.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -0,0 +1,3016 @@
1
+ # Release History
2
+
3
+ ## 2.3.0
4
+
5
+ ### New Features
6
+
7
+ * Experiment Tracking: `ExperimentTracking` accepts an optional `model_registry` parameter. When provided,
8
+ `log_model` stores models in the registry's database and schema instead of the experiment's, so experiments
9
+ and models can live in separate schemas.
10
+
11
+ ### Bug Fixes
12
+
13
+ * Feature Store: Offline reads of a feature view with several list aggregations or several secondary-key
14
+ aggregation windows used to return incomplete results in some scenarios. The bug has been fixed
15
+ and the existing feature views pick up the fix on their next read, with no re-registration or backfill required.
16
+
17
+ ### Behavior Changes
18
+
19
+ ### Deprecations
20
+
21
+ ## 2.2.0 (2026-09-21)
22
+
23
+ ### New Features
24
+
25
+ * Dependencies: Support scikit-learn < 2, including 1.9.
26
+
27
+ * Feature Store: The Postgres-backed Online Feature Store (Public Preview) now supports feature views with
28
+ Iceberg-backed offline storage (`StorageConfig(format=StorageFormat.ICEBERG)`).
29
+
30
+ * ML Jobs: `runtime_environment` version pins without a Python suffix now select an image matching the submitting
31
+ client's Python version. Pins with an explicit suffix, such as `-py311`, continue to select that Python version.
32
+
33
+ ### Bug Fixes
34
+
35
+ * Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
36
+ executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
37
+ `EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
38
+ primary role is not the owner.
39
+
40
+ ### Behavior Changes
41
+
42
+ * Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
43
+ installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
44
+ in `snowflake.ml.modeling.preprocessing` already requires that extra.
45
+
46
+ ### Deprecations
47
+
48
+ ## 2.1.0 (2026-09-14)
49
+
50
+ ### New Features
51
+
52
+ * Experiment Tracking: Added `ExperimentTracking.get_metric_history`, which returns every logged step of a
53
+ metric instead of only the value at the highest step reported by `list_metrics`. Pass a metric name to scope
54
+ the result to one metric, or omit it to get every metric of the run. The result is a lazy Snowpark DataFrame
55
+ with `name`, `step`, `value`, and `timestamp` columns, so filtering and aggregation run in Snowflake.
56
+
57
+ * Feature Store: `list_feature_views()` now surfaces the online feature table's setup readiness in the
58
+ `online_config` JSON as `setup_status`, `setup_error_msg` and `setup_time`, for both batch/streaming
59
+ and realtime feature views. The keys are present only when setup-readiness information is available
60
+ for the table, so test for key presence. `SETUP_NOTREADY` means setup has not concluded yet, not
61
+ that setup failed; `SETUP_FAILED` is the failure signal. Note that `SETUP_READY` is also reported
62
+ when nothing has ever been reported for the table, and in that case `setup_status` may later change
63
+ to `SETUP_FAILED`.
64
+
65
+ ### Bug Fixes
66
+
67
+ * Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
68
+ now re-logged from the scikit-learn estimator using the serialization format it was saved with,
69
+ instead of from MLflow's PyFunc wrapper with the version-dependent default format.
70
+
71
+ ### Behavior Changes
72
+
73
+ ### Deprecations
74
+
75
+ ## 2.0.0 (2026-09-09)
76
+
77
+ Release candidate for the `snowflake-ml-python` 2.0 major release. This is a breaking
78
+ release that removes deprecated APIs and slims down the default install footprint.
79
+
80
+ ### New Features
81
+
82
+ * Feature Store: added `alter_online_service(size=...)`, which changes the size of an existing Online Service. The
83
+ call returns as soon as the request is recorded; the change runs in the background and can take hours on a large
84
+ Online Service, which keeps serving online reads and stream ingestion throughout. Poll
85
+ `get_online_service_status()` until `status` is `RUNNING` at the requested size.
86
+
87
+ * ML Jobs: `submit_file`, `submit_directory`, `submit_from_stage`, and `@remote` accept a `comment` kwarg, attached as
88
+ the comment on the job service. When omitted, the comment defaults to the `application` name configured on the
89
+ session, so jobs submitted by a tool or partner integration remain attributable after the fact.
90
+
91
+ ### Bug Fixes
92
+
93
+ * Feature Store: `delete_feature_view` now drops the online feature table before the
94
+ offline dynamic table or view, so a dependent FeatureGroup (error 099940) does not
95
+ leave an orphaned offline object.
96
+
97
+ ### Behavior Changes
98
+
99
+ * Registry: Models logged from a Snowflake Container Runtime notebook without an explicit
100
+ `target_platforms` now default to both Warehouse and Snowpark Container Services instead of
101
+ Snowpark Container Services only. Warehouse is no longer dropped from the default target
102
+ platforms.
103
+ * Dependencies: `scikit-learn`, `xgboost`, and `shap` are no longer required dependencies of
104
+ `snowflake-ml-python`. They are now optional extras. Install them with
105
+ `pip install snowflake-ml-python[scikit-learn]`, `[xgboost]`, `[shap]`, or `[all]` when using
106
+ the corresponding functionality. Extras are independent: `[xgboost]` and `[lightgbm]` install
107
+ only those libraries, not `scikit-learn`. Native XGBoost or LightGBM models (for example
108
+ logging to the Model Registry) only need `[xgboost]` or `[lightgbm]`.
109
+ `snowflake.ml.modeling` estimators always require `scikit-learn`, so the XGBoost and LightGBM
110
+ wrappers need `pip install "snowflake-ml-python[xgboost,scikit-learn]"` or
111
+ `"snowflake-ml-python[lightgbm,scikit-learn]"`.
112
+ * Feature Store: Added an optional `feature_store` extra. Install `snowflake-ml-python[feature_store]`
113
+ to pull in `httpx`, which is required for online feature serving reads. `httpx` is not installed by
114
+ the default `snowflake-ml-python` install. Conda users still need to install `httpx` separately
115
+ (for example `conda install httpx`) to use the online Feature Store.
116
+ * Modeling: Importing a `snowflake.ml.modeling` subpackage (for example
117
+ `snowflake.ml.modeling.linear_model`, `snowflake.ml.modeling.xgboost`,
118
+ `snowflake.ml.modeling.lightgbm`, or `snowflake.ml.modeling.preprocessing`) without the optional
119
+ dependencies it needs now raises an actionable `ImportError` that names only the missing
120
+ package(s), instead of a confusing missing-attribute error.
121
+ `scikit-learn` and `xgboost` are attributed to the 2.0 dependency change; `lightgbm` was
122
+ already an optional extra before 2.0.
123
+
124
+ ### Deprecations
125
+
126
+ * Modeling: The `snowflake.ml.modeling` estimators and preprocessing transformers are deprecated and
127
+ will be removed in a future release. Importing a `snowflake.ml.modeling` subpackage now emits a
128
+ `DeprecationWarning`. Train models with the native scikit-learn, XGBoost, or LightGBM estimators
129
+ and log them to the Snowflake Model Registry (`snowflake.ml.registry`) instead.
130
+
131
+ ### Breaking Changes
132
+
133
+ * Generic: Require python >= 3.10. Python 3.9 is no longer supported.
134
+ * Removed the deprecated `snowflake.ml.utils.connection_params.SnowflakeLoginOptions` public API
135
+ (deprecated since 1.8.5).
136
+ * Registry: `ModelVersion.run_batch` now runs on `EXECUTE INFERENCE JOB SERVICE`. The single
137
+ `job_spec` argument is replaced by the `resources_spec`, `inference_spec`, and `image_build_spec`
138
+ blocks, and input may be supplied as either a DataFrame (`X`) or an existing stage path
139
+ (`input_stage_location`). `output_spec.stage_location` is treated as a base: results are written
140
+ under a per-job subdirectory, `<stage_location>/<job_name>/`. `output_spec.base_stage_location`,
141
+ `job_spec.job_name_prefix`, and `job_spec.block` no longer exist.
142
+ * Registry: Removed the `snowflake.ml.model.batch` module. Use `snowflake.ml.model.batch_inference`,
143
+ which exports `BatchInferenceTask` alongside the input, output, resources, inference, and image
144
+ build spec classes.
145
+ * Feature Store: Feature views created before 1.42.0 that use the `last_distinct_n` or
146
+ `first_distinct_n` aggregation function can no longer be read offline. `generate_dataset`,
147
+ `generate_training_set`, `retrieve_feature_values`, and `read_feature_view` now raise a
148
+ `ValueError` for such feature views. Re-create the feature view to restore offline reads.
149
+ * Dependencies: `snowflake-snowpark-python` must now be `>=1.37.0`. Earlier releases import
150
+ `pkg_resources`, which `setuptools` removed in 82.0.0, so they fail to import in environments
151
+ with a current `setuptools`.
152
+
153
+ ## 1.54.0 (2026-08-31)
154
+
155
+ ### New Features
156
+
157
+ * Registry: `log_model(..., options={"case_sensitive": True})` and
158
+ `options={"max_batch_size": N}` apply those settings to all methods. Per-method
159
+ `method_options` still override the global values.
160
+
161
+ * Feature Store: `create_online_service` accepts a `size` kwarg naming the size to provision the Online
162
+ Service at, one of `"XS"`, `"S"`, `"M"`, `"L"`, `"XL"`, `"2XL"`, `"3XL"` (case-insensitive). When
163
+ omitted, the server-side default applies; accounts that cap the available size provision at their
164
+ cap. `get_online_service_status()` now reports the provisioned `size`, which is `None` for services
165
+ created before sizes were recorded.
166
+
167
+ * Experiment Tracking: Source provenance now also records the id of the enclosing ML job when a run is created from
168
+ inside one.
169
+
170
+ ### Bug Fixes
171
+
172
+ * Feature Store: Feature View metadata tags carrying unknown keys (including a legacy `refresh_mode`)
173
+ no longer fail to deserialize; unknown keys are ignored on read and the tag still does not persist
174
+ `refresh_mode`.
175
+ * Registry: Fixed `ModelVersion.load()` failing with `ValueError: ... is not a valid SQL identifier`
176
+ when the model's owner role is a quoted identifier.
177
+ * Feature Store: Fixed FeatureStore.update_feature_view() failing with `SQL compilation error:
178
+ invalid value 'ADAPTIVE' for property 'REFRESH_MODE'` when enabling online storage for an existing
179
+ feature view.
180
+ * Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
181
+ changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
182
+ change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
183
+
184
+ ### Behavior Changes
185
+
186
+ ### Deprecations
187
+
188
+ ## 1.53.0 (2026-08-24)
189
+
190
+ ### New Features
191
+
192
+ * ML Jobs: `submit_file`, `submit_directory`, and `submit_from_stage` accept a `parallel` kwarg (default `False`).
193
+ With `parallel=True`, the entrypoint is executed directly on every instance with the job topology injected into the
194
+ environment (`SNOWFLAKE_JOB_INDEX`, `SNOWFLAKE_JOBS_COUNT`, `MLRS_HEAD_IP`, `MLRS_RDZV_PORT`, `MLRS_NODE_IPS`).
195
+ Not supported for callable (`@remote`) payloads.
196
+
197
+ * ML Jobs: added `MLJob.distributed_result()`, the result API for distributed (e.g. `parallel=True`) jobs, which
198
+ have no single head result. On full success it returns a `DistributedResult` (`success`, per-instance `exit_codes`,
199
+ `failed_instance`, and instance 0's `return_value`); if any instance failed it raises `DistributedJobError`, which
200
+ carries that `DistributedResult` as `.result` and the earliest-failing instance's reconstructed exception as its
201
+ cause. `DistributedResult` and `DistributedJobError` are exported from `snowflake.ml.jobs`.
202
+
203
+ * ML Jobs: `submit_file`, `submit_directory`, and `submit_from_stage` accept a `preflight` kwarg, supported only
204
+ together with `parallel=True`. It takes the name of a check level, run on every instance before the entrypoint:
205
+ `"wiring"` checks the rendezvous plus a small collective, and `"reference"` additionally times a short synthetic
206
+ DDP step and reports its step times from instance 0. If a requested check fails, the job aborts without running
207
+ the entrypoint and the failure surfaces through `distributed_result()`. A check that does not apply to the job
208
+ (`"reference"` on a CPU pool or a single instance) is reported as skipped and the job continues. Covers only the
209
+ PyTorch c10d rendezvous backend.
210
+
211
+ * Feature Store: Iceberg-backed feature views can enable online storage when using the Postgres online store
212
+ (`OnlineConfig(store_type=OnlineStoreType.POSTGRES)`). Online storage with Iceberg remains unsupported for
213
+ other store types.
214
+
215
+ ### Bug Fixes
216
+
217
+ ### Behavior Changes
218
+
219
+ * Feature Store: `register_feature_view` now records `FV_SOURCE_REFS` metadata for managed batch
220
+ feature views (derived from the `feature_df` schema) when the caller does not supply
221
+ `source_refs`. Streaming and realtime feature views are unaffected.
222
+
223
+ ### Deprecations
224
+
225
+ ## 1.52.0 (2026-08-20)
226
+
227
+ ### New Features
228
+
229
+ ### Bug Fixes
230
+
231
+ ### Behavior Changes
232
+
233
+ * Feature Store: `stream_ingest` now reuses the Online Service ingest endpoint cached on the
234
+ `StreamSource` by `get_stream_source`, avoiding a per-call server status round-trip.
235
+
236
+ ### Deprecations
237
+
238
+ ## 1.51.0 (2026-08-12)
239
+
240
+ ### New Features
241
+
242
+ * ML Jobs: `artifact_repositories` now accepts a list of repositories, allowing multiple artifact
243
+ repositories to be specified for a job.
244
+ * Registry: Added support for logging and running MLflow 3.x models.
245
+
246
+ ### Bug Fixes
247
+
248
+ * Registry: Fixed a bug where an MLflow model logged with
249
+ `target_platforms=["SNOWPARK_CONTAINER_SERVICES"]` could drop its pip dependencies, leaving the
250
+ deployed model missing required packages.
251
+
252
+ ### Behavior Changes
253
+
254
+ ### Deprecations
255
+
256
+ ## 1.50.0 (2026-08-03)
257
+
258
+ ### New Features
259
+
260
+ ### Bug Fixes
261
+
262
+ ### Behavior Changes
263
+
264
+ ### Deprecations
265
+
266
+ ## 1.49.0 (2026-07-29)
267
+
268
+ ### New Features
269
+
270
+ * Experiment Tracking: `ExperimentTracking` now captures best-effort source provenance (entry-point filename and any
271
+ surrounding git commit, branch, and remote URL) for each new run by default. Pass `capture_source_info=False` to
272
+ disable it. Collection is always non-fatal and never blocks run creation.
273
+
274
+ ### Bug Fixes
275
+
276
+ * Registry: Fixed `ModelVersion.load()` failing with `Result for query <id> has expired` inside Snowflake Container
277
+ Runtime notebooks. Model file downloads now use the `session.file.get` FileOperation API (the same mechanism used
278
+ when logging a model) instead of a raw `GET` query, avoiding a dependency on `collect()` result sets.
279
+
280
+ ### Behavior Changes
281
+
282
+ ### Deprecations
283
+
284
+ ## 1.48.0 (2026-07-22)
285
+
286
+ ### New Features
287
+
288
+ * Experiment Tracking: `ExperimentTracking` now captures best-effort source provenance (entry-point filename and any
289
+ surrounding git commit, branch, and remote URL) for each new run by default. Pass `capture_source_info=False` to
290
+ disable it. Collection is always non-fatal and never blocks run creation.
291
+
292
+ ### Bug Fixes
293
+
294
+ * Registry: Fixed a bug where logging a model with explainability enabled could fail with a data validation error
295
+ ("There is no non-null data in column ...") when a numeric input column was entirely null within the background
296
+ sample. The `explain` method now reuses the model's existing input signature instead of re-inferring it from the
297
+ sample.
298
+
299
+ ### Behavior Changes
300
+
301
+ ### Deprecations
302
+
303
+ ## 1.47.0 (2026-07-15)
304
+
305
+ ### New Features
306
+
307
+ * Experiment Tracking: Added `ExperimentTracking.list_model_versions` to retrieve the model versions that were
308
+ logged under a run. Models logged via `log_model` inside a run are linked to that run through Snowflake lineage,
309
+ and this method traverses that lineage to return the corresponding `ModelVersion` objects.
310
+
311
+ ```python
312
+ from snowflake.ml.experiment import ExperimentTracking
313
+
314
+ exp = ExperimentTracking(session)
315
+ exp.set_experiment("MY_EXPERIMENT")
316
+ with exp.start_run(run_name="MY_RUN"):
317
+ exp.log_model(model, model_name="MY_MODEL", sample_input_data=X)
318
+
319
+ model_versions = exp.list_model_versions(run_name="MY_RUN")
320
+ ```
321
+
322
+ ### Bug Fixes
323
+
324
+ * Experiment Tracking: Fix a bug where `.set_experiment` does not recreate an experiment deleted in Snowsight
325
+
326
+ ### Behavior Changes
327
+
328
+ * Registry: `enable_explainability` now defaults to `False` for all model types when logging a model. Previously it
329
+ defaulted to `True` for XGBoost, LightGBM, and CatBoost models and was auto-enabled for supported scikit-learn and
330
+ Snowpark ML modeling models when running in the Warehouse. To generate an `explain` method, explicitly pass
331
+ `options={"enable_explainability": True}` to `log_model` (this requires `sample_input_data` for supported model
332
+ types).
333
+
334
+ ### Deprecations
335
+
336
+ ## 1.46.0 (2026-07-07)
337
+
338
+ ### New Features
339
+
340
+ ### Bug Fixes
341
+
342
+ ### Behavior Changes
343
+
344
+ * Registry: For Snowpark ML Pipeline models with explainability enabled, explanations now cover only the columns the
345
+ final estimator was actually trained on (its `input_cols`). Untransformed passthrough columns (e.g. raw string
346
+ columns left in place by an encoder using new `output_cols`, or the label column) are no longer included in the
347
+ explain output. This also fixes a failure where such passthrough columns could reach the SHAP explainer and raise an
348
+ error during `log_model(..., enable_explainability=True)`.
349
+
350
+ ### Deprecations
351
+
352
+ ## 1.45.0 (2026-07-01)
353
+
354
+ ### New Features
355
+
356
+ * Feature Store: `FeatureView` now supports an `initialization_warehouse` that is used for the initial build and any
357
+ subsequent reinitializations of the backing dynamic table (a full scan of the source data), while `warehouse`
358
+ continues to drive the lighter incremental refreshes. This mirrors the dynamic table `INITIALIZATION_WAREHOUSE`
359
+ knob, lets you pair a larger warehouse for initialization with a smaller one for steady-state refresh, and is also
360
+ used for the one-time backfill of streaming feature views. It can be set at registration, changed via
361
+ `update_feature_view(initialization_warehouse=...)`, and is surfaced by `list_feature_views(verbose=True)`.
362
+
363
+ ```python
364
+ draft_fv = FeatureView(
365
+ name="F_TRIP",
366
+ entities=[entity],
367
+ feature_df=feature_df,
368
+ refresh_freq="1d",
369
+ warehouse="SMALL_WH", # incremental refreshes
370
+ initialization_warehouse="LARGE_WH", # initial build / reinitialization
371
+ )
372
+ fv = fs.register_feature_view(draft_fv, version="1.0")
373
+ ```
374
+
375
+ * Registry: LLM models deployed with the OpenAI chat signatures now support structured outputs
376
+ through an optional `response_format` param matching the OpenAI Chat Completions API
377
+ (`{"type": "json_schema", "json_schema": {"name": "...", "schema": {...}}}`), letting callers
378
+ constrain model output to a JSON Schema.
379
+
380
+ ```python
381
+ from pydantic import BaseModel
382
+ import pandas as pd
383
+
384
+ class CityCountry(BaseModel):
385
+ city: str
386
+ country: str
387
+
388
+ response_format = {
389
+ "type": "json_schema",
390
+ "json_schema": {
391
+ "name": "city_country",
392
+ "schema": CityCountry.model_json_schema(),
393
+ },
394
+ }
395
+
396
+ x_df = pd.DataFrame.from_records(
397
+ [
398
+ {
399
+ "messages": [
400
+ {
401
+ "role": "user",
402
+ "content": [
403
+ {"type": "text", "text": "What is the capital of France?"},
404
+ ],
405
+ },
406
+ ],
407
+ }
408
+ ]
409
+ )
410
+
411
+ mv.run(
412
+ X=x_df,
413
+ params={"response_format": response_format},
414
+ service_name=...,
415
+ )
416
+ ```
417
+
418
+ ### Bug Fixes
419
+
420
+ ### Behavior Changes
421
+
422
+ ### Deprecations
423
+
424
+ ## 1.44.0 (2026-06-23)
425
+
426
+ ### New Features
427
+
428
+ ### Bug Fixes
429
+
430
+ ### Behavior Changes
431
+
432
+ ### Deprecations
433
+
434
+ ## 1.43.0 (2026-06-16)
435
+
436
+ ### New Features
437
+
438
+ * Registry: `inference_engine_options["engine"]` now accepts case-insensitive strings in addition to
439
+ `InferenceEngine` enum members. Supported values are `"vllm"` and `"python_generic"` (for example,
440
+ `"vLLM"`, `"VLLM"`, and `"PYTHON_GENERIC"` are all accepted). This applies to `ModelVersion.create_service()`
441
+ and `ModelVersion.run_batch()`.
442
+
443
+ ```python
444
+ from snowflake.ml.registry import Registry
445
+
446
+ registry = Registry(session)
447
+ mv = registry.get_model("my_model").version("v1")
448
+
449
+ mv.create_service(
450
+ service_name="my_vllm_service",
451
+ service_compute_pool="GPU_COMPUTE_POOL",
452
+ gpu_requests="1",
453
+ inference_engine_options={
454
+ "engine": "vLLM",
455
+ "engine_args_override": ["--max-model-len=4096"],
456
+ },
457
+ )
458
+
459
+ job = mv.run_batch(
460
+ compute_pool="GPU_COMPUTE_POOL",
461
+ X=input_df,
462
+ output_spec=output_spec,
463
+ inference_engine_options={
464
+ "engine": "python_generic",
465
+ },
466
+ )
467
+ ```
468
+
469
+ ### Bug Fixes
470
+
471
+ * Registry: Fixed `explain()` failing with type mismatch errors when passing a Snowpark DataFrame.
472
+ Snowpark DataFrame columns are now explicitly cast to match model signature types before SQL
473
+ generation. Table functions (used by `explain`) enforce stricter type coercion than scalar functions
474
+ (used by `predict`), so columns that were implicitly coerced for `predict` would be rejected by
475
+ `explain`.
476
+
477
+ ### Behavior Changes
478
+
479
+ * Registry: `SentenceTransformers` models no longer hard-code a default inference batch size of 32.
480
+ When `batch_size` is not specified at `log_model` time and is not overridden at inference, the
481
+ `sentence-transformers` library default is used. To pin a specific size, pass `batch_size` via
482
+ `log_model(..., options={"batch_size": N})` or as an inference-time parameter. All
483
+ `SentenceTransformers` models logged with this release require a client/serving runtime on version
484
+ 1.43.0 or later (regardless of whether `batch_size` was specified).
485
+
486
+ ### Deprecations
487
+
488
+ ## 1.42.0 (2026-06-11)
489
+
490
+ ### New Features
491
+
492
+ * Registry: Support `truncate_dim` for `SentenceTransformers` models. Truncation set at
493
+ construction (`SentenceTransformer(..., truncate_dim=N)`) is captured when the model is logged
494
+ and restored on reload. On clients with `sentence-transformers` 5.0.0 or later, `truncate_dim`
495
+ is also exposed as a runtime parameter in the model signature.
496
+
497
+ * Registry: `log_model()` now captures a representative row from `sample_input_data` and stores it alongside the model
498
+ so inference code snippets shown in the model registry UI can be pre-filled with realistic values. Pass
499
+ `options={"capture_sample_input_data": False}` to opt out (e.g., for sensitive data); generic placeholder values
500
+ will be used in the snippets instead.
501
+
502
+ ### Bug Fixes
503
+
504
+ * Registry: Pin `transformers<5` for additional HuggingFace pipeline tasks removed in
505
+ `transformers 5.x` (`summarization`, `text2text-generation`, `question-answering`, and
506
+ `translation_*`), preventing deployment failures from missing pipeline classes.
507
+
508
+ ### Behavior Changes
509
+
510
+ ### Deprecations
511
+
512
+ ## 1.41.0 (2026-05-27)
513
+
514
+ ### New Features
515
+
516
+ * Registry: Extended `ParamSpec` support to MLflow PyFunc, LightGBM, XGBoost, and CatBoost models.
517
+ Parameters declared in the model signature can now be passed at inference time.
518
+
519
+ ### Bug Fixes
520
+
521
+ ### Behavior Changes
522
+
523
+ ### Deprecations
524
+
525
+ ## 1.40.0 (2026-05-19)
526
+
527
+ ### New Features
528
+
529
+ ### Bug Fixes
530
+
531
+ * Feature Store: `get_feature_view()` now correctly preserves `online_config` for feature views whose
532
+ names require SQL quoting (mixed case or special characters such as a space). Previously the returned
533
+ FeatureView reported `online=False` even when online was enabled at registration, causing
534
+ `read_feature_view(store_type=ONLINE)` to fail with "Online store is not enabled".
535
+
536
+ ### Behavior Changes
537
+
538
+ * Registry: `log_model(..., options=...)` now rejects unknown top-level keys and unknown keys inside each
539
+ `method_options` entry (for example misspellings or options that belong to a different model framework).
540
+ Previously those keys were ignored. Validation is based on the public save-option TypedDicts and runs
541
+ before dependency reconciliation.
542
+
543
+ * Registry: `use_gpu` is declared on the CatBoost, XGBoost, PyTorch, and TorchScript save-option
544
+ TypedDicts to match the save paths that already read this flag.
545
+
546
+ ### Deprecations
547
+
548
+ ## 1.39.0
549
+
550
+ ### New Features
551
+
552
+ ### Bug Fixes
553
+
554
+ * Feature Store: `update_feature_view` now correctly handles every transition between duration-based
555
+ and CRON-based `refresh_freq`. Previously a CRON expression was forwarded to the Dynamic Table's
556
+ `TARGET_LAG` (which Snowflake rejects), `duration → cron` failed because the companion Task did not
557
+ yet exist, and `cron → duration` left the Task orphaned and continuing to fire on its old schedule.
558
+ All four `(old, new)` transitions now correctly create, alter, or drop the Task as needed, with
559
+ symmetric rollback on failure.
560
+
561
+ ### Behavior Changes
562
+
563
+ * Feature Store: For CRON-based feature views, `get_feature_view()`, `list_feature_views()`, and
564
+ `register_feature_view()` now return the original cron expression as `refresh_freq` instead of
565
+ `"DOWNSTREAM"`. The underlying Dynamic Table still uses `TARGET_LAG = 'DOWNSTREAM'` with a companion
566
+ Task — this is purely a display change so the round-trip preserves what the user passed in.
567
+
568
+ * Registry: When `target_platforms` includes WAREHOUSE and pip installs are needed without a user-supplied
569
+ `pip` artifact repository, `log_model` injects `snowflake.snowpark.pypi_shared_repository` after
570
+ verifying access. This applies to explicit `pip_requirements` and to pip-only packaging when there are
571
+ no user conda dependencies. If `pypi_shared_repository` is inaccessible in the pip-only case, automatic packaging
572
+ dependencies fall back to conda instead of forcing pip-only without an index.
573
+
574
+ ### Deprecations
575
+
576
+ ## 1.38.0
577
+
578
+ ### New Features
579
+
580
+ * Registry: Auto-inferred signatures for HuggingFace pipeline models now include task-specific `ParamSpecs`,
581
+ allowing users to control inference behavior at prediction time via `params`. Generative tasks expose
582
+ GenerationConfig parameters (e.g. `temperature`, `max_new_tokens`, `top_p`); non-generative tasks expose
583
+ their own task-specific parameters (e.g. `top_k` for fill-mask, `aggregation_strategy` for
584
+ zero-shot-classification).
585
+
586
+ ### Bug Fixes
587
+
588
+ ### Behavior Changes
589
+
590
+ * Registry: For HuggingFace `text-generation` pipelines whose tokenizer defines a chat template, the
591
+ auto-inferred signature now matches the OpenAI Chat Completions API
592
+ (`_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC`). Inputs are a single `messages` column and inference
593
+ controls (`temperature`, `max_completion_tokens`, `stop`, `n`, `stream`, `top_p`, `frequency_penalty`,
594
+ `presence_penalty`) move from `inputs` to `params` with default values. Predictions return the OpenAI
595
+ response shape (`id`, `object`, `created`, `model`, `choices`, `usage`); the generated text is at
596
+ `choices[0].message.content` instead of `outputs[0].generated_text`.
597
+
598
+ * Registry: For HuggingFace `image-text-to-text`, `video-text-to-text`, and `audio-text-to-text`
599
+ pipelines, the auto-inferred signature now uses `_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC` instead of
600
+ `_OPENAI_CHAT_SIGNATURE_SPEC`. The input column set narrows to just `messages`, and the inference
601
+ controls move to `params` with default values; the output schema is unchanged.
602
+
603
+ ### Deprecations
604
+
605
+ ## 1.37.0 (2026-04-29)
606
+
607
+ ### New Features
608
+
609
+ * Registry (PrPr): The `model_init_once` save option now applies to **TABLE_FUNCTION** model methods (including
610
+ partitioned table functions) for warehouse deployments, in addition to scalar **FUNCTION** methods. The generated
611
+ handler uses the same eager `@udf_init_once` model load path as UDFs.
612
+
613
+ * Experiment Tracking: `end_run` now accepts an optional `status` argument (`"FINISHED"` or `"FAILED"`) to explicitly
614
+ set the final run status. When a run's context manager exits with an exception, the status is automatically set to
615
+ `"FAILED"`.
616
+
617
+ ### Bug Fixes
618
+
619
+ * Registry: Fixed `log_model()` failing for some Snowpark ML `Pipeline` models with explainability when the
620
+ full pipeline could not be converted to a native object; task inference now uses the final estimator instead.
621
+
622
+ * Registry: `run_batch()` now raises a clear `ValueError` when a partitioned model's output signature
623
+ includes the partition column. Previously this produced duplicate columns in the output, causing
624
+ cryptic Ray/Arrow errors (`AttributeError` or `KeyError`) deep in the batch inference pipeline.
625
+
626
+ ### Behavior Changes
627
+
628
+ ### Deprecations
629
+
630
+ ## 1.36.0 (2026-04-22)
631
+
632
+ ### New Features
633
+
634
+ * Feature Store: for latency-sensitive online feature view reads, set use_session_warehouse=True to
635
+ re-use the warehouse from the current session and achieve the best latency.
636
+
637
+ ### Bug Fixes
638
+
639
+ * Registry: Pin `transformers<5` when saving HuggingFace pipeline models that use tasks removed in
640
+ `transformers 5.x` (`image-to-text`, `visual-question-answering`, `conversational`), preventing
641
+ deployment failures from missing pipeline classes.
642
+
643
+ ### Behavior Changes
644
+
645
+ * Registry: Logging a model with `pip_requirements` and no `artifact_repository_map` now raises a `ValueError`
646
+ when `target_platforms` explicitly includes `"WAREHOUSE"`. Previously this combination would silently proceed,
647
+ resulting in the warehouse deployment being silently dropped.
648
+
649
+ ### Deprecations
650
+
651
+ ## 1.35.0 (2026-04-17)
652
+
653
+ ### New Features
654
+
655
+ ### Bug Fixes
656
+
657
+ * Registry: Fixed `ParamSpec.from_mlflow_spec` dropping `shape`, which caused shaped scalar params
658
+ (e.g., array of ints) from MLflow to fail validation during model import.
659
+
660
+ ### Behavior Changes
661
+
662
+ * ML Jobs: `spec_overrides` now validates container keys and warns when keys other than `name` and `secrets`
663
+ are provided. Additional keys are not officially supported and may not behave as expected.
664
+
665
+ ### Deprecations
666
+
667
+ ## 1.34.0 (2026-04-08)
668
+
669
+ ### New Features
670
+
671
+ * Experiment Tracking: Added `list_params` and `list_metrics` methods to retrieve parameters and metrics
672
+ for runs within an experiment. Both methods return a Dataframe and accept an optional `run_name` argument
673
+ to filter to a specific run.
674
+
675
+ ### Bug Fixes
676
+
677
+ * Feature Store: Fixed `generate_dataset()`/`generate_training_set()` SQL generation for Unicode and case-sensitive
678
+ identifiers (for example Japanese column names), ensuring columns are quoted exactly once and preventing SQL
679
+ compilation errors such as `unexpected '<column_name>'`.
680
+
681
+ ### Behavior Changes
682
+
683
+ * Registry: `enable_explainability=True` is now allowed for SPCS-only and non-warehouse-runnable models. Previously
684
+ this raised a `ValueError`.
685
+
686
+ ### Deprecations
687
+
688
+ ## 1.33.0 (2026-03-31)
689
+
690
+ ### New Features
691
+
692
+ * Registry: Extended `ParamSpec` support to PyTorch models. Parameters declared in the model signature
693
+ can now be passed at inference time, matching the existing support for custom models.
694
+ * Registry (PrPr): Added `model_init_once` model save option to `log_model`. When set to `True`, the
695
+ model is loaded once per worker process at startup, eliminating model-loading overhead. Defaults to `False`.
696
+ * Experiment Tracking live logging is out of private preview
697
+ and will become generally available over the next few weeks.
698
+ * Registry: Bumped `transformers` upper bound to `<6`, adding compatibility with Hugging Face Transformers v5.
699
+
700
+ ### Bug Fixes
701
+
702
+ * Experiment Tracking live logging: Fixed a bug where the tracebacks for uncaught exceptions were not logged when
703
+ the code was running in a `with exp.start_run()` block.
704
+ * Registry: Fixed a thread leak in `create_service(block=True)` where the log-streaming thread could outlive the
705
+ error handler when service deployment fails.
706
+
707
+ ### Behavior Changes
708
+
709
+ ### Deprecations
710
+
711
+ ## 1.32.0 (2026-03-26)
712
+
713
+ ### New Features
714
+
715
+ * Registry: Extended `ParamSpec` support to scikit-learn models. Parameters declared in the model signature
716
+ can now be passed at inference time, matching the existing support for custom models.
717
+ * Registry: `infer_signature()` now accepts a `dict` for the `params` argument (e.g.,
718
+ `params={"temperature": 0.7, "max_tokens": 100}`), automatically inferring `ParamSpec` objects
719
+ from the Python value types. The existing `Sequence[BaseParamSpec]` form is still supported.
720
+
721
+ ### Bug Fixes
722
+
723
+ * Experiment Tracking live logging (PrPr): Fixed a bug where the tracebacks for uncaught exceptions were not logged
724
+ when the code was running inside Snowflake notebooks.
725
+
726
+ ### Behavior Changes
727
+
728
+ * Registry: The models from `huggingface.TransformersPipeline` and `transformers.Pipeline` will default to safetensors
729
+ file format by default by using `safe_serialization=True` parameter to the `save_pretrained` call. This creates
730
+ safetensors files instead of PyTorch binaries or pt files, addressing security vulnerability CVE-2025-32434.
731
+
732
+ ### Deprecations
733
+
734
+ ## 1.31.0 (2026-03-19)
735
+
736
+ ### New Features
737
+
738
+ ### Bug Fixes
739
+
740
+ * Registry: Fixed custom model handler to explicitly persist `PARTITIONED=False` in model metadata for
741
+ `@inference_api` methods. Previously, custom models using `@inference_api` with `TABLE_FUNCTION` type
742
+ were incorrectly reported as partitioned.
743
+ * Registry: Fixed sklearn and SnowML model handlers to explicitly persist `PARTITIONED=False` metadata for
744
+ the `explain` method, preventing it from being incorrectly reported as partitioned at read time.
745
+ * Registry: Fixed inconsistent `infer_signature` for columns containing NaN values. Previously,
746
+ the inferred dtype (`DOUBLE` vs `INT64`) depended on whether NaN rows survived truncation, causing
747
+ downstream validation failures. Now, the original pandas column dtype is respected during `infer_signature`,
748
+ so columns with mix of integer and `np.nan` or `None` are consistently inferred as `DOUBLE` regardless of NaN position.
749
+ * Registry: Fixed a bug where invalid parameter types (e.g., passing a string to an integer parameter)
750
+ were silently coerced instead of raising an error. Parameters are now strictly validated against their
751
+ declared types before inference. This may break code that relied on the silent coercion behavior
752
+ (e.g., `mv.run(..., params={"max_tokens": "100"})` or `mv.run(..., params={"some_int_param": True})`).
753
+ * ML Job: Fixed explicitly named `MLJobDefinition` objects so they can be overwritten in place and invoked
754
+ repeatedly without job name collisions; the `generate_suffix` argument has been removed.
755
+ * Experiment Tracking live logging (PrPr): Fixed a bug that generated too many lines of log that consist entirely of
756
+ whitespace.
757
+
758
+ ### Behavior Changes
759
+
760
+ * Registry: Warehouse partitioned model inference no longer includes non-partition input columns (which were always
761
+ NULL) in the output. The output now contains only the model's output columns and the partition column.
762
+
763
+ ### Deprecations
764
+
765
+ ## 1.30.0
766
+
767
+ ### New Features
768
+
769
+ * Experiment Tracking live logging (PrPr): In SPCS, call `set_live_logging_status(True)` to automatically capture and
770
+ persist outputs to stdout and stderr while a run is active. The captured logs can be viewed from the Experiments UI.
771
+ * Registry: Support logging MLflow models created via `mlflow.*.save_model()` to the Snowflake Model
772
+ Registry. Previously, only models logged through `mlflow.*.log_model()` were supported. This also
773
+ enables logging custom `mlflow.pyfunc.PythonModel` subclasses saved locally.
774
+
775
+ ### Bug Fixes
776
+
777
+ * Registry: Fixed Prophet model handler to correctly mark the `predict` method as partitioned, ensuring it
778
+ uses a partitioned `TABLE_FUNCTION` when deployed to Snowflake.
779
+ * Registry: Support `text-generation` models without chat template. The model will have signatures to automatically take
780
+ plain strings as input without needing to specify the signatures in `log_model`.
781
+ The signature can be overridden if the user chooses to.
782
+
783
+ ### Behavior Changes
784
+
785
+ * Registry: Huggingface models with task `text-generation` that do not have chat templates will be logged with signature
786
+ that supports plain text (string) as input.
787
+
788
+ ### Deprecations
789
+
790
+ * Registry: Removed support for logging Hugging Face Pipelines in config-only mode. Config-only
791
+ models could not run in warehouse and required an External Access Integration (EAI) with egress
792
+ to Hugging Face hosts. Use remote logging or local download instead — these approaches support
793
+ warehouse execution and store model weights at log time, enabling fully air-gapped services.
794
+
795
+ ## 1.29.0 (2026-02-24)
796
+
797
+ ### New Features
798
+
799
+ * Model serving: Introducing `InferenceEngine.PYTHON_GENERIC` enum value.
800
+ Users can pass `InferenceEngine.PYTHON_GENERIC` to use a Python-based inference server for model serving.
801
+
802
+ ### Bug Fixes
803
+
804
+ * Registry: Fixed a bug where using inference parameters (ParamSpec) with table function or
805
+ partitioned model methods would fail at runtime with a `NameError`.
806
+ * Registry: Fixed a bug where MLflow models with string columns failed during inference with
807
+ "Can not safely convert string to \<U0\>" errors due to MLflow's schema validation not handling
808
+ `pd.StringDtype` correctly.
809
+
810
+ ### Behavior Changes
811
+
812
+ * Dependencies: Removed `snowflake.core` as a runtime dependency. If you use `snowflake.core` (e.g.,
813
+ `TaskDag`, `Root`, `Task`), add `snowflake.core` explicitly to your dependencies.
814
+
815
+ ### Deprecations
816
+
817
+ ## 1.28.0 (2026-02-17)
818
+
819
+ ### New Features
820
+
821
+ ### Bug Fixes
822
+
823
+ ### Behavior Changes
824
+
825
+ ### Deprecations
826
+
827
+ ## 1.27.0 (2026-02-12)
828
+
829
+ ### New Features
830
+
831
+ ### Bug Fixes
832
+
833
+ * Registry: Fixed a bug where `model_version.run()` required READ privilege on the model instead of
834
+ USAGE, causing inference to fail for users with only USAGE privilege granted (introduced in 1.21.0).
835
+
836
+ * Feature Store: Fixed `register_feature_view()` with `overwrite=True` failing when changing between
837
+ external and managed feature views.
838
+
839
+ ### Behavior Changes
840
+
841
+ ### Deprecations
842
+
843
+ ## 1.26.0 (2026-02-05)
844
+
845
+ ### New Features
846
+
847
+ * ML Job: Added support for creating `MLJobDefinition` (PrPr) and launching jobs with different
848
+ arguments without re-uploading payloads.
849
+
850
+ ```python
851
+ # /path/to/repo/my_script.py
852
+
853
+ def main(*args):
854
+ print("Hello world", *args)
855
+
856
+ if __name__ == '__main__':
857
+ import sys
858
+ main(*sys.argv[1:])
859
+
860
+ from snowflake.ml.jobs.job_definition import MLJobDefinition
861
+ job_def = MLJobDefinition.register(
862
+ "/path/to/repo/my_script.py",
863
+ # If you register a source directory, provide the entrypoint file:
864
+ # entrypoint="/path/to/repo/my_script.py",
865
+ compute_pool= "test_comput_pool",
866
+ stage_name="payload_stage",
867
+ )
868
+
869
+ job1 = job_def()
870
+ job2 = job_def(arg1="ML Job")
871
+
872
+
873
+ from snowflake.ml import jobs
874
+ @jobs.remote(compute_pool = "test_compute_pool", stage_name = "payload_stage")
875
+ def test_job(arg1: str = "world") -> None:
876
+ print(f"hello {arg1}")
877
+
878
+ # this is a job definition handle
879
+ job_def_remote = test_job
880
+
881
+ job1 = job_def_remote()
882
+ job2 = job_def_remote(arg1="ML Job")
883
+
884
+
885
+ ```
886
+
887
+ * Job-based Batch Inference (PuPr): `ModelVersion.run_batch` for job-based batch inference in Snowpark Container
888
+ Services is now in public preview.
889
+
890
+ ```python
891
+ from snowflake.ml.registry import Registry
892
+ from snowflake.ml.model import OutputSpec
893
+
894
+ registry = Registry(session)
895
+ mv = registry.log_model( ... )
896
+
897
+ job = mv.run_batch(
898
+ compute_pool = "SYSTEM_COMPUTE_POOL_GPU",
899
+ X=input_df,
900
+ output_spec=OutputSpec(stage_location="@my_db.my_schema.my_stage/output/"),
901
+ )
902
+ ```
903
+
904
+ * Registry: Added support for inference parameters via `ParamSpec` in model signatures. This allows you to define
905
+ constant parameters that can be passed at inference time without being part of the input data.
906
+
907
+ ```python
908
+ import pandas as pd
909
+ from snowflake.ml.model import custom_model, model_signature
910
+ from snowflake.ml.registry import Registry
911
+
912
+ # Define a custom model with inference parameters
913
+ class MyModelWithParams(custom_model.CustomModel):
914
+ @custom_model.inference_api
915
+ def predict(
916
+ self,
917
+ input_df: pd.DataFrame,
918
+ *,
919
+ temperature: float = 1.0, # keyword-only param with default
920
+ ) -> pd.DataFrame:
921
+ return pd.DataFrame({"output": input_df["feature"] * temperature})
922
+
923
+ # Create sample data
924
+ model = MyModelWithParams(custom_model.ModelContext())
925
+ sample_input = pd.DataFrame({"feature": [1.0, 2.0, 3.0]})
926
+ sample_output = model.predict(sample_input, temperature=1.0)
927
+
928
+ # Define ParamSpec for the inference parameter
929
+ params = [
930
+ model_signature.ParamSpec(
931
+ name="temperature",
932
+ dtype=model_signature.DataType.FLOAT,
933
+ default_value=1.0,
934
+ ),
935
+ ]
936
+
937
+ # Infer signature with params
938
+ sig = model_signature.infer_signature(
939
+ input_data=sample_input,
940
+ output_data=sample_output,
941
+ params=params,
942
+ )
943
+
944
+ # Log model with the signature
945
+ registry = Registry(session)
946
+ mv = registry.log_model(
947
+ model=model,
948
+ model_name="my_model_with_params",
949
+ version_name="v1",
950
+ signatures={"predict": sig},
951
+ )
952
+
953
+ # Run inference with custom parameter value
954
+ result = mv.run(sample_input, function_name="predict", params={"temperature": 2.0})
955
+ ```
956
+
957
+ * Feature Store: Added `auto_prefix` parameter and `with_name()` method to avoid column name collisions when
958
+ joining multiple feature views in dataset generation.
959
+
960
+ * Feature Store: Added support for Dynamic Iceberg Tables as the backing storage for Feature Views.
961
+ Use `StorageConfig` with `StorageFormat.ICEBERG` to create Iceberg-backed Feature Views that store
962
+ data in open Apache Iceberg format on external cloud storage. A new `default_iceberg_external_volume`
963
+ parameter is available in `FeatureStore` to set a default external volume for Iceberg Feature Views.
964
+
965
+ ### Bug Fixes
966
+
967
+ ### Behavior Changes
968
+
969
+ ### Deprecations
970
+
971
+ ## 1.25.1
972
+
973
+ ### Bug Fixes
974
+
975
+ * ML Job: Reverted changes related to the introduction of ML Job Definitions.
976
+
977
+ ## 1.25.0
978
+
979
+ ### New Features
980
+
981
+ * ML Job: Added support for creating ML job definitions and launching jobs with different
982
+ arguments without re-uploading payloads.
983
+
984
+ * Inference Autocapture (PuPr): The `create_service` API will now accept `autocapture` as a new argument to indicate
985
+ whether inference data will be captured.
986
+
987
+ * Model serving: Introduced the `min_instances` field in the `mv.create_service()` and
988
+ `HuggingFacePipelineModel.log_model_and_create_service()` APIs (defaulting to 0). The service now launches
989
+ with the `min_instances` and automatically scales between `min_instances` and `max_instances` based on
990
+ traffic and hardware utilization. When `min_instances` is set to 0, the service will automatically suspend
991
+ if no traffic is detected for a period of time.
992
+
993
+ ### Bug Fixes
994
+
995
+ ### Behavior Changes
996
+
997
+ * Inference Autocapture (PuPr): `list_services()` now shows `autocapture_enabled` column to indicate if model
998
+ service has autocapture enabled.
999
+
1000
+ * Model serving: The `mv.create_service()` and `HuggingFacePipelineModel.log_model_and_create_service()` APIs now
1001
+ include a `min_instances` field (defaulting to 0). When these APIs are called without specifying `min_instances`,
1002
+ the system will now launch the service with 1 instance and enable auto scaling. This replaces the previous behavior,
1003
+ where `min_instances` was automatically set to match `max_instances`, resulting in the immediate launch of the
1004
+ maximum number of instances.
1005
+
1006
+ ### Deprecations
1007
+
1008
+ ## 1.24.0
1009
+
1010
+ ### New Features
1011
+
1012
+ * Feature Store: Added tile-based aggregation support with a new `Feature` API for efficient and
1013
+ point-in-time correct time-series feature computation using pre-computed tiles stored in Dynamic Tables.
1014
+
1015
+ * Registry: Added auto-signature inference for SentenceTransformer models. When logging a SentenceTransformer
1016
+ model, `sample_input_data` is now optional. If not provided, the signature is automatically inferred from
1017
+ the model's embedding dimension. Supported methods: `encode`, `encode_query`, `encode_document`,
1018
+ `encode_queries`, `encode_documents`.
1019
+
1020
+ ```python
1021
+ import sentence_transformers
1022
+ from snowflake.ml.registry import Registry
1023
+
1024
+ # Create model
1025
+ model = sentence_transformers.SentenceTransformer("all-MiniLM-L6-v2")
1026
+
1027
+ # Log model without sample_input_data - signature is auto-inferred
1028
+ registry = Registry(session)
1029
+ mv = registry.log_model(
1030
+ model=model,
1031
+ model_name="my_sentence_transformer",
1032
+ version_name="v1",
1033
+ )
1034
+
1035
+ # Run inference with auto-inferred signature (input: "text", output: "output")
1036
+ import pandas as pd
1037
+ result = mv.run(pd.DataFrame({"text": ["Hello world"]}))
1038
+ ```
1039
+
1040
+ ### Bug Fixes
1041
+
1042
+ ### Behavior Changes
1043
+
1044
+ ### Deprecations
1045
+
1046
+ ## 1.23.0
1047
+
1048
+ ### New Features
1049
+
1050
+ * ML Jobs: Enabled support for Python 3.11 and Python 3.12 by default. Jobs will automatically select a
1051
+ runtime environment matching the client Python version.
1052
+
1053
+ ### Bug Fixes
1054
+
1055
+ * Registry: Fix failures on empty output in HuggingFace's Token Classification (aka Named Entity Recognition) models.
1056
+ * Model serving: don't parse instance or container statuses to fix bug with missing container status.
1057
+
1058
+ ### Behavior Changes
1059
+
1060
+ ### Deprecations
1061
+
1062
+ ## 1.22.0
1063
+
1064
+ ### New Features
1065
+
1066
+ * Registry: Introducing remotely logging a transformer pipeline model using SPCS job.
1067
+
1068
+ ```python
1069
+ # create reference of the model
1070
+ model = huggingface.TransformersPipeline(
1071
+ model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
1072
+ task="text-generation",
1073
+ )
1074
+
1075
+ # Remotely log the model, a SPCS job will run async and log the model
1076
+ mv = registry.log_model(
1077
+ model=model,
1078
+ model_name="tinyllama_remote_log",
1079
+ target_platforms=["SNOWPARK_CONTAINER_SERVICES"],
1080
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
1081
+ )
1082
+ ```
1083
+
1084
+ * Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
1085
+ Note: Requires vLLM inference engine while creating the service.
1086
+
1087
+ * ML Job: Added support for custom command entrypoints. The `entrypoint` parameter now accepts a
1088
+ `list[str]` (e.g., `["arctic_training", "run_causal.yml"]`), which is executed directly as a
1089
+ command rather than being treated as a Python script.
1090
+
1091
+ ### Bug Fixes
1092
+
1093
+ ### Behavior Changes
1094
+
1095
+ * Registry: The `openai_signatures.OPENAI_CHAT_SIGNATURE` signature now handles content parts and
1096
+ requires input data to be passed in list of dictionary. To use string content (previous behavior),
1097
+ use `openai_signatures.OPENAI_CHAT_SIGNATURE_WITH_CONTENT_FORMAT_STRING`.
1098
+
1099
+ ```python
1100
+ from snowflake.ml.model import openai_signatures
1101
+ import pandas as pd
1102
+
1103
+ mv = snowflake_registry.log_model(
1104
+ model=generator,
1105
+ model_name=...,
1106
+ ...,
1107
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
1108
+ )
1109
+
1110
+ # create a pd.DataFrame with openai.client.chat.completions arguments like below:
1111
+ x_df = pd.DataFrame.from_records(
1112
+ [
1113
+ {
1114
+ "messages": [
1115
+ {
1116
+ "role": "system",
1117
+ "content": [
1118
+ {
1119
+ "type": "text",
1120
+ "text": "Complete the sentence."
1121
+ },
1122
+ ]
1123
+ },
1124
+ {
1125
+ "role": "user",
1126
+ "content": [
1127
+ {
1128
+ "type": "text",
1129
+ "text": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
1130
+ }
1131
+ ],
1132
+ },
1133
+ ],
1134
+ "max_completion_tokens": 250,
1135
+ "temperature": 0.9,
1136
+ "stop": None,
1137
+ "n": 3,
1138
+ "stream": False,
1139
+ "top_p": 1.0,
1140
+ "frequency_penalty": 0.1,
1141
+ "presence_penalty": 0.2,
1142
+ }
1143
+ ],
1144
+ )
1145
+
1146
+ # OpenAI Chat Completion compatible output
1147
+ output_df = mv.run(X=x_df)
1148
+ ```
1149
+
1150
+ ### Deprecations
1151
+
1152
+ ## 1.21.0
1153
+
1154
+ ### New Features
1155
+
1156
+ * Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
1157
+ whether inference data will be captured.
1158
+ * DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
1159
+ Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
1160
+ * Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
1161
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
1162
+ `transformers.Pipeline` model. Currently, following tasks
1163
+ are supported to log without manually specifying model signatures:
1164
+ * "fill-mask"
1165
+ * "question-answering"
1166
+ * "summarization"
1167
+ * "table-question-answering"
1168
+ * "text2text-generation"
1169
+ * "text-classification" (alias "sentiment-analysis" available)
1170
+ * "text-generation"
1171
+ * "token-classification" (alias "ner" available)
1172
+ * "translation"
1173
+ * "translation_xx_to_yy"
1174
+ * "zero-shot-classification"
1175
+ which provides utility to log the model without loading the model in memory.
1176
+
1177
+ ### Bug Fixes
1178
+
1179
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
1180
+ instead of raising an exception.
1181
+ * Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
1182
+ (e.g. SPCS-only models) and `service_name` is not provided.
1183
+
1184
+ ### Behavior Changes
1185
+
1186
+ * ML Job: The `additional_payloads` (Preview API) behavior is changing.
1187
+ Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
1188
+ Local directories and Python files are automatically compressed, and their internal layout is determined by the
1189
+ specified import path. The import path applies only to local directories, Python files and staged python files;
1190
+ it has no effect on other import types. When referencing files in a stage, only individual files
1191
+ are supported—not directories.
1192
+ * Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
1193
+ SPCS node or Notebook.
1194
+ * Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
1195
+ * Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
1196
+
1197
+ ### Deprecations
1198
+
1199
+ * Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
1200
+ version with a notice.
1201
+
1202
+ ## 1.20.0
1203
+
1204
+ ### Bug Fixes
1205
+
1206
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
1207
+ instead of raising an exception.
1208
+
1209
+ ### New Features
1210
+
1211
+ * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
1212
+ accept `inference_engine_options` as an argument.
1213
+
1214
+ ```python
1215
+ from snowflake.ml.model.inference_engine import InferenceEngine
1216
+
1217
+ mv = snowflake_registry.log_model(
1218
+ model=generator,
1219
+ model_name=...,
1220
+ ...,
1221
+ # Specifying OPENAI_CHAT_SIGNATURE is necessary to use vLLM inference engine
1222
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
1223
+ )
1224
+
1225
+ mv.create_service(
1226
+ service_name=my_serv,
1227
+ service_compute_pool=...,
1228
+ ...,
1229
+ inference_engine_options={
1230
+ "engine": InferenceEngine.VLLM,
1231
+ "engine_args_override": [
1232
+ "--max-model-len=2048",
1233
+ "--gpu-memory-utilization=0.9"
1234
+ ]
1235
+ }
1236
+ )
1237
+ ```
1238
+
1239
+ ## 1.19.0 (11-13-2025)
1240
+
1241
+ ### Bug Fixes
1242
+
1243
+ * Experiment Tracking (PuPr): No longer throw an exception in `list_artifacts` when run does not have artifacts.
1244
+ * Registry: Fix `get_version_by_alias`: now requires an exact match of snowflake identifier.
1245
+
1246
+ ### Behavior Changes
1247
+
1248
+ ### New Features
1249
+
1250
+ * Online feature serving in Feature Store is in public preview.
1251
+ * Experiment Tracking (`snowflake.ml.experiment`) is in public preview.
1252
+
1253
+ ### Deprecations
1254
+
1255
+ ## 1.18.0
1256
+
1257
+ ### Bug Fixes
1258
+
1259
+ * Registry: The create_service API now validates that a model has a GPU runtime configuration and will throw a
1260
+ descriptive error if the configuration is missing.
1261
+
1262
+ ### Behavior Changes
1263
+
1264
+ ### New Features
1265
+
1266
+ * Registry (PrPr): Introducing `ModelVersion.run_batch` for batch inference in Snowpark Container Services.
1267
+ * Experiment Tracking (PrPr): Added `version_name` argument to the autologging callbacks
1268
+ to specify the version name for the autologged model.
1269
+
1270
+ ### Deprecations
1271
+
1272
+ * `Python 3.9` is deprecated.
1273
+
1274
+ ## 1.17.0
1275
+
1276
+ ### Bug Fixes
1277
+
1278
+ * ML Job: Added support for retrieving details of deleted jobs, including status, compute pool, and target instances.
1279
+
1280
+ ### Behavior Changes
1281
+
1282
+ ### New Features
1283
+
1284
+ * Support xgboost 3.x.
1285
+ * ML Job: Overhauled the `MLJob.result()` API with broader cross-version
1286
+ compatibility and support for additional data types, namely:
1287
+ * Pandas DataFrames
1288
+ * PyArrow Tables
1289
+ * NumPy arrays
1290
+ * NOTE: Requires `snowflake-ml-python>=1.17.0` to be installed inside remote container environment.
1291
+ * ML Job: Enabled job submission v2 by default
1292
+ * Jobs submitted using v2 will automatically use the latest Container Runtime image
1293
+ * v1 behavior can be restored by setting environment variable `MLRS_USE_SUBMIT_JOB_V2` to `false`
1294
+
1295
+ ### Deprecations
1296
+
1297
+ ## 1.16.0
1298
+
1299
+ ### Bug Fixes
1300
+
1301
+ * Registry: Remove redundant pip dependency warnings when `artifact_repository_map` is provided for warehouse model deployments.
1302
+
1303
+ ### Behavior Changes
1304
+
1305
+ ### New Features
1306
+
1307
+ * Support scikit-learn < 1.8.
1308
+ * ML Job: Added support for configuring the runtime image via `runtime_environment`
1309
+ (image tag or full image URL) at submission time.
1310
+ Examples:
1311
+ * @remote(compute_pool, stage_name = 'payload_stage', runtime_environment = '1.8.0')
1312
+ * submit_file('/path/to/repo/test.py', compute_pool, stage_name = 'payload_stage', runtime_environment = '/mydb/myschema/myrepo/myimage:latest')
1313
+ * Registry: Ability to mark model methods as `Volatility.VOLATILE` or `Volatility.IMMUTABLE`.
1314
+
1315
+ ```python
1316
+ from snowflake.ml.model.volatility import Volatility
1317
+
1318
+ options = {
1319
+ "embed_local_ml_library": True,
1320
+ "relax_version": True,
1321
+ "save_location": "/path/to/my/directory",
1322
+ "function_type": "TABLE_FUNCTION",
1323
+ "volatility": Volatility.IMMUTABLE,
1324
+ "method_options": {
1325
+ "predict": {
1326
+ "case_sensitive": False,
1327
+ "max_batch_size": 100,
1328
+ "function_type": "TABLE_FUNCTION",
1329
+ "volatility": Volatility.VOLATILE,
1330
+ },
1331
+ },
1332
+ }
1333
+
1334
+ ```
1335
+
1336
+ ## 1.15.0 (09-29-2025)
1337
+
1338
+ ### Bug Fixes
1339
+
1340
+ ### Behavior Changes
1341
+
1342
+ * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
1343
+ To read more <https://github.com/huggingface/transformers/pull/31165>
1344
+
1345
+ ## 1.14.0 (09-18-2025)
1346
+
1347
+ ### Bug Fixes
1348
+
1349
+ ### Behavior Changes
1350
+
1351
+ ### New Features
1352
+
1353
+ * ML Job: The `additional_payloads` argument is now **deprecated** in favor of `imports`.
1354
+
1355
+ ## 1.13.0
1356
+
1357
+ ### Bug Fixes
1358
+
1359
+ ### Behavior Changes
1360
+
1361
+ ### New Features
1362
+
1363
+ * Registry: Log a HuggingFace model without having to load the model in memory using
1364
+ the `huggingface_pipeline.HuggingFacePipelineModel`. Requires `huggingface_hub` package to installed.
1365
+ To disable downloading HuggingFace repository, provide `download_snapshot=False` while creating the
1366
+ `huggingface_pipeline.HuggingFacePipelineModel` object.
1367
+ * Registry: Added support for XGBoost models to use `enable_categorical=True` with pandas DataFrame
1368
+ * Registry: Added support to display privatelink inference endpoint in ModelVersion list services.
1369
+
1370
+ ## 1.12.0
1371
+
1372
+ ### Bug Fixes
1373
+
1374
+ * Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
1375
+ created during structured output deserialization. Now, the original data type is properly preserved.
1376
+ * Registry: Fixed the inference server performance issue for wide (500+ features) and JSON inputs.
1377
+
1378
+ ### Behavior Changes
1379
+
1380
+ ### New Features
1381
+
1382
+ * Registry: Add OpenAI chat completion compatible signature option for `text-generation` models.
1383
+
1384
+ ```python
1385
+ from snowflake.ml.model import openai_signatures
1386
+ import pandas as pd
1387
+
1388
+ mv = snowflake_registry.log_model(
1389
+ model=generator,
1390
+ model_name=...,
1391
+ ...,
1392
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
1393
+ )
1394
+
1395
+ # create a pd.DataFrame with openai.client.chat.completions arguments like below:
1396
+ x_df = pd.DataFrame.from_records(
1397
+ [
1398
+ {
1399
+ "messages": [
1400
+ {"role": "system", "content": "Complete the sentence."},
1401
+ {
1402
+ "role": "user",
1403
+ "content": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
1404
+ },
1405
+ ],
1406
+ "max_completion_tokens": 250,
1407
+ "temperature": 0.9,
1408
+ "stop": None,
1409
+ "n": 3,
1410
+ "stream": False,
1411
+ "top_p": 1.0,
1412
+ "frequency_penalty": 0.1,
1413
+ "presence_penalty": 0.2,
1414
+ }
1415
+ ],
1416
+ )
1417
+
1418
+ # OpenAI Chat Completion compatible output
1419
+ output_df = mv.run(X=x_df)
1420
+ ```
1421
+
1422
+ * Model Monitoring: Added support for segment columns to enable filtered analysis.
1423
+ * Added `segment_columns` parameter to `ModelMonitorSourceConfig` to specify columns for segmenting monitoring data
1424
+ * Segment columns must be of STRING type and exist in the source table
1425
+ * Added methods to dynamically manage segments:
1426
+ * `add_segment_column()`: Add a new segment column to an existing monitor
1427
+ * `drop_segment_column()`: Remove a segment column from an existing monitor
1428
+ * Experiment Tracking (PrPr): Support for logging artifacts (files and directories) with `log_artifact`
1429
+ * Experiment Tracking (PrPr): Support for listing artifacts in a run with `list_artifacts`
1430
+ * Experiment Tracking (PrPr): Support for downloading artifacts in a run with `download_artifacts`
1431
+
1432
+ ## 1.11.0 (08-12-2025)
1433
+
1434
+ ### Bug Fixes
1435
+
1436
+ * ML Job: Fix `Error: Unable to retrieve head IP address` if not all instances start within the timeout.
1437
+ * ML Job: Fix `TypeError: SnowflakeCursor.execute() got an unexpected keyword argument '_force_qmark_paramstyle'`
1438
+ when running inside Stored Procedures.
1439
+
1440
+ ### Behavior Changes
1441
+
1442
+ ### New Features
1443
+
1444
+ * `ModelVersion.create_service()`: Made `image_repo` argument optional. By
1445
+ default it will use a default image repo, which is
1446
+ being rolled out in server version 9.22+.
1447
+ * Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training Keras models with
1448
+ `snowflake.ml.experiment.callback.keras.SnowflakeKerasCallback`.
1449
+
1450
+ ## 1.10.0
1451
+
1452
+ ### Behavior Changes
1453
+
1454
+ * Experiment Tracking (PrPr): The import paths for the auto-logging callbacks have changed to
1455
+ `snowflake.ml.experiment.callback.xgboost.SnowflakeXgboostCallback` and
1456
+ `snowflake.ml.experiment.callback.lightgbm.SnowflakeLightgbmCallback`.
1457
+
1458
+ ### New Features
1459
+
1460
+ * Registry: add progress bars for `ModelVersion.create_service` and `ModelVersion.log_model`.
1461
+ * ModelRegistry: Logs emitted during `ModelVersion.create_service` will be written to a file. The file location
1462
+ will be shown in the console.
1463
+
1464
+ ## 1.9.2
1465
+
1466
+ ### Bug Fixes
1467
+
1468
+ * DataConnector: Fix `self._session` related errors inside Container Runtime.
1469
+ * Registry: Fix a bug when trying to pass `None` to array (`pd.dtype('O')`) in signature and pandas data handler.
1470
+
1471
+ ### New Features
1472
+
1473
+ * Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training
1474
+ XGBoost and LightGBM models.
1475
+
1476
+ ```python
1477
+ from snowflake.ml.experiment import ExperimentTracking
1478
+ from snowflake.ml.experiment.callback import SnowflakeXgboostCallback, SnowflakeLightgbmCallback
1479
+
1480
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
1481
+
1482
+ exp.set_experiment("MY_EXPERIMENT")
1483
+
1484
+ # XGBoost
1485
+ callback = SnowflakeXgboostCallback(
1486
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
1487
+ )
1488
+ model = XGBClassifier(callbacks=[callback])
1489
+ with exp.start_run():
1490
+ model.fit(X, y, eval_set=[(X_test, y_test)])
1491
+
1492
+ # LightGBM
1493
+ callback = SnowflakeLightgbmCallback(
1494
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
1495
+ )
1496
+ model = LGBMClassifier()
1497
+ with exp.start_run():
1498
+ model.fit(X, y, eval_set=[(X_test, y_test)], callbacks=[callback])
1499
+ ```
1500
+
1501
+ ## 1.9.1 (07-18-2025)
1502
+
1503
+ ### Bug Fixes
1504
+
1505
+ * Registry: Fix a bug when trying to set the PAD token the HuggingFace `text-generation` model had multiple EOS tokens.
1506
+ The handler picks the first EOS token as PAD token now.
1507
+
1508
+ ### New Features
1509
+
1510
+ * DataConnector: DataConnector objects can now be pickled
1511
+ * Dataset: Dataset objects can now be pickled
1512
+ * Registry (PrPr): Introducing `create_service` function in `snowflake/ml/model/models/huggingface_pipeline.py`
1513
+ which creates a service to log a HF model and upon successful logging, an inference service is created.
1514
+
1515
+ ```python
1516
+ from snowflake.ml.model.models import huggingface_pipeline
1517
+
1518
+ hf_model_ref = huggingface_pipeline.HuggingFacePipelineModel(
1519
+ model="gpt2",
1520
+ task="text-generation", # Optional
1521
+ )
1522
+
1523
+
1524
+ hf_model_ref.create_service(
1525
+ session=session,
1526
+ service_name="test_service",
1527
+ service_compute_pool="test_compute_pool",
1528
+ image_repo="test_repo",
1529
+ ...
1530
+ )
1531
+ ```
1532
+
1533
+ * Experiment Tracking (PrPr): New module for managing and tracking ML experiments in Snowflake.
1534
+
1535
+ ```python
1536
+ from snowflake.ml.experiment import ExperimentTracking
1537
+
1538
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
1539
+
1540
+ exp.set_experiment("MY_EXPERIMENT")
1541
+
1542
+ with exp.start_run():
1543
+ exp.log_param("batch_size", 32)
1544
+ exp.log_metrics("accuracy", 0.98, step=10)
1545
+ exp.log_model(my_model, model_name="MY_MODEL")
1546
+ ```
1547
+
1548
+ * Registry: Added support for wide input (500+ features) for inference done using SPCS
1549
+
1550
+ ## 1.9.0
1551
+
1552
+ ### Bug Fixes
1553
+
1554
+ * Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
1555
+ parameter is enabled
1556
+ * Registry: Fixed duplicate UserWarning logs during model packaging
1557
+ * Registry: If the huggingface pipeline text-generation model doesn't contain a default chat template, a ChatML template
1558
+ is assigned to the tokenizer.
1559
+
1560
+ ```shell
1561
+ {% for message in messages %}
1562
+ {{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}
1563
+ {% endfor %}
1564
+ {% if add_generation_prompt %}
1565
+ {{ '<|im_start|>assistant\n' }}
1566
+ {% endif %}"
1567
+ ```
1568
+
1569
+ * Registry: Fixed SQL queries during registry initialization that were forcing warehouse requirement
1570
+
1571
+ ### Behavior Changes
1572
+
1573
+ * ML Job: The `list_jobs()` API has been modified. The `scope` parameter has been removed,
1574
+ optional `database` and `schema` parameters have been added, the return type has changed
1575
+ from `snowpark.DataFrame` to `pandas.DataFrame`, and the returned columns have been updated
1576
+ to `name`, `status`, `message`, `database_name`, `schema_name`, `owner`, `compute_pool`,
1577
+ `target_instances`, `created_time`, and `completed_time`.
1578
+ * Registry: Set `relax_version` to false when pip_requirements are specified while logging model
1579
+ * Registry: UserWarning will now be raised based on specified target_platforms (addresses spurious warnings)
1580
+
1581
+ ### New Features
1582
+
1583
+ * Registry: `target_platforms` supports `TargetPlatformMode`: `WAREHOUSE_ONLY`, `SNOWPARK_CONTAINER_SERVICES_ONLY`,
1584
+ or `BOTH_WAREHOUSE_AND_SNOWPARK_CONTAINER_SERVICES`.
1585
+ * Registry: Introduce `snowflake.ml.model.target_platform.TargetPlatform`, target platform constants, and
1586
+ `snowflake.ml.model.task.Task`.
1587
+ * ML Job: Single-node ML Jobs are now in GA. Multi-node support is now in PuPr
1588
+ * Moved less frequently used job submission parameters to `**kwargs`
1589
+ * Platform metrics are now enabled by default
1590
+ * `list_jobs()` behavior changed, see [Behavior Changes](#behavior-changes) for more info
1591
+
1592
+ ## 1.8.6
1593
+
1594
+ ### Bug Fixes
1595
+
1596
+ * Fixed fatal errors from internal telemetry wrappers.
1597
+
1598
+ ### New Features
1599
+
1600
+ * Registry: Add service container info to logs.
1601
+ * ML Job (PuPr): Add new `submit_from_stage()` API for submitting a payload from an existing stage path.
1602
+ * ML Job (PuPr): Add support for `snowpark.Session` objects in the argument list of
1603
+ `@remote` decorated functions. `Session` object will be injected from context in
1604
+ the job execution environment.
1605
+
1606
+ ## 1.8.5
1607
+
1608
+ ### Bug Fixes
1609
+
1610
+ * Registry: Fixed a bug when listing and deleting container services.
1611
+ * Registry: Fixed explainability issue with scikit-learn pipelines, skipping explain function creation.
1612
+ * Explainability: bump minimum streamlit version down to 1.30
1613
+ * Modeling: Make XGBoost a required dependency (xgboost is not a required dependency in snowflake-ml-python 1.8.4).
1614
+
1615
+ ### Behavior Changes
1616
+
1617
+ * ML Job (Multi-node PrPr): Rename argument `num_instances` to `target_instances` in job submission APIs and
1618
+ change type from `Optional[int]` to `int`
1619
+
1620
+ ### New Features
1621
+
1622
+ * Registry: No longer checks if the snowflake-ml-python version is available in the Snowflake Conda channel when logging
1623
+ an SPCS-only model.
1624
+ * ML Job (PuPr): Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
1625
+ * ML Job (PuPr): Adjust polling behavior to reduce number of SQL calls.
1626
+
1627
+ ### Deprecations
1628
+
1629
+ * `SnowflakeLoginOptions` is deprecated and will be removed in a future release.
1630
+
1631
+ ## 1.8.4 (2025-05-12)
1632
+
1633
+ ### Bug Fixes
1634
+
1635
+ * Registry: Default `enable_explainability` to True when the model can be deployed to Warehouse.
1636
+ * Registry: Add `custom_model.partitioned_api` decorator and deprecate `partitioned_inference_api`.
1637
+ * Registry: Fixed a bug when logging pytroch and tensorflow models that caused
1638
+ `UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
1639
+
1640
+ ### Behavior Changes
1641
+
1642
+ * ML Job (PuPr) Updated property `id` to be fully qualified name; Introduced new property `name`
1643
+ to represent the ML Job name
1644
+ * ML Job (PuPr) Modified `list_jobs()` to return ML Job `name` instead of `id`
1645
+ * Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
1646
+ Snowpark Container Services, instead of just user warning.
1647
+
1648
+ ### New Features
1649
+
1650
+ * ML Job (PuPr): Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
1651
+ `schema` parameters
1652
+ * ML Job (PuPr): Support querying by fully qualified name in `get_job()`
1653
+ * Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
1654
+ * Explainability: Support explain for categorical transforms for sklearn pipeline
1655
+ * Support categorical type for `xgboost.DMatrix` inputs.
1656
+
1657
+ ## 1.8.3
1658
+
1659
+ ### New Features
1660
+
1661
+ * Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
1662
+ * ML Job (PuPr): Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
1663
+ as a list of strings
1664
+ * Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
1665
+ * DataConnector: Removed PrPr decorators
1666
+ * Registry: Default the target platform to warehouse when logging a partitioned model.
1667
+
1668
+ ## 1.8.2
1669
+
1670
+ ### New Features
1671
+
1672
+ * ML Job now available as a PuPr feature
1673
+ * Add ability to retrieve results for `@remote` decorated functions using
1674
+ new `MLJobWithResult.result()` API, which will return the unpickled result
1675
+ or raise an exception if the job execution failed.
1676
+ * Pre-created Snowpark Session is now available inside job payloads using
1677
+ `snowflake.snowpark.context.get_active_session()`
1678
+ * Registry: Introducing `save_location` to `log_model` using the `options` argument.
1679
+ Users can use the `save_location` option to specify a local directory where the model files and configuration are written.
1680
+ This is useful when the default temporary directory has space limitations.
1681
+
1682
+ ```python
1683
+ reg.log_model(
1684
+ model=...,
1685
+ model_name=...,
1686
+ version_name=...,
1687
+ ...,
1688
+ options={"save_location": "./model_directory"},
1689
+ )
1690
+ ```
1691
+
1692
+ * Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
1693
+ * Multi-node ML Job (PrPr): Add `instance_id` argument to `get_logs` and `show_logs` method to support multi node log retrieval
1694
+ * Multi-node ML Job (PrPr): Add `job.get_instance_status(instance_id=...)` API to support multi node status retrieval
1695
+
1696
+ ## 1.8.1 (03-26-2025)
1697
+
1698
+ ### Bug Fixes
1699
+
1700
+ * Registry: Fix a bug that caused `unsupported model type` error while logging a sklearn model with `score_samples`
1701
+ inference method.
1702
+ * Registry: Fix a bug that model inference service creation fails on an existing and suspended service.
1703
+
1704
+ ### New Features
1705
+
1706
+ * ML Job (PrPr): Update Container Runtime image version to `1.0.1`
1707
+ * ML Job (PrPr): Add `enable_metrics` argument to job submission APIs to enable publishing service metrics to Event Table.
1708
+ See [Accessing Event Table service metrics](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/monitoring-services#accessing-event-table-service-metrics)
1709
+ for retrieving published metrics
1710
+ and [Costs of telemetry data collection](https://docs.snowflake.com/en/developer-guide/logging-tracing/logging-tracing-billing)
1711
+ for cost implications.
1712
+ * Registry: When creating a copy of a `ModelVersion` with `log_model`, raise an exception if unsupported arguments are provided.
1713
+
1714
+ ## 1.8.0 (03-20-2025)
1715
+
1716
+ ### Bug Fixes
1717
+
1718
+ * Modeling: Fix a bug in some metrics that allowed an unsupported version of numpy to be installed
1719
+ automatically in the stored procedure, resulting in a numpy error on execution
1720
+ * Registry: Fix a bug that leads to incorrect `Model is does not have _is_inference_api` error message when assigning
1721
+ a supported model as a property of a CustomModel.
1722
+ * Registry: Fix a bug that inference is not working when models with more than 500 input features
1723
+ are deployed to SPCS.
1724
+
1725
+ ### Behavior Change
1726
+
1727
+ * Registry: With FeatureGroupSpec support, auto inferred model signature for `transformers.Pipeline` models have been
1728
+ updated, including:
1729
+ * Signature for fill-mask task has been changed from
1730
+
1731
+ ```python
1732
+ ModelSignature(
1733
+ inputs=[
1734
+ FeatureSpec(name="inputs", dtype=DataType.STRING),
1735
+ ],
1736
+ outputs=[
1737
+ FeatureSpec(name="outputs", dtype=DataType.STRING),
1738
+ ],
1739
+ )
1740
+ ```
1741
+
1742
+ to
1743
+
1744
+ ```python
1745
+ ModelSignature(
1746
+ inputs=[
1747
+ FeatureSpec(name="inputs", dtype=DataType.STRING),
1748
+ ],
1749
+ outputs=[
1750
+ FeatureGroupSpec(
1751
+ name="outputs",
1752
+ specs=[
1753
+ FeatureSpec(name="sequence", dtype=DataType.STRING),
1754
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1755
+ FeatureSpec(name="token", dtype=DataType.INT64),
1756
+ FeatureSpec(name="token_str", dtype=DataType.STRING),
1757
+ ],
1758
+ shape=(-1,),
1759
+ ),
1760
+ ],
1761
+ )
1762
+ ```
1763
+
1764
+ * Signature for token-classification task has been changed from
1765
+
1766
+ ```python
1767
+ ModelSignature(
1768
+ inputs=[
1769
+ FeatureSpec(name="inputs", dtype=DataType.STRING),
1770
+ ],
1771
+ outputs=[
1772
+ FeatureSpec(name="outputs", dtype=DataType.STRING),
1773
+ ],
1774
+ )
1775
+ ```
1776
+
1777
+ to
1778
+
1779
+ ```python
1780
+ ModelSignature(
1781
+ inputs=[FeatureSpec(name="inputs", dtype=DataType.STRING)],
1782
+ outputs=[
1783
+ FeatureGroupSpec(
1784
+ name="outputs",
1785
+ specs=[
1786
+ FeatureSpec(name="word", dtype=DataType.STRING),
1787
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1788
+ FeatureSpec(name="entity", dtype=DataType.STRING),
1789
+ FeatureSpec(name="index", dtype=DataType.INT64),
1790
+ FeatureSpec(name="start", dtype=DataType.INT64),
1791
+ FeatureSpec(name="end", dtype=DataType.INT64),
1792
+ ],
1793
+ shape=(-1,),
1794
+ ),
1795
+ ],
1796
+ )
1797
+ ```
1798
+
1799
+ * Signature for question-answering task when top_k is larger than 1 has been changed from
1800
+
1801
+ ```python
1802
+ ModelSignature(
1803
+ inputs=[
1804
+ FeatureSpec(name="question", dtype=DataType.STRING),
1805
+ FeatureSpec(name="context", dtype=DataType.STRING),
1806
+ ],
1807
+ outputs=[
1808
+ FeatureSpec(name="outputs", dtype=DataType.STRING),
1809
+ ],
1810
+ )
1811
+ ```
1812
+
1813
+ to
1814
+
1815
+ ```python
1816
+ ModelSignature(
1817
+ inputs=[
1818
+ FeatureSpec(name="question", dtype=DataType.STRING),
1819
+ FeatureSpec(name="context", dtype=DataType.STRING),
1820
+ ],
1821
+ outputs=[
1822
+ FeatureGroupSpec(
1823
+ name="answers",
1824
+ specs=[
1825
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1826
+ FeatureSpec(name="start", dtype=DataType.INT64),
1827
+ FeatureSpec(name="end", dtype=DataType.INT64),
1828
+ FeatureSpec(name="answer", dtype=DataType.STRING),
1829
+ ],
1830
+ shape=(-1,),
1831
+ ),
1832
+ ],
1833
+ )
1834
+ ```
1835
+
1836
+ * Signature for text-classification task when top_k is `None` has been changed from
1837
+
1838
+ ```python
1839
+ ModelSignature(
1840
+ inputs=[
1841
+ FeatureSpec(name="text", dtype=DataType.STRING),
1842
+ FeatureSpec(name="text_pair", dtype=DataType.STRING),
1843
+ ],
1844
+ outputs=[
1845
+ FeatureSpec(name="label", dtype=DataType.STRING),
1846
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1847
+ ],
1848
+ )
1849
+ ```
1850
+
1851
+ to
1852
+
1853
+ ```python
1854
+ ModelSignature(
1855
+ inputs=[
1856
+ FeatureSpec(name="text", dtype=DataType.STRING),
1857
+ ],
1858
+ outputs=[
1859
+ FeatureSpec(name="label", dtype=DataType.STRING),
1860
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1861
+ ],
1862
+ )
1863
+ ```
1864
+
1865
+ * Signature for text-classification task when top_k is not `None` has been changed from
1866
+
1867
+ ```python
1868
+ ModelSignature(
1869
+ inputs=[
1870
+ FeatureSpec(name="text", dtype=DataType.STRING),
1871
+ FeatureSpec(name="text_pair", dtype=DataType.STRING),
1872
+ ],
1873
+ outputs=[
1874
+ FeatureSpec(name="outputs", dtype=DataType.STRING),
1875
+ ],
1876
+ )
1877
+ ```
1878
+
1879
+ to
1880
+
1881
+ ```python
1882
+ ModelSignature(
1883
+ inputs=[
1884
+ FeatureSpec(name="text", dtype=DataType.STRING),
1885
+ ],
1886
+ outputs=[
1887
+ FeatureGroupSpec(
1888
+ name="labels",
1889
+ specs=[
1890
+ FeatureSpec(name="label", dtype=DataType.STRING),
1891
+ FeatureSpec(name="score", dtype=DataType.DOUBLE),
1892
+ ],
1893
+ shape=(-1,),
1894
+ ),
1895
+ ],
1896
+ )
1897
+ ```
1898
+
1899
+ * Signature for text-generation task has been changed from
1900
+
1901
+ ```python
1902
+ ModelSignature(
1903
+ inputs=[FeatureSpec(name="inputs", dtype=DataType.STRING)],
1904
+ outputs=[
1905
+ FeatureSpec(name="outputs", dtype=DataType.STRING),
1906
+ ],
1907
+ )
1908
+ ```
1909
+
1910
+ to
1911
+
1912
+ ```python
1913
+ ModelSignature(
1914
+ inputs=[
1915
+ FeatureGroupSpec(
1916
+ name="inputs",
1917
+ specs=[
1918
+ FeatureSpec(name="role", dtype=DataType.STRING),
1919
+ FeatureSpec(name="content", dtype=DataType.STRING),
1920
+ ],
1921
+ shape=(-1,),
1922
+ ),
1923
+ ],
1924
+ outputs=[
1925
+ FeatureGroupSpec(
1926
+ name="outputs",
1927
+ specs=[
1928
+ FeatureSpec(name="generated_text", dtype=DataType.STRING),
1929
+ ],
1930
+ shape=(-1,),
1931
+ )
1932
+ ],
1933
+ )
1934
+ ```
1935
+
1936
+ * Registry: PyTorch and TensorFlow models now expect a single tensor input/output by default when logging to Model
1937
+ Registry. To use multiple tensors (previous behavior), set `options={"multiple_inputs": True}`.
1938
+
1939
+ Example with single tensor input:
1940
+
1941
+ ```python
1942
+ import torch
1943
+
1944
+ class TorchModel(torch.nn.Module):
1945
+ def __init__(self, n_input: int, n_hidden: int, n_out: int, dtype: torch.dtype = torch.float32) -> None:
1946
+ super().__init__()
1947
+ self.model = torch.nn.Sequential(
1948
+ torch.nn.Linear(n_input, n_hidden, dtype=dtype),
1949
+ torch.nn.ReLU(),
1950
+ torch.nn.Linear(n_hidden, n_out, dtype=dtype),
1951
+ torch.nn.Sigmoid(),
1952
+ )
1953
+
1954
+ def forward(self, tensor: torch.Tensor) -> torch.Tensor:
1955
+ return cast(torch.Tensor, self.model(tensor))
1956
+
1957
+ # Sample usage:
1958
+ data_x = torch.rand(size=(batch_size, n_input))
1959
+
1960
+ # Log model with single tensor
1961
+ reg.log_model(
1962
+ model=model,
1963
+ ...,
1964
+ sample_input_data=data_x
1965
+ )
1966
+
1967
+ # Run inference with single tensor
1968
+ mv.run(data_x)
1969
+ ```
1970
+
1971
+ For multiple tensor inputs/outputs, use:
1972
+
1973
+ ```python
1974
+ reg.log_model(
1975
+ model=model,
1976
+ ...,
1977
+ sample_input_data=[data_x_1, data_x_2],
1978
+ options={"multiple_inputs": True}
1979
+ )
1980
+ ```
1981
+
1982
+ * Registry: Default `enable_explainability` to False when the model can be deployed to Snowpark Container Services.
1983
+
1984
+ ### New Features
1985
+
1986
+ * Registry: Added support to single `torch.Tensor`, `tensorflow.Tensor` and `tensorflow.Variable` as input or output
1987
+ data.
1988
+ * Registry: Support [`xgboost.DMatrix`](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.DMatrix)
1989
+ datatype for XGBoost models.
1990
+
1991
+ ## 1.7.5 (03-06-2025)
1992
+
1993
+ * Support Python 3.12.
1994
+ * Explainability: Support native and snowflake.ml.modeling sklearn pipeline
1995
+
1996
+ ### Bug Fixes
1997
+
1998
+ * Registry: Fixed a compatibility issue when using `snowflake-ml-python` 1.7.0 or greater to save a `tensorflow.keras`
1999
+ model with `keras` 2.x, if `relax_version` is set or default to True, and newer version of `snowflake-ml-python`
2000
+ is available in Snowflake Anaconda Channel, model could not be run in Snowflake. If you have such model, you could
2001
+ use the latest version of `snowflake-ml-python` and call `ModelVersion.load` to load it back, and re-log it.
2002
+ Alternatively, you can prevent this issue by setting `relax_version=False` when saving the model.
2003
+ * Registry: Removed the validation that disallows data that does not have non-null values being passed to
2004
+ `ModelVersion.run`.
2005
+ * ML Job (PrPr): No longer require CREATE STAGE privilege if `stage_name` points to an existing stage
2006
+ * ML Job (PrPr): Fixed a bug causing some payload source and entrypoint path
2007
+ combinations to be erroneously rejected with
2008
+ `ValueError(f"{self.entrypoint} must be a subpath of {self.source}")`
2009
+ * ML Job (PrPr): Fixed a bug in Ray cluster startup config which caused certain Runtime APIs to fail
2010
+
2011
+ ### New Features
2012
+
2013
+ * Registry: Added support for handling Hugging Face model configurations with auto-mapping functionality.
2014
+ * Registry: Added support for `keras` 3.x model with `tensorflow` and `pytorch` backend
2015
+
2016
+ ## 1.7.4 (01-28-2025)
2017
+
2018
+ * FileSet: The `snowflake.ml.fileset.FileSet` has been deprecated and will be removed in a future version.
2019
+ Use [snowflake.ml.dataset.Dataset](https://docs.snowflake.com/en/developer-guide/snowflake-ml/dataset) and
2020
+ [snowflake.ml.data.DataConnector](https://docs.snowflake.com/en/developer-guide/snowpark-ml/reference/latest/api/data/snowflake.ml.data.data_connector.DataConnector)
2021
+ instead.
2022
+ * Registry: `ModelVersion.run` on a service would require redeploying the service once account opts into nested function.
2023
+
2024
+ ### Bug Fixes
2025
+
2026
+ * Registry: Fixed an issue that the hugging face pipeline is loaded using incorrect dtype.
2027
+ * Registry: Fixed an issue that only 1 row is used when infer the model signature in the modeling model.
2028
+
2029
+ ### New Features
2030
+
2031
+ * Add new `snowflake.ml.jobs` preview API for running headless workloads on SPCS using
2032
+ [Container Runtime for ML](https://docs.snowflake.com/en/developer-guide/snowflake-ml/container-runtime-ml)
2033
+ * Added `guardrails` option to Cortex `complete` function, enabling
2034
+ [Cortex Guard](https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions#cortex-guard) support
2035
+ * Model Monitoring: Expose Model Monitoring Python API by default.
2036
+
2037
+ ## 1.7.3 (2025-01-08)
2038
+
2039
+ * Added lowercase versions of Cortex functions, added deprecation warning to Capitalized versions.
2040
+ * Bumped the requirements of `fsspec` and `s3fs` to `>=2024.6.1,<2026`
2041
+ * Bumped the requirement of `mlflow` to `>=2.16.0, <3`
2042
+ * Registry: Support 500+ features for model registry
2043
+ * Feature Store: Add support for `cluster_by` for feature views.
2044
+
2045
+ ### Bug Fixes
2046
+
2047
+ * Registry: Fixed a bug when providing non-range index pandas DataFrame as the input to a `ModelVersion.run`.
2048
+ * Registry: Improved random model version name generation to prevent collisions.
2049
+ * Registry: Fix an issue when inferring signature or running inference with Snowpark data that has a column whose type
2050
+ is `ARRAY` and contains `NULL` value.
2051
+ * Registry: `ModelVersion.run` now accepts fully qualified service name.
2052
+ * Monitoring: Fix issue in SDK with creating monitors using fully qualified names.
2053
+ * Registry: Fix error in log_model for any sklearn models with only data pre-processing including pre-processing only
2054
+ pipeline models due to default explainability enablement.
2055
+
2056
+ ### New Features
2057
+
2058
+ * Added `user_files` argument to `Registry.log_model` for including images or any extra file with the model.
2059
+ * Registry: Added support for handling Hugging Face model configurations with auto-mapping functionality
2060
+ * DataConnector: Add new `DataConnector.from_sql()` constructor
2061
+ * Registry: Provided new arguments to `snowflake.ml.model.model_signature.infer_signature` method to specify rows limit
2062
+ to be used when inferring the signature.
2063
+
2064
+ ## 1.7.2 (2024-11-21)
2065
+
2066
+ ### Bug Fixes
2067
+
2068
+ * Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
2069
+ whose task is UNKNOWN and fails later when invoked.
2070
+
2071
+ ### New Features
2072
+
2073
+ * Registry: Support asynchronous model inference service creation with the `block` option
2074
+ in `ModelVersion.create_service()` set to True by default.
2075
+ * Registry: Allow specify `batch_size` when inferencing using sentence-transformers model.
2076
+
2077
+ ## 1.7.1 (2024-11-05)
2078
+
2079
+ ### Bug Fixes
2080
+
2081
+ * Registry: Null value is now allowed in the dataframe used in model signature inference. Null values will be ignored
2082
+ and others will be used to infer the signature.
2083
+ * Registry: Pandas Extension DTypes (`pandas.StringDType()`, `pandas.BooleanDType()`, etc.) are now supported in model
2084
+ signature inference.
2085
+ * Registry: Null value is now allowed in the dataframe used to predict.
2086
+ * Data: Fix missing `snowflake.ml.data.*` module exports in wheel
2087
+ * Dataset: Fix missing `snowflake.ml.dataset.*` module exports in wheel.
2088
+ * Registry: Fix the issue that `tf_keras.Model` is not recognized as keras model when logging.
2089
+
2090
+ ### New Features
2091
+
2092
+ * Registry: Option to `enable_monitoring` set to False by default. This will gate access to preview features of Model Monitoring.
2093
+ * Model Monitoring: `show_model_monitors` Registry method. This feature is still in Private Preview.
2094
+ * Registry: Support `pd.Series` in input and output data.
2095
+ * Model Monitoring: `add_monitor` Registry method. This feature is still in Private Preview.
2096
+ * Model Monitoring: `resume` and `suspend` ModelMonitor. This feature is still in Private Preview.
2097
+ * Model Monitoring: `get_monitor` Registry method. This feature is still in Private Preview.
2098
+ * Model Monitoring: `delete_monitor` Registry method. This feature is still in Private Preview.
2099
+
2100
+ ## 1.7.0 (10-22-2024)
2101
+
2102
+ ### Behavior Change
2103
+
2104
+ * Generic: Require python >= 3.9.
2105
+ * Data Connector: Update `to_torch_dataset` and `to_torch_datapipe` to add a dimension for scalar data.
2106
+ This allows for more seamless integration with PyTorch `DataLoader`, which creates batches by stacking inputs of each batch.
2107
+
2108
+ Examples:
2109
+
2110
+ ```python
2111
+ ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
2112
+ ```
2113
+
2114
+ * Input: "col1": [10, 11, 12]
2115
+ * Previous batch: array([10., 11., 12.]) with shape (3,)
2116
+ * New batch: array([[10.], [11.], [12.]]) with shape (3, 1)
2117
+
2118
+ * Input: "col2": [[0, 100], [1, 110], [2, 200]]
2119
+ * Previous batch: array([[ 0, 100], [ 1, 110], [ 2, 200]]) with shape (3,2)
2120
+ * New batch: No change
2121
+
2122
+ * Model Registry: External access integrations are optional when creating a model inference service in
2123
+ Snowflake >= 8.40.0.
2124
+ * Model Registry: Deprecate `build_external_access_integration` with `build_external_access_integrations` in
2125
+ `ModelVersion.create_service()`.
2126
+
2127
+ ### Bug Fixes
2128
+
2129
+ * Registry: Updated `log_model` API to accept both signature and sample_input_data parameters.
2130
+ * Feature Store: ExampleHelper uses fully qualified path for table name. change weather features aggregation from 1d to 1h.
2131
+ * Data Connector: Return numpy array with appropriate object type instead of list for multi-dimensional
2132
+ data from `to_torch_dataset` and `to_torch_datapipe`
2133
+ * Model explainability: Incompatibility between SHAP 0.42.1 and XGB 2.1.1 resolved by using latest SHAP 0.46.0.
2134
+
2135
+ ### New Features
2136
+
2137
+ * Registry: Provide pass keyworded variable length of arguments to class ModelContext. Example usage:
2138
+
2139
+ ```python
2140
+ mc = custom_model.ModelContext(
2141
+ config = 'local_model_dir/config.json',
2142
+ m1 = model1
2143
+ )
2144
+
2145
+ class ExamplePipelineModel(custom_model.CustomModel):
2146
+ def __init__(self, context: custom_model.ModelContext) -> None:
2147
+ super().__init__(context)
2148
+ v = open(self.context['config']).read()
2149
+ self.bias = json.loads(v)['bias']
2150
+
2151
+ @custom_model.inference_api
2152
+ def predict(self, input: pd.DataFrame) -> pd.DataFrame:
2153
+ model_output = self.context['m1'].predict(input)
2154
+ return pd.DataFrame({'output': model_output + self.bias})
2155
+ ```
2156
+
2157
+ * Model Development: Upgrade scikit-learn in UDTF backend for log_loss metric. As a result, `eps` argument is now ignored.
2158
+ * Data Connector: Add the option of passing a `None` sized batch to `to_torch_dataset` for better
2159
+ interoperability with PyTorch DataLoader.
2160
+ * Model Registry: Support [pandas.CategoricalDtype](https://pandas.pydata.org/docs/reference/api/pandas.CategoricalDtype.html#pandas-categoricaldtype)
2161
+ * Limitations:
2162
+ * The native categorical data handling handling by XGBoost using `enable_categorical=True` is not supported.
2163
+ Instead please use [`sklearn.pipeline`](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html)
2164
+ to preprocess the categorical datatype and log the pipeline with the XGBoost model.
2165
+ * Registry: It is now possible to pass `signatures` and `sample_input_data` at the same time to capture background
2166
+ data from explainablity and data lineage.
2167
+
2168
+ ## 1.6.4 (2024-10-17)
2169
+
2170
+ ### Bug Fixes
2171
+
2172
+ * Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
2173
+
2174
+ ## 1.6.3 (2024-10-07)
2175
+
2176
+ * Model Registry (PrPr) has been removed.
2177
+
2178
+ ### Bug Fixes
2179
+
2180
+ * Registry: Fix a bug that when package whose name does not follow PEP-508 is provided when logging the model,
2181
+ an unexpected normalization is happening.
2182
+ * Registry: Fix `not a valid remote uri` error when logging mlflow models.
2183
+ * Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
2184
+ * Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
2185
+ base version.
2186
+ * Fix issue where `sample_weights` were not being applied to search estimators.
2187
+ * Model explainability: Fix bug which creates explain as a function instead of table function when enabling by default.
2188
+ * Model explainability: Update lightgbm binary classification to return non-json values, from customer feedback.
2189
+
2190
+ ### New Features
2191
+
2192
+ * Data: Improve `DataConnector.to_pandas()` performance when loading from Snowpark DataFrames.
2193
+ * Model Registry: Allow users to set a model task while using `log_model`.
2194
+ * Feature Store: FeatureView supports ON_CREATE or ON_SCHEDULE initialize mode.
2195
+
2196
+ ## 1.6.2 (2024-09-04)
2197
+
2198
+ ### Bug Fixes
2199
+
2200
+ * Modeling: Support XGBoost version that is larger than 2.
2201
+
2202
+ * Data: Fix multiple epoch iteration over `DataConnector.to_torch_datapipe()` DataPipes.
2203
+ * Generic: Fix a bug that when an invalid name is provided to argument where fully qualified name is expected, it will
2204
+ be parsed wrongly. Now it raises an exception correctly.
2205
+ * Model Explainability: Handle explanations for multiclass XGBoost classification models
2206
+ * Model Explainability: Workarounds and better error handling for XGB>2.1.0 not working with SHAP==0.42.1
2207
+
2208
+ ### New Features
2209
+
2210
+ * Data: Add top-level exports for `DataConnector` and `DataSource` to `snowflake.ml.data`.
2211
+ * Data: Add native batching support via `batch_size` and `drop_last_batch` arguments to `DataConnector.to_torch_dataset()`
2212
+ * Feature Store: update_feature_view() supports taking feature view object as argument.
2213
+
2214
+ ## 1.6.1 (2024-08-12)
2215
+
2216
+ ### Bug Fixes
2217
+
2218
+ * Feature Store: Support large metadata blob when generating dataset
2219
+ * Feature Store: Added a hidden knob in FeatureView as kargs for setting customized
2220
+ refresh_mode
2221
+ * Registry: Fix an error message in Model Version `run` when `function_name` is not mentioned and model has multiple
2222
+ target methods.
2223
+ * Cortex inference: snowflake.cortex.Complete now only uses the REST API for streaming and the use_rest_api_experimental
2224
+ is no longer needed.
2225
+ * Feature Store: Add a new API: FeatureView.list_columns() which list all column information.
2226
+ * Data: Fix `DataFrame` ingestion with `ArrowIngestor`.
2227
+
2228
+ ### New Features
2229
+
2230
+ * Enable `set_params` to set the parameters of the underlying sklearn estimator, if the snowflake-ml model has been fit.
2231
+ * Data: Add `snowflake.ml.data.ingestor_utils` module with utility functions helpful for `DataIngestor` implementations.
2232
+ * Data: Add new `to_torch_dataset()` connector to `DataConnector` to replace deprecated DataPipe.
2233
+ * Registry: Option to `enable_explainability` set to True by default for XGBoost, LightGBM and CatBoost as PuPr feature.
2234
+ * Registry: Option to `enable_explainability` when registering SHAP supported sklearn models.
2235
+
2236
+ ## 1.6.0 (2024-07-29)
2237
+
2238
+ ### Bug Fixes
2239
+
2240
+ * Modeling: `SimpleImputer` can impute integer columns with integer values.
2241
+ * Registry: Fix an issue when providing a pandas Dataframe whose index is not starting from 0 as the input to
2242
+ the `ModelVersion.run`.
2243
+
2244
+ ### New Features
2245
+
2246
+ * Feature Store: Add overloads to APIs accept both object and name/version. Impacted APIs include read_feature_view(),
2247
+ refresh_feature_view(), get_refresh_history(), resume_feature_view(), suspend_feature_view(), delete_feature_view().
2248
+ * Feature Store: Add docstring inline examples for all public APIs.
2249
+ * Feature Store: Add new utility class `ExampleHelper` to help with load source data to simplify public notebooks.
2250
+ * Registry: Option to `enable_explainability` when registering XGBoost models as a pre-PuPr feature.
2251
+ * Feature Store: add new API `update_entity()`.
2252
+ * Registry: Option to `enable_explainability` when registering Catboost models as a pre-PuPr feature.
2253
+ * Feature Store: Add new argument warehouse to FeatureView constructor to overwrite the default warehouse. Also add
2254
+ a new column 'warehouse' to the output of list_feature_views().
2255
+ * Registry: Add support for logging model from a model version.
2256
+ * Modeling: Distributed Hyperparameter Optimization now announce GA refresh version. The latest memory efficient version
2257
+ will not have the 10GB training limitation for dataset any more. To turn off, please run
2258
+ `
2259
+ from snowflake.ml.modeling._internal.snowpark_implementations import (
2260
+ distributed_hpo_trainer,
2261
+ )
2262
+ distributed_hpo_trainer.ENABLE_EFFICIENT_MEMORY_USAGE = False
2263
+ `
2264
+ * Registry: Option to `enable_explainability` when registering LightGBM models as a pre-PuPr feature.
2265
+ * Data: Add new `snowflake.ml.data` preview module which contains data reading utilities like `DataConnector`
2266
+ * `DataConnector` provides efficient connectors from Snowpark `DataFrame`
2267
+ and Snowpark ML `Dataset` to external frameworks like PyTorch, TensorFlow, and Pandas. Create `DataConnector`
2268
+ instances using the classmethod constructors `DataConnector.from_dataset()` and `DataConnector.from_dataframe()`.
2269
+ * Data: Add new `DataConnector.from_sources()` classmethod constructor for constructing from `DataSource` objects.
2270
+ * Data: Add new `ingestor_class` arg to `DataConnector` classmethod constructors for easier `DataIngestor` injection.
2271
+ * Dataset: `DatasetReader` now subclasses new `DataConnector` class.
2272
+ * Add optional `limit` arg to `DatasetReader.to_pandas()`
2273
+
2274
+ ### Behavior Changes
2275
+
2276
+ * Feature Store: change some positional parameters to keyword arguments in following APIs:
2277
+ * Entity(): desc.
2278
+ * FeatureView(): timestamp_col, refresh_freq, desc.
2279
+ * FeatureStore(): creation_mode.
2280
+ * update_entity(): desc.
2281
+ * register_feature_view(): block, overwrite.
2282
+ * list_feature_views(): entity_name, feature_view_name.
2283
+ * get_refresh_history(): verbose.
2284
+ * retrieve_feature_values(): spine_timestamp_col, exclude_columns, include_feature_view_timestamp_col.
2285
+ * generate_training_set(): save_as, spine_timestamp_col, spine_label_cols, exclude_columns,
2286
+ include_feature_view_timestamp_col.
2287
+ * generate_dataset(): version, spine_timestamp_col, spine_label_cols, exclude_columns,
2288
+ include_feature_view_timestamp_col, desc, output_type.
2289
+
2290
+ ## 1.5.4 (2024-07-11)
2291
+
2292
+ ### Bug Fixes
2293
+
2294
+ * Model Registry (PrPr): Fix 401 Unauthorized issue when deploying model to SPCS.
2295
+ * Feature Store: Downgrades exceptions to warnings for few property setters in feature view. Now you can set
2296
+ desc, refresh_freq and warehouse for draft feature views.
2297
+ * Modeling: Fix an issue with calling `OrdinalEncoder` with `categories` as a dictionary and a pandas DataFrame
2298
+ * Modeling: Fix an issue with calling `OneHotEncoder` with `categories` as a dictionary and a pandas DataFrame
2299
+
2300
+ ### New Features
2301
+
2302
+ * Registry: Allow overriding `device_map` and `device` when loading huggingface pipeline models.
2303
+ * Registry: Add `set_alias` method to `ModelVersion` instance to set an alias to model version.
2304
+ * Registry: Add `unset_alias` method to `ModelVersion` instance to unset an alias to model version.
2305
+ * Registry: Add `partitioned_inference_api` allowing users to create partitioned inference functions in registered
2306
+ models. Enable model inference methods with table functions with vectorized process methods in registered models.
2307
+ * Feature Store: add 3 more columns: refresh_freq, refresh_mode and scheduling_state to the result of
2308
+ `list_feature_views()`.
2309
+ * Feature Store: `update_feature_view()` supports updating description.
2310
+ * Feature Store: add new API `refresh_feature_view()`.
2311
+ * Feature Store: add new API `get_refresh_history()`.
2312
+ * Feature Store: Add `generate_training_set()` API for generating table-backed feature snapshots.
2313
+ * Feature Store: Add `DeprecationWarning` for `generate_dataset(..., output_type="table")`.
2314
+ * Feature Store: `update_feature_view()` supports updating description.
2315
+ * Feature Store: add new API `refresh_feature_view()`.
2316
+ * Feature Store: add new API `get_refresh_history()`.
2317
+ * Model Development: OrdinalEncoder supports a list of array-likes for `categories` argument.
2318
+ * Model Development: OneHotEncoder supports a list of array-likes for `categories` argument.
2319
+
2320
+ ## 1.5.3 (06-17-2024)
2321
+
2322
+ ### Bug Fixes
2323
+
2324
+ * Modeling: Fix an issue causing lineage information to be missing for
2325
+ `Pipeline`, `GridSearchCV` , `SimpleImputer`, and `RandomizedSearchCV`
2326
+ * Registry: Fix an issue that leads to incorrect result when using pandas Dataframe with over 100, 000 rows as the input
2327
+ of `ModelVersion.run` method in Stored Procedure.
2328
+
2329
+ ### New Features
2330
+
2331
+ * Registry: Add support for TIMESTAMP_NTZ model signature data type, allowing timestamp input and output.
2332
+ * Dataset: Add `DatasetVersion.label_cols` and `DatasetVersion.exclude_cols` properties.
2333
+
2334
+ ## 1.5.2 (06-10-2024)
2335
+
2336
+ ### Bug Fixes
2337
+
2338
+ * Registry: Fix an issue that leads to unable to log model in store procedure.
2339
+ * Modeling: Quick fix `import snowflake.ml.modeling.parameters.enable_anonymous_sproc` cannot be imported due to package
2340
+ dependency error.
2341
+
2342
+ ## 1.5.1 (05-22-2024)
2343
+
2344
+ ### Bug Fixes
2345
+
2346
+ * Dataset: Fix `snowflake.connector.errors.DataError: Query Result did not match expected number of rows` when accessing
2347
+ DatasetVersion properties when case insensitive `SHOW VERSIONS IN DATASET` check matches multiple version names.
2348
+ * Dataset: Fix bug in SnowFS bulk file read when used with DuckDB
2349
+ * Registry: Fixed a bug when loading old models.
2350
+ * Lineage: Fix Dataset source lineage propagation through `snowpark.DataFrame` transformations
2351
+
2352
+ ### Behavior Changes
2353
+
2354
+ * Feature Store: convert clear() into a private function. Also make it deletes feature views and entities only.
2355
+ * Feature Store: Use NULL as default value for timestamp tag value.
2356
+
2357
+ ### New Features
2358
+
2359
+ * Feature Store: Added new `snowflake.ml.feature_store.setup_feature_store()` API to assist Feature Store RBAC setup.
2360
+ * Feature Store: Add `output_type` argument to `FeatureStore.generate_dataset()` to allow generating data snapshots
2361
+ as Datasets or Tables.
2362
+ * Registry: `log_model`, `get_model`, `delete_model` now supports fully qualified name.
2363
+ * Modeling: Supports anonymous stored procedure during fit calls so that modeling would not require sufficient
2364
+ permissions to operate on schema. Please call
2365
+ `import snowflake.ml.modeling.parameters.enable_anonymous_sproc # noqa: F401`
2366
+
2367
+ ## 1.5.0 (05-01-2024)
2368
+
2369
+ ### Bug Fixes
2370
+
2371
+ * Registry: Fix invalid parameter 'SHOW_MODEL_DETAILS_IN_SHOW_VERSIONS_IN_MODEL' error.
2372
+
2373
+ ### Behavior Changes
2374
+
2375
+ * Model Development: The behavior of `fit_transform` for all estimators is changed.
2376
+ Firstly, it will cover all the estimator that contains this function,
2377
+ secondly, the output would be the union of pandas DataFrame and snowpark DataFrame.
2378
+
2379
+ #### Model Registry (PrPr)
2380
+
2381
+ `snowflake.ml.registry.artifact` and related `snowflake.ml.model_registry.ModelRegistry` APIs have been removed.
2382
+
2383
+ * Removed `snowflake.ml.registry.artifact` module.
2384
+ * Removed `ModelRegistry.log_artifact()`, `ModelRegistry.list_artifacts()`, `ModelRegistry.get_artifact()`
2385
+ * Removed `artifacts` argument from `ModelRegistry.log_model()`
2386
+
2387
+ #### Dataset (PrPr)
2388
+
2389
+ `snowflake.ml.dataset.Dataset` has been redesigned to be backed by Snowflake Dataset entities.
2390
+
2391
+ * New `Dataset`s can be created with `Dataset.create()` and existing `Dataset`s may be loaded
2392
+ with `Dataset.load()`.
2393
+ * `Dataset`s now maintain an immutable `selected_version` state. The `Dataset.create_version()` and
2394
+ `Dataset.load_version()` APIs return new `Dataset` objects with the requested `selected_version` state.
2395
+ * Added `dataset.create_from_dataframe()` and `dataset.load_dataset()` convenience APIs as a shortcut
2396
+ to creating and loading `Dataset`s with a pre-selected version.
2397
+ * `Dataset.materialized_table` and `Dataset.snapshot_table` no longer exist with `Dataset.fully_qualified_name`
2398
+ as the closest equivalent.
2399
+ * `Dataset.df` no longer exists. Instead, use `DatasetReader.read.to_snowpark_dataframe()`.
2400
+ * `Dataset.owner` has been moved to `Dataset.selected_version.owner`
2401
+ * `Dataset.desc` has been moved to `DatasetVersion.selected_version.comment`
2402
+ * `Dataset.timestamp_col`, `Dataset.label_cols`, `Dataset.feature_store_metadata`, and
2403
+ `Dataset.schema_version` have been removed.
2404
+
2405
+ #### Feature Store (PrPr)
2406
+
2407
+ * `FeatureStore.generate_dataset` argument list has been changed to match the new
2408
+ `snowflake.ml.dataset.Dataset` definition
2409
+
2410
+ * `materialized_table` has been removed and replaced with `name` and `version`.
2411
+ * `name` moved to first positional argument
2412
+ * `save_mode` has been removed as `merge` behavior is no longer supported. The new behavior is always `errorifexists`.
2413
+
2414
+ * Change feature view version type from str to `FeatureViewVersion`. It is a restricted string literal.
2415
+
2416
+ * Remove as_dataframe arg from FeatureStore.list_feature_views(), now always returns result as DataFrame.
2417
+
2418
+ * Combines few metadata tags into a new tag: SNOWML_FEATURE_VIEW_METADATA. This will make previously created feature views
2419
+ not readable by new SDK.
2420
+
2421
+ ### New Features
2422
+
2423
+ * Registry: Add `export` method to `ModelVersion` instance to export model files.
2424
+ * Registry: Add `load` method to `ModelVersion` instance to load the underlying object from the model.
2425
+ * Registry: Add `Model.rename` method to `Model` instance to rename or move a model.
2426
+
2427
+ #### Dataset (PrPr)
2428
+
2429
+ * Added Snowpark DataFrame integration using `Dataset.read.to_snowpark_dataframe()`
2430
+ * Added Pandas DataFrame integration using `Dataset.read.to_pandas()`
2431
+ * Added PyTorch and TensorFlow integrations using `Dataset.read.to_torch_datapipe()`
2432
+ and `Dataset.read.to_tf_dataset()` respectively.
2433
+ * Added `fsspec` style file integration using `Dataset.read.files()` and `Dataset.read.filesystem()`
2434
+
2435
+ #### Feature Store
2436
+
2437
+ * use new tag_reference_internal to speed up metadata lookup.
2438
+
2439
+ ## 1.4.1 (2024-04-18)
2440
+
2441
+ ### New Features
2442
+
2443
+ * Registry: Add support for `catboost` model (`catboost.CatBoostClassifier`, `catboost.CatBoostRegressor`).
2444
+ * Registry: Add support for `lightgbm` model (`lightgbm.Booster`, `lightgbm.LightGBMClassifier`, `lightgbm.LightGBMRegressor`).
2445
+
2446
+ ### Bug Fixes
2447
+
2448
+ * Registry: Fix a bug that leads to relax_version option is not working.
2449
+
2450
+ ### Behavior changes
2451
+
2452
+ * Feature Store: update_feature_view takes refresh_freq and warehouse as argument.
2453
+
2454
+ ## 1.4.0 (2024-04-08)
2455
+
2456
+ ### Bug Fixes
2457
+
2458
+ * Registry: Fix a bug when multiple models are being called from the same query, models other than the first one will
2459
+ have incorrect result. This fix only works for newly logged model.
2460
+ * Modeling: When registering a model, only method(s) that is mentioned in `save_model` would be added to model signature
2461
+ in SnowML models.
2462
+ * Modeling: Fix a bug that when n_jobs is not 1, model cannot execute methods such as
2463
+ predict, predict_log_proba, and other batch inference methods. The n_jobs would automatically
2464
+ set to 1 because vectorized udf currently doesn't support joblib parallel backend.
2465
+ * Modeling: Fix a bug that batch inference methods cannot infer the datatype when the first row of data contains NULL.
2466
+ * Modeling: Matches Distributed HPO output column names with the snowflake identifier.
2467
+ * Modeling: Relax package versions for all Distributed HPO methods if the installed version
2468
+ is not available in the Snowflake conda channel
2469
+ * Modeling: Add sklearn as required dependency for LightGBM package.
2470
+
2471
+ ### Behavior Changes
2472
+
2473
+ * Registry: `apply` method is no longer by default logged when logging a xgboost model. If that is required, it could
2474
+ be specified manually when logging the model by `log_model(..., options={"target_methods": ["apply", ...]})`.
2475
+ * Feature Store: register_entity returns an entity object.
2476
+ * Feature Store: register_feature_view `block=true` becomes default.
2477
+
2478
+ ### New Features
2479
+
2480
+ * Registry: Add support for `sentence-transformers` model (`sentence_transformers.SentenceTransformer`).
2481
+ * Registry: Now version name is no longer required when logging a model. If not provided, a random human readable ID
2482
+ will be generated.
2483
+
2484
+ ## 1.3.1 (2024-03-21)
2485
+
2486
+ ### New Features
2487
+
2488
+ * FileSet: `snowflake.ml.fileset.sfcfs.SFFileSystem` can now be used in UDFs and stored procedures.
2489
+
2490
+ ## 1.3.0 (2024-03-12)
2491
+
2492
+ ### Bug Fixes
2493
+
2494
+ * Registry: Fix a bug that leads to module in `code_paths` when `log_model` cannot be correctly imported.
2495
+ * Registry: Fix incorrect error message when validating input Snowpark DataFrame with array feature.
2496
+ * Model Registry: Fix an issue when deploying a model to SPCS that some files do not have proper permission.
2497
+ * Model Development: Relax package versions for all inference methods if the installed version
2498
+ is not available in the Snowflake conda channel
2499
+
2500
+ ### Behavior Changes
2501
+
2502
+ * Registry: When running the method of a model, the value range based input validation to avoid input from overflowing
2503
+ is now optional rather than enforced, this should improve the performance and should not lead to problem for most
2504
+ kinds of model. If you want to enable this check as previous, specify `strict_input_validation=True` when
2505
+ calling `run`.
2506
+ * Registry: By default `relax_version=True` when logging a model instead of using the specific local dependency versions.
2507
+ This improves dependency versioning by using versions available in Snowflake. To switch back to the previous behavior
2508
+ and use specific local dependency versions, specify `relax_version=False` when calling `log_model`.
2509
+ * Model Development: The behavior of `fit_predict` for all estimators is changed.
2510
+ Firstly, it will cover all the estimator that contains this function,
2511
+ secondly, the output would be the union of pandas DataFrame and snowpark DataFrame.
2512
+
2513
+ ### New Features
2514
+
2515
+ * FileSet: `snowflake.ml.fileset.sfcfs.SFFileSystem` can now be serialized with `pickle`.
2516
+
2517
+ ## 1.2.3 (2024-02-26)
2518
+
2519
+ ### Bug Fixes
2520
+
2521
+ * Registry: Now when providing Decimal Type column to a DOUBLE or FLOAT feature will not error out but auto cast with
2522
+ warnings.
2523
+ * Registry: Improve the error message when specifying currently unsupported `pip_requirements` argument.
2524
+ * Model Development: Fix precision_recall_fscore_support incorrect results when `average="samples"`.
2525
+ * Model Registry: Fix an issue that leads to description, metrics or tags are not correctly returned in newly created
2526
+ Model Registry (PrPr) due to Snowflake BCR [2024_01](https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_01/bcr-1483)
2527
+
2528
+ ### Behavior Changes
2529
+
2530
+ * Feature Store: `FeatureStore.suspend_feature_view` and `FeatureStore.resume_feature_view` doesn't mutate input feature
2531
+ view argument any more. The updated status only reflected in the returned feature view object.
2532
+
2533
+ ### New Features
2534
+
2535
+ * Model Development: support `score_samples` method for all the classes, including Pipeline,
2536
+ GridSearchCV, RandomizedSearchCV, PCA, IsolationForest, ...
2537
+ * Registry: Support deleting a version of a model.
2538
+
2539
+ ## 1.2.2 (2024-02-13)
2540
+
2541
+ ### New Features
2542
+
2543
+ * Model Registry: Support providing external access integrations when deploying a model to SPCS. This will help and be
2544
+ required to make sure the deploying process work as long as SPCS will by default deny all network connections. The
2545
+ following endpoints must be allowed to make deployment work: docker.com:80, docker.com:443, anaconda.com:80,
2546
+ anaconda.com:443, anaconda.org:80, anaconda.org:443, pypi.org:80, pypi.org:443. If you are using
2547
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` object, the following endpoints are required
2548
+ to be allowed: huggingface.com:80, huggingface.com:443, huggingface.co:80, huggingface.co:443.
2549
+
2550
+ ## 1.2.1 (2024-01-25)
2551
+
2552
+ ### New Features
2553
+
2554
+ * Model Development: Infers output column data type for transformers when possible.
2555
+ * Registry: `relax_version` option is available in the `options` argument when logging the model.
2556
+
2557
+ ## 1.2.0 (2024-01-11)
2558
+
2559
+ ### Bug Fixes
2560
+
2561
+ * Model Registry: Fix "XGBoost version not compiled with GPU support" error when running CPU inference against open-source
2562
+ XGBoost models deployed to SPCS.
2563
+ * Model Registry: Fix model deployment to SPCS on Windows machines.
2564
+
2565
+ ### New Features
2566
+
2567
+ * Model Development: Introduced XGBoost external memory training feature. This feature enables training XGBoost models
2568
+ on large datasets that don't fit into memory.
2569
+ * Registry: New Registry class named `snowflake.ml.registry.Registry` providing similar APIs as the old one but works
2570
+ with new MODEL object in Snowflake SQL. Also, we are providing`snowflake.ml.model.Model` and
2571
+ `snowflake.ml.model.ModelVersion` to represent a model and a specific version of a model.
2572
+ * Model Development: Add support for `fit_predict` method in `AgglomerativeClustering`, `DBSCAN`, and `OPTICS` classes;
2573
+ * Model Development: Add support for `fit_transform` method in `MDS`, `SpectralEmbedding` and `TSNE` class.
2574
+
2575
+ ### Additional Notes
2576
+
2577
+ * Model Registry: The `snowflake.ml.registry.model_registry.ModelRegistry` has been deprecated starting from version
2578
+ 1.2.0. It will stay in the Private Preview phase. For future implementations, kindly utilize
2579
+ `snowflake.ml.registry.Registry`, except when specifically required. The old model registry will be removed once all
2580
+ its primary functionalities are fully integrated into the new registry.
2581
+
2582
+ ## 1.1.2 (2023-12-18)
2583
+
2584
+ ### Bug Fixes
2585
+
2586
+ * Generic: Fix the issue that stack trace is hidden by telemetry unexpectedly.
2587
+ * Model Development: Execute model signature inference without materializing full dataframe in memory.
2588
+ * Model Registry: Fix occasional 'snowflake-ml-python library does not exist' error when deploying to SPCS.
2589
+
2590
+ ### Behavior Changes
2591
+
2592
+ * Model Registry: When calling `predict` with Snowpark DataFrame, both inferred or normalized column names are accepted.
2593
+ * Model Registry: When logging a Snowpark ML Modeling Model, sample input data or manually provided signature will be
2594
+ ignored since they are not necessary.
2595
+
2596
+ ### New Features
2597
+
2598
+ * Model Development: SQL implementation of binary `precision_score` metric.
2599
+
2600
+ ## 1.1.1 (2023-12-05)
2601
+
2602
+ ### Bug Fixes
2603
+
2604
+ * Model Registry: The `predict` target method on registered models is now compatible with unsupervised estimators.
2605
+ * Model Development: Fix confusion_matrix incorrect results when the row number cannot be divided by the batch size.
2606
+
2607
+ ### New Features
2608
+
2609
+ * Introduced passthrough_col param in Modeling API. This new param is helpful in scenarios
2610
+ requiring automatic input_cols inference, but need to avoid using specific
2611
+ columns, like index columns, during training or inference.
2612
+
2613
+ ## 1.1.0 (2023-12-01)
2614
+
2615
+ ### Bug Fixes
2616
+
2617
+ * Model Registry: Fix panda dataframe input not handling first row properly.
2618
+ * Model Development: OrdinalEncoder and LabelEncoder output_columns do not need to be valid snowflake identifiers. They
2619
+ would previously be excluded if the normalized name did not match the name specified in output_columns.
2620
+
2621
+ ### New Features
2622
+
2623
+ * Model Registry: Add support for invoking public endpoint on SPCS service, by providing a "enable_ingress" SPCS
2624
+ deployment option.
2625
+ * Model Development: Add support for distributed HPO - GridSearchCV and RandomizedSearchCV execution will be
2626
+ distributed on multi-node warehouses.
2627
+
2628
+ ## 1.0.12 (2023-11-13)
2629
+
2630
+ ### Bug Fixes
2631
+
2632
+ * Model Registry: Fix regression issue that container logging is not shown during model deployment to SPCS.
2633
+ * Model Development: Enhance the column capacity of OrdinalEncoder.
2634
+ * Model Registry: Fix unbound `batch_size` error when deploying a model other than Hugging Face Pipeline
2635
+ and LLM with GPU on SPCS.
2636
+
2637
+ ### Behavior Changes
2638
+
2639
+ * Model Registry: Raise early error when deploying to SPCS with db/schema that starts with underscore.
2640
+ * Model Registry: `conda-forge` channel is now automatically added to channel lists when deploying to SPCS.
2641
+ * Model Registry: `relax_version` will not strip all version specifier, instead it will relax `==x.y.z` specifier to
2642
+ `>=x.y,<(x+1)`.
2643
+ * Model Registry: Python with different patchlevel but the same major and minor will not result a warning when loading
2644
+ the model via Model Registry and would be considered to use when deploying to SPCS.
2645
+ * Model Registry: When logging a `snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` object,
2646
+ versions of local installed libraries won't be picked as dependencies of models, instead it will pick up some pre-
2647
+ defined dependencies to improve user experience.
2648
+
2649
+ ### New Features
2650
+
2651
+ * Model Registry: Enable best-effort SPCS job/service log streaming when logging level is set to INFO.
2652
+
2653
+ ## 1.0.11 (2023-10-27)
2654
+
2655
+ ### New Features
2656
+
2657
+ * Model Registry: Add log_artifact() public method.
2658
+ * Model Development: Add support for `kneighbors`.
2659
+
2660
+ ### Behavior Changes
2661
+
2662
+ * Model Registry: Change log_model() argument from TrainingDataset to List of Artifact.
2663
+ * Model Registry: Change get_training_dataset() to get_artifact().
2664
+
2665
+ ### Bug Fixes
2666
+
2667
+ * Model Development: Fix support for XGBoost and LightGBM models using SKLearn Grid Search and Randomized Search model selectors.
2668
+ * Model Development: DecimalType is now supported as a DataType.
2669
+ * Model Development: Fix metrics compatibility with Snowpark Dataframes that use Snowflake identifiers
2670
+ * Model Registry: Resolve 'delete_deployment' not deleting the SPCS service in certain cases.
2671
+
2672
+ ## 1.0.10 (2023-10-13)
2673
+
2674
+ ### Behavior Changes
2675
+
2676
+ * Model Development: precision_score, recall_score, f1_score, fbeta_score, precision_recall_fscore_support,
2677
+ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metric calculations are now distributed.
2678
+ * Model Registry: `deploy` will now return `Deployment` for deployment information.
2679
+
2680
+ ### New Features
2681
+
2682
+ * Model Registry: When the model signature is auto-inferred, it will be printed to the log for reference.
2683
+ * Model Registry: For SPCS deployment, `Deployment` details will contains `image_name`, `service_spec` and `service_function_sql`.
2684
+
2685
+ ### Bug Fixes
2686
+
2687
+ * Model Development: Fix an issue that leading to UTF-8 decoding errors when using modeling modules on Windows.
2688
+ * Model Development: Fix an issue that alias definitions cause `SnowparkSQLUnexpectedAliasException` in inference.
2689
+ * Model Registry: Fix an issue that signature inference could be incorrect when using Snowpark DataFrame as sample input.
2690
+ * Model Registry: Fix too strict data type validation when predicting. Now, for example, if you have a INT8
2691
+ type feature in the signature, if providing a INT64 dataframe but all values are within the range, it would not fail.
2692
+
2693
+ ## 1.0.9 (2023-09-28)
2694
+
2695
+ ### Behavior Changes
2696
+
2697
+ * Model Development: log_loss metric calculation is now distributed.
2698
+
2699
+ ### Bug Fixes
2700
+
2701
+ * Model Registry: Fix an issue that building images fails with specific docker setup.
2702
+ * Model Registry: Fix an issue that unable to embed local ML library when the library is imported by `zipimport`.
2703
+ * Model Registry: Fix out-of-date doc about `platform` argument in the `deploy` function.
2704
+ * Model Registry: Fix an issue that unable to deploy a GPU-trained PyTorch model to a platform where GPU is not available.
2705
+
2706
+ ## 1.0.8 (2023-09-15)
2707
+
2708
+ ### Bug Fixes
2709
+
2710
+ * Model Development: Ordinal encoder can be used with mixed input column types.
2711
+ * Model Development: Fix an issue when the sklearn default value is `np.nan`.
2712
+ * Model Registry: Fix an issue that incorrect docker executable is used when building images.
2713
+ * Model Registry: Fix an issue that specifying `token` argument when using
2714
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` with `transformers < 4.32.0` is not effective.
2715
+ * Model Registry: Fix an issue that incorrect system function call is used when deploying to SPCS.
2716
+ * Model Registry: Fix an issue when using a `transformers.pipeline` that does not have a `tokenizer`.
2717
+ * Model Registry: Fix incorrectly-inferred image repository name during model deployment to SPCS.
2718
+ * Model Registry: Fix GPU resource retention issue caused by failed or stuck previous deployments in SPCS.
2719
+
2720
+ ## 1.0.7 (2023-09-05)
2721
+
2722
+ ### Bug Fixes
2723
+
2724
+ * Model Development & Model Registry: Fix an error related to `pandas.io.json.json_normalize`.
2725
+ * Allow disabling telemetry.
2726
+
2727
+ ## 1.0.6 (2023-09-01)
2728
+
2729
+ ### New Features
2730
+
2731
+ * Model Registry: add `create_if_not_exists` parameter in constructor.
2732
+ * Model Registry: Added get_or_create_model_registry API.
2733
+ * Model Registry: Added support for using GPU inference when deploying XGBoost (`xgboost.XGBModel` and `xgboost.Booster`
2734
+ ), PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow (`tensorflow.Module` and
2735
+ `tensorflow.keras.Model`) models to Snowpark Container Services.
2736
+ * Model Registry: When inferring model signature, `Sequence` of built-in types, `Sequence` of `numpy.ndarray`,
2737
+ `Sequence` of `torch.Tensor`, `Sequence` of `tensorflow.Tensor` and `Sequence` of `tensorflow.Tensor` can be used
2738
+ instead of only `List` of them.
2739
+ * Model Registry: Added `get_training_dataset` API.
2740
+ * Model Development: Size of metrics result can exceed previous 8MB limit.
2741
+ * Model Registry: Added support save/load/deploy HuggingFace pipeline object (`transformers.Pipeline`) and our wrapper
2742
+ (`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel`) to it. Using the wrapper to specify
2743
+ configurations and the model for the pipeline will be loaded dynamically when deploying. Currently, following tasks
2744
+ are supported to log without manually specifying model signatures:
2745
+ * "conversational"
2746
+ * "fill-mask"
2747
+ * "question-answering"
2748
+ * "summarization"
2749
+ * "table-question-answering"
2750
+ * "text2text-generation"
2751
+ * "text-classification" (alias "sentiment-analysis" available)
2752
+ * "text-generation"
2753
+ * "token-classification" (alias "ner" available)
2754
+ * "translation"
2755
+ * "translation_xx_to_yy"
2756
+ * "zero-shot-classification"
2757
+
2758
+ ### Bug Fixes
2759
+
2760
+ * Model Development: Fixed a bug when using simple imputer with numpy >= 1.25.
2761
+ * Model Development: Fixed a bug when inferring the type of label columns.
2762
+
2763
+ ### Behavior Changes
2764
+
2765
+ * Model Registry: `log_model()` now return a `ModelReference` object instead of a model ID.
2766
+ * Model Registry: When deploying a model with 1 `target method` only, the `target_method` argument can be omitted.
2767
+ * Model Registry: When using the snowflake-ml-python with version newer than what is available in Snowflake Anaconda
2768
+ Channel, `embed_local_ml_library` option will be set as `True` automatically if not.
2769
+ * Model Registry: When deploying a model to Snowpark Container Services and using GPU, the default value of num_workers
2770
+ will be 1.
2771
+ * Model Registry: `keep_order` and `output_with_input_features` in the deploy options have been removed. Now the
2772
+ behavior is controlled by the type of the input when calling `model.predict()`. If the input is a `pandas.DataFrame`,
2773
+ the behavior will be the same as `keep_order=True` and `output_with_input_features=False` before. If the input is a
2774
+ `snowpark.DataFrame`, the behavior will be the same as `keep_order=False` and `output_with_input_features=True` before.
2775
+ * Model Registry: When logging and deploying PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow
2776
+ (`tensorflow.Module` and `tensorflow.keras.Model`) models, we no longer accept models whose input is a list of tensor
2777
+ and output is a list of tensors. Instead, now we accept models whose input is 1 or more tensors as positional arguments,
2778
+ and output is a tensor or a tuple of tensors. The input and output dataframe when predicting keep the same as before,
2779
+ that is every column is an array feature and contains a tensor.
2780
+
2781
+ ## 1.0.5 (2023-08-17)
2782
+
2783
+ ### New Features
2784
+
2785
+ * Model Registry: Added support save/load/deploy xgboost Booster model.
2786
+ * Model Registry: Added support to get the model name and the model version from model references.
2787
+
2788
+ ### Bug Fixes
2789
+
2790
+ * Model Registry: Restore the db/schema back to the session after `create_model_registry()`.
2791
+ * Model Registry: Fixed an issue that the UDF name created when deploying a model is not identical to what is provided
2792
+ and cannot be correctly dropped when deployment getting dropped.
2793
+ * connection_params.SnowflakeLoginOptions(): Added support for `private_key_path`.
2794
+
2795
+ ## 1.0.4 (2023-07-28)
2796
+
2797
+ ### New Features
2798
+
2799
+ * Model Registry: Added support save/load/deploy Tensorflow models (`tensorflow.Module`).
2800
+ * Model Registry: Added support save/load/deploy MLFlow PyFunc models (`mlflow.pyfunc.PyFuncModel`).
2801
+ * Model Development: Input dataframes can now be joined against data loaded from staged files.
2802
+ * Model Development: Added support for non-English languages.
2803
+
2804
+ ### Bug Fixes
2805
+
2806
+ * Model Registry: Fix an issue that model dependencies are incorrectly reported as unresolvable on certain platforms.
2807
+
2808
+ ## 1.0.3 (2023-07-14)
2809
+
2810
+ ### Behavior Changes
2811
+
2812
+ * Model Registry: When predicting a model whose output is a list of NumPy ndarray, the output would not be flattened,
2813
+ instead, every ndarray will act as a feature(column) in the output.
2814
+
2815
+ ### New Features
2816
+
2817
+ * Model Registry: Added support save/load/deploy PyTorch models (`torch.nn.Module` and `torch.jit.ScriptModule`).
2818
+
2819
+ ### Bug Fixes
2820
+
2821
+ * Model Registry: Fix an issue that when database or schema name provided to `create_model_registry` contains special
2822
+ characters, the model registry cannot be created.
2823
+ * Model Registry: Fix an issue that `get_model_description` returns with additional quotes.
2824
+ * Model Registry: Fix incorrect error message when attempting to remove a unset tag of a model.
2825
+ * Model Registry: Fix a typo in the default deployment table name.
2826
+ * Model Registry: Snowpark dataframe for sample input or input for `predict` method that contains a column with
2827
+ Snowflake `NUMBER(precision, scale)` data type where `scale = 0` will not lead to error, and will now correctly
2828
+ recognized as `INT64` data type in model signature.
2829
+ * Model Registry: Fix an issue that prevent model logged in the system whose default encoding is not UTF-8 compatible
2830
+ from deploying.
2831
+ * Model Registry: Added earlier and better error message when any file name in the model or the file name of model
2832
+ itself contains characters that are unable to be encoded using ASCII. It is currently not supported to deploy such a
2833
+ model.
2834
+
2835
+ ## 1.0.2 (2023-06-22)
2836
+
2837
+ ### Behavior Changes
2838
+
2839
+ * Model Registry: Prohibit non-snowflake-native models from being logged.
2840
+ * Model Registry: `_use_local_snowml` parameter in options of `deploy()` has been removed.
2841
+ * Model Registry: A default `False` `embed_local_ml_library` parameter has been added to the options of `log_model()`.
2842
+ With this set to `False` (default), the version of the local snowflake-ml-python library will be recorded and used when
2843
+ deploying the model. With this set to `True`, local snowflake-ml-python library will be embedded into the logged model,
2844
+ and will be used when you load or deploy the model.
2845
+
2846
+ ### New Features
2847
+
2848
+ * Model Registry: A new optional argument named `code_paths` has been added to the arguments of `log_model()` for users
2849
+ to specify additional code paths to be imported when loading and deploying the model.
2850
+ * Model Registry: A new optional argument named `options` has been added to the arguments of `log_model()` to specify
2851
+ any additional options when saving the model.
2852
+ * Model Development: Added metrics:
2853
+ * d2_absolute_error_score
2854
+ * d2_pinball_score
2855
+ * explained_variance_score
2856
+ * mean_absolute_error
2857
+ * mean_absolute_percentage_error
2858
+ * mean_squared_error
2859
+
2860
+ ### Bug Fixes
2861
+
2862
+ * Model Development: `accuracy_score()` now works when given label column names are lists of a single value.
2863
+
2864
+ ## 1.0.1 (2023-06-16)
2865
+
2866
+ ### Behavior Changes
2867
+
2868
+ * Model Development: Changed Metrics APIs to imitate sklearn metrics modules:
2869
+ * `accuracy_score()`, `confusion_matrix()`, `precision_recall_fscore_support()`, `precision_score()` methods move from
2870
+ respective modules to `metrics.classification`.
2871
+ * Model Registry: The default table/stage created by the Registry now uses "_SYSTEM_" as a prefix.
2872
+ * Model Registry: `get_model_history()` method as been enhanced to include the history of model deployment.
2873
+
2874
+ ### New Features
2875
+
2876
+ * Model Registry: A default `False` flag named `replace_udf` has been added to the options of `deploy()`. Setting this
2877
+ to `True` will allow overwrite existing UDF with the same name when deploying.
2878
+ * Model Development: Added metrics:
2879
+ * f1_score
2880
+ * fbeta_score
2881
+ * recall_score
2882
+ * roc_auc_score
2883
+ * roc_curve
2884
+ * log_loss
2885
+ * precision_recall_curve
2886
+ * Model Registry: A new argument named `permanent` has been added to the argument of `deploy()`. Setting this to `True`
2887
+ allows the creation of a permanent deployment without needing to specify the UDF location.
2888
+ * Model Registry: A new method `list_deployments()` has been added to enumerate all permanent deployments originating
2889
+ from a specific model.
2890
+ * Model Registry: A new method `get_deployment()` has been added to fetch a deployment by its deployment name.
2891
+ * Model Registry: A new method `delete_deployment()` has been added to remove an existing permanent deployment.
2892
+
2893
+ ## 1.0.0 (2023-06-09)
2894
+
2895
+ ### Behavior Changes
2896
+
2897
+ * Model Registry: `predict()` method moves from Registry to ModelReference.
2898
+ * Model Registry: `_snowml_wheel_path` parameter in options of `deploy()`, is replaced with `_use_local_snowml` with
2899
+ default value of `False`. Setting this to `True` will have the same effect of uploading local SnowML code when executing
2900
+ model in the warehouse.
2901
+ * Model Registry: Removed `id` field from `ModelReference` constructor.
2902
+ * Model Development: Preprocessing and Metrics move to the modeling package: `snowflake.ml.modeling.preprocessing` and
2903
+ `snowflake.ml.modeling.metrics`.
2904
+ * Model Development: `get_sklearn_object()` method is renamed to `to_sklearn()`, `to_xgboost()`, and `to_lightgbm()` for
2905
+ respective native models.
2906
+
2907
+ ### New Features
2908
+
2909
+ * Added PolynomialFeatures transformer to the snowflake.ml.modeling.preprocessing module.
2910
+ * Added metrics:
2911
+ * accuracy_score
2912
+ * confusion_matrix
2913
+ * precision_recall_fscore_support
2914
+ * precision_score
2915
+
2916
+ ### Bug Fixes
2917
+
2918
+ * Model Registry: Model version can now be any string (not required to be a valid identifier)
2919
+ * Model Deployment: `deploy()` & `predict()` methods now correctly escapes identifiers
2920
+
2921
+ ## 0.3.2 (2023-05-23)
2922
+
2923
+ ### Behavior Changes
2924
+
2925
+ * Use cloudpickle to serialize and deserialize models throughout the codebase and removed dependency on joblib.
2926
+
2927
+ ### New Features
2928
+
2929
+ * Model Deployment: Added support for snowflake.ml models.
2930
+
2931
+ ## 0.3.1 (2023-05-18)
2932
+
2933
+ ### Behavior Changes
2934
+
2935
+ * Standardized registry API with following
2936
+ * Create & open registry taking same set of arguments
2937
+ * Create & Open can choose schema to use
2938
+ * Set_tag, set_metric, etc now explicitly calls out arg name as metric_name, tag_name, metric_name, etc.
2939
+
2940
+ ### New Features
2941
+
2942
+ * Changes to support python 3.9, 3.10
2943
+ * Added kBinsDiscretizer
2944
+ * Support for deployment of XGBoost models & int8 types of data
2945
+
2946
+ ## 0.3.0 (2023-05-11)
2947
+
2948
+ ### Behavior Changes
2949
+
2950
+ * Big Model Registry Refresh
2951
+ * Fixed API discrepancies between register_model & log_model.
2952
+ * Model can be referred by Name + Version (no opaque internal id is required)
2953
+
2954
+ ### New Features
2955
+
2956
+ * Model Registry: Added support save/load/deploy SKL & XGB Models
2957
+
2958
+ ## 0.2.3 (2023-04-27)
2959
+
2960
+ ### Bug Fixes
2961
+
2962
+ * Allow using OneHotEncoder along with sklearn style estimators in a pipeline.
2963
+
2964
+ ### New Features
2965
+
2966
+ * Model Registry: Added support for delete_model. Use delete_artifact = False to not delete the underlying model data
2967
+ but just unregister.
2968
+
2969
+ ## 0.2.2 (2023-04-11)
2970
+
2971
+ ### New Features
2972
+
2973
+ * Initial version of snowflake-ml modeling package.
2974
+ * Provide support for training most of scikit-learn and xgboost estimators and transformers.
2975
+
2976
+ ### Bug Fixes
2977
+
2978
+ * Minor fixes in preprocessing package.
2979
+
2980
+ ## 0.2.1 (2023-03-23)
2981
+
2982
+ ### New Features
2983
+
2984
+ * New in Preprocessing:
2985
+ * SimpleImputer
2986
+ * Covariance Matrix
2987
+ * Optimization of Ordinal Encoder client computations.
2988
+
2989
+ ### Bug Fixes
2990
+
2991
+ * Minor fixes in OneHotEncoder.
2992
+
2993
+ ## 0.2.0 (2023-02-27)
2994
+
2995
+ ### New Features
2996
+
2997
+ * Model Registry
2998
+ * PyTorch & Tensorflow connector file generic FileSet API
2999
+ * New to Preprocessing:
3000
+ * Binarizer
3001
+ * Normalizer
3002
+ * Pearson correlation Matrix
3003
+ * Optimization in Ordinal Encoder to cache vocabulary in temp tables.
3004
+
3005
+ ## 0.1.3 (2023-02-02)
3006
+
3007
+ ### New Features
3008
+
3009
+ * Initial version of transformers including:
3010
+ * Label Encoder
3011
+ * Max Abs Scaler
3012
+ * Min Max Scaler
3013
+ * One Hot Encoder
3014
+ * Ordinal Encoder
3015
+ * Robust Scaler
3016
+ * Standard Scaler