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