snowflake-ml-python 2.0.0__tar.gz → 2.1.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 (553) hide show
  1. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/CHANGELOG.md +35 -8
  2. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/PKG-INFO +36 -9
  3. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env_utils.py +13 -53
  4. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +43 -10
  5. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/experiment_tracking.py +73 -26
  6. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_store.py +123 -0
  7. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_registration.py +26 -1
  8. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/constants.py +2 -0
  9. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job.py +60 -53
  10. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job_definition.py +2 -0
  11. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +10 -12
  12. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +4 -4
  13. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +10 -10
  14. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +19 -17
  15. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +3 -3
  16. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +4 -4
  17. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +47 -1
  18. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +29 -29
  19. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +31 -7
  20. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +4 -4
  21. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/numpy_handler.py +1 -1
  22. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +3 -3
  23. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +1 -1
  24. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +9 -10
  25. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +6 -1
  26. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/birch.py +2 -2
  27. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +10 -10
  28. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/k_means.py +5 -2
  29. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -0
  30. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/optics.py +5 -6
  31. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/column_transformer.py +23 -15
  32. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +1 -1
  33. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1 -1
  34. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +6 -6
  35. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +5 -9
  36. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -1
  37. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -1
  38. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -1
  39. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +7 -2
  40. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +7 -2
  41. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +8 -2
  42. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +8 -2
  43. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +22 -13
  44. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +25 -14
  45. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +12 -12
  46. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +7 -2
  47. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +7 -2
  48. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +5 -4
  49. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +1 -1
  50. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +1 -1
  51. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +9 -7
  52. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1 -1
  53. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +4 -1
  54. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/knn_imputer.py +3 -3
  55. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1 -1
  56. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1 -1
  57. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1 -1
  58. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ard_regression.py +1 -1
  59. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1 -1
  60. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net.py +1 -1
  61. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +10 -9
  62. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +1 -1
  63. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars.py +1 -1
  64. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -1
  65. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso.py +1 -1
  66. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +10 -9
  67. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +1 -1
  68. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -1
  69. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1 -1
  70. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/linear_regression.py +14 -1
  71. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +18 -22
  72. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +23 -26
  73. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1 -1
  74. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +9 -8
  75. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1 -1
  76. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +9 -8
  77. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1 -1
  78. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1 -1
  79. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
  80. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/perceptron.py +1 -1
  81. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +7 -7
  82. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge.py +1 -1
  83. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +1 -1
  84. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +11 -13
  85. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +13 -17
  86. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +13 -4
  87. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +9 -2
  88. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +3 -3
  89. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/mds.py +10 -10
  90. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/tsne.py +3 -9
  91. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +10 -11
  92. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +3 -0
  93. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1 -1
  94. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1 -1
  95. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +1 -1
  96. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1 -1
  97. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1 -1
  98. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +1 -1
  99. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1 -1
  100. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1 -1
  101. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -1
  102. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +17 -5
  103. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +2 -2
  104. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
  105. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +1 -1
  106. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +12 -2
  107. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +1 -1
  108. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +2 -2
  109. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +2 -2
  110. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +1 -1
  111. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svc.py +1 -1
  112. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svr.py +1 -1
  113. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svc.py +3 -1
  114. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svr.py +3 -1
  115. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svc.py +4 -2
  116. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svr.py +3 -1
  117. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +15 -13
  118. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +8 -3
  119. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +4 -2
  120. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +4 -2
  121. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +17 -6
  122. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +17 -6
  123. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +17 -6
  124. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +17 -6
  125. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/version.py +1 -1
  126. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/PKG-INFO +36 -9
  127. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/LICENSE.txt +0 -0
  128. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/README.md +0 -0
  129. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/pyproject.toml +0 -0
  130. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/setup.cfg +0 -0
  131. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/__init__.py +0 -0
  132. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_classify_text.py +0 -0
  133. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_complete.py +0 -0
  134. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  135. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_768.py +0 -0
  136. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_extract_answer.py +0 -0
  137. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_finetune.py +0 -0
  138. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sentiment.py +0 -0
  139. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sse_client.py +0 -0
  140. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_summarize.py +0 -0
  141. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_translate.py +0 -0
  142. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_util.py +0 -0
  143. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env.py +0 -0
  144. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  145. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  146. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  147. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  148. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  149. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  150. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  151. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  152. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  153. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/file_utils.py +0 -0
  154. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  155. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  156. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  157. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  158. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/init_utils.py +0 -0
  159. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  160. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  161. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  162. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  163. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/telemetry.py +0 -0
  164. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/type_utils.py +0 -0
  165. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  166. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  167. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  168. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  169. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  170. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  171. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  172. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  173. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  174. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  175. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/result.py +0 -0
  176. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  177. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  178. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  179. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  180. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  181. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/tee.py +0 -0
  182. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  183. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/url.py +0 -0
  184. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/__init__.py +0 -0
  185. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  186. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_connector.py +0 -0
  187. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_ingestor.py +0 -0
  188. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_source.py +0 -0
  189. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  190. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/torch_utils.py +0 -0
  191. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/__init__.py +0 -0
  192. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset.py +0 -0
  193. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  194. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  195. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  196. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/__init__.py +0 -0
  197. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  198. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  199. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  200. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  201. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  202. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  203. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
  204. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
  205. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
  206. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_source_info.py +0 -0
  207. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/keras.py +0 -0
  208. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
  209. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
  210. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/utils.py +0 -0
  211. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/__init__.py +0 -0
  212. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
  213. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  214. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/aggregation.py +0 -0
  215. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/entity.py +0 -0
  216. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  217. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  218. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  219. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  220. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  221. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  222. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  223. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  224. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  225. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  226. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  227. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  228. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  229. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  230. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  231. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  232. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  233. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  234. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  235. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  236. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  237. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  238. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature.py +0 -0
  239. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_group.py +0 -0
  240. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view.py +0 -0
  241. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
  242. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
  243. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
  244. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
  245. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service.py +0 -0
  246. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
  247. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
  248. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
  249. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
  250. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/request_source.py +0 -0
  251. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
  252. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
  253. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
  254. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/models.py +0 -0
  255. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
  256. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_config.py +0 -0
  257. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_source.py +0 -0
  258. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
  259. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
  260. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  261. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/fileset.py +0 -0
  262. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  263. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/snowfs.py +0 -0
  264. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  265. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/__init__.py +0 -0
  266. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  267. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
  268. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
  269. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
  270. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
  271. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
  272. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/results.py +0 -0
  273. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
  274. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  275. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
  276. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
  277. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
  278. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  279. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  280. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
  281. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  282. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  283. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
  284. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  285. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
  286. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
  287. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  288. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  289. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
  290. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/decorators.py +0 -0
  291. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/manager.py +0 -0
  292. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/__init__.py +0 -0
  293. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  294. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/__init__.py +0 -0
  295. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
  296. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -0
  297. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
  298. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
  299. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  300. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_version_impl.py +0 -0
  301. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
  302. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
  303. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +0 -0
  304. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
  305. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
  306. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
  307. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
  308. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  309. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
  310. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
  311. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
  312. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/service_ops.py +0 -0
  313. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
  314. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
  315. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  316. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
  317. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  318. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  319. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  320. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/service.py +0 -0
  321. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  322. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  323. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
  324. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  325. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  326. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  327. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  328. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  329. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  330. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
  331. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  332. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
  333. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  334. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
  335. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  336. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
  337. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  338. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  339. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  340. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  341. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  342. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
  343. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
  344. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
  345. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
  346. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
  347. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
  348. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
  349. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
  350. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
  351. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
  352. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
  353. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
  354. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
  355. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
  356. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
  357. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
  358. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
  359. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
  360. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
  361. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
  362. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
  363. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
  364. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
  365. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
  366. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
  367. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
  368. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
  369. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
  370. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
  371. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  372. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
  373. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
  374. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  375. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  376. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  377. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  378. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  379. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  380. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  381. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  382. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  383. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  384. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  385. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  386. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
  387. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  388. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  389. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  390. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  391. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  392. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  393. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
  394. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  395. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  396. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  397. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/core.py +0 -0
  398. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  399. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  400. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  401. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  402. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  403. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  404. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
  405. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/code_path.py +0 -0
  406. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/compute_pool.py +0 -0
  407. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/custom_model.py +0 -0
  408. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/event_handler.py +0 -0
  409. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/inference_engine.py +0 -0
  410. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/model_signature.py +0 -0
  411. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface.py +0 -0
  412. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
  413. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/openai_signatures.py +0 -0
  414. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/target_platform.py +0 -0
  415. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/task.py +0 -0
  416. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/type_hints.py +0 -0
  417. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/volatility.py +0 -0
  418. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  419. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  420. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  421. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  422. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  423. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  424. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  425. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/optional_dependency.py +0 -0
  426. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  427. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  428. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  429. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  430. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  431. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  432. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  433. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  434. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  435. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  436. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  437. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  438. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  439. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  440. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  441. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  442. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  443. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  444. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  445. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  446. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  447. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  448. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  449. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  450. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  451. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  452. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  453. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  454. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  455. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  456. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  457. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  458. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  459. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  460. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  461. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  462. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  463. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  464. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  465. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  466. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  467. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  468. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  469. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  470. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  471. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/base.py +0 -0
  472. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  473. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  474. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  475. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  476. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  477. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  478. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  479. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  480. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  481. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  482. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  483. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  484. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  485. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  486. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  487. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  488. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  489. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  490. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  491. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  492. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  493. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  494. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  495. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  496. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  497. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  498. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  499. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  500. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  501. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  502. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  503. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  504. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  505. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  506. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  507. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  508. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  509. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  510. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  511. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  512. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  513. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  514. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  515. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  516. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  517. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  518. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  519. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  520. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  521. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  522. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  523. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  524. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  525. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  526. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  527. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  528. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  529. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  530. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  531. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  532. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  533. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
  534. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  535. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  536. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
  537. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  538. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  539. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  540. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/shap.py +0 -0
  541. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/__init__.py +0 -0
  542. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  543. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  544. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/registry.py +0 -0
  545. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/authentication.py +0 -0
  546. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/html_utils.py +0 -0
  547. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sparse.py +0 -0
  548. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sql_client.py +0 -0
  549. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/stage_file.py +0 -0
  550. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
  551. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  552. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
  553. {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,33 @@
1
1
  # Release History
2
2
 
3
- ## 2.0.0
3
+ ## 2.1.0
4
+
5
+ ### New Features
6
+
7
+ * Experiment Tracking: Added `ExperimentTracking.get_metric_history`, which returns every logged step of a
8
+ metric instead of only the value at the highest step reported by `list_metrics`. Pass a metric name to scope
9
+ the result to one metric, or omit it to get every metric of the run. The result is a lazy Snowpark DataFrame
10
+ with `name`, `step`, `value`, and `timestamp` columns, so filtering and aggregation run in Snowflake.
11
+
12
+ * Feature Store: `list_feature_views()` now surfaces the online feature table's setup readiness in the
13
+ `online_config` JSON as `setup_status`, `setup_error_msg` and `setup_time`, for both batch/streaming
14
+ and realtime feature views. The keys are present only when setup-readiness information is available
15
+ for the table, so test for key presence. `SETUP_NOTREADY` means setup has not concluded yet, not
16
+ that setup failed; `SETUP_FAILED` is the failure signal. Note that `SETUP_READY` is also reported
17
+ when nothing has ever been reported for the table, and in that case `setup_status` may later change
18
+ to `SETUP_FAILED`.
19
+
20
+ ### Bug Fixes
21
+
22
+ * Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
23
+ now re-logged from the scikit-learn estimator using the serialization format it was saved with,
24
+ instead of from MLflow's PyFunc wrapper with the version-dependent default format.
25
+
26
+ ### Behavior Changes
27
+
28
+ ### Deprecations
29
+
30
+ ## 2.0.0 (2026-09-09)
4
31
 
5
32
  Release candidate for the `snowflake-ml-python` 2.0 major release. This is a breaking
6
33
  release that removes deprecated APIs and slims down the default install footprint.
@@ -12,6 +39,10 @@ release that removes deprecated APIs and slims down the default install footprin
12
39
  Online Service, which keeps serving online reads and stream ingestion throughout. Poll
13
40
  `get_online_service_status()` until `status` is `RUNNING` at the requested size.
14
41
 
42
+ * ML Jobs: `submit_file`, `submit_directory`, `submit_from_stage`, and `@remote` accept a `comment` kwarg, attached as
43
+ the comment on the job service. When omitted, the comment defaults to the `application` name configured on the
44
+ session, so jobs submitted by a tool or partner integration remain attributable after the fact.
45
+
15
46
  ### Bug Fixes
16
47
 
17
48
  * Feature Store: `delete_feature_view` now drops the online feature table before the
@@ -90,9 +121,6 @@ release that removes deprecated APIs and slims down the default install footprin
90
121
 
91
122
  * Experiment Tracking: Source provenance now also records the id of the enclosing ML job when a run is created from
92
123
  inside one.
93
- * ML Jobs: `submit_file`, `submit_directory`, `submit_from_stage`, and `@remote` accept a `comment` kwarg, attached as
94
- the comment on the job service. When omitted, the comment defaults to the `application` name configured on the
95
- session, so jobs submitted by a tool or partner integration remain attributable after the fact.
96
124
 
97
125
  ### Bug Fixes
98
126
 
@@ -104,6 +132,9 @@ release that removes deprecated APIs and slims down the default install footprin
104
132
  * Feature Store: Fixed FeatureStore.update_feature_view() failing with `SQL compilation error:
105
133
  invalid value 'ADAPTIVE' for property 'REFRESH_MODE'` when enabling online storage for an existing
106
134
  feature view.
135
+ * Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
136
+ changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
137
+ change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
107
138
 
108
139
  ### Behavior Changes
109
140
 
@@ -138,10 +169,6 @@ release that removes deprecated APIs and slims down the default install footprin
138
169
 
139
170
  ### Bug Fixes
140
171
 
141
- * Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
142
- changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
143
- change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
144
-
145
172
  ### Behavior Changes
146
173
 
147
174
  * Feature Store: `register_feature_view` now records `FV_SOURCE_REFS` metadata for managed batch
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: The machine learning client library that is used for interacting with Snowflake to build machine learning solutions.
5
5
  Author-email: "Snowflake, Inc" <support@snowflake.com>
6
6
  License:
@@ -425,7 +425,34 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
425
425
 
426
426
  # Release History
427
427
 
428
- ## 2.0.0
428
+ ## 2.1.0
429
+
430
+ ### New Features
431
+
432
+ * Experiment Tracking: Added `ExperimentTracking.get_metric_history`, which returns every logged step of a
433
+ metric instead of only the value at the highest step reported by `list_metrics`. Pass a metric name to scope
434
+ the result to one metric, or omit it to get every metric of the run. The result is a lazy Snowpark DataFrame
435
+ with `name`, `step`, `value`, and `timestamp` columns, so filtering and aggregation run in Snowflake.
436
+
437
+ * Feature Store: `list_feature_views()` now surfaces the online feature table's setup readiness in the
438
+ `online_config` JSON as `setup_status`, `setup_error_msg` and `setup_time`, for both batch/streaming
439
+ and realtime feature views. The keys are present only when setup-readiness information is available
440
+ for the table, so test for key presence. `SETUP_NOTREADY` means setup has not concluded yet, not
441
+ that setup failed; `SETUP_FAILED` is the failure signal. Note that `SETUP_READY` is also reported
442
+ when nothing has ever been reported for the table, and in that case `setup_status` may later change
443
+ to `SETUP_FAILED`.
444
+
445
+ ### Bug Fixes
446
+
447
+ * Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
448
+ now re-logged from the scikit-learn estimator using the serialization format it was saved with,
449
+ instead of from MLflow's PyFunc wrapper with the version-dependent default format.
450
+
451
+ ### Behavior Changes
452
+
453
+ ### Deprecations
454
+
455
+ ## 2.0.0 (2026-09-09)
429
456
 
430
457
  Release candidate for the `snowflake-ml-python` 2.0 major release. This is a breaking
431
458
  release that removes deprecated APIs and slims down the default install footprint.
@@ -437,6 +464,10 @@ release that removes deprecated APIs and slims down the default install footprin
437
464
  Online Service, which keeps serving online reads and stream ingestion throughout. Poll
438
465
  `get_online_service_status()` until `status` is `RUNNING` at the requested size.
439
466
 
467
+ * ML Jobs: `submit_file`, `submit_directory`, `submit_from_stage`, and `@remote` accept a `comment` kwarg, attached as
468
+ the comment on the job service. When omitted, the comment defaults to the `application` name configured on the
469
+ session, so jobs submitted by a tool or partner integration remain attributable after the fact.
470
+
440
471
  ### Bug Fixes
441
472
 
442
473
  * Feature Store: `delete_feature_view` now drops the online feature table before the
@@ -515,9 +546,6 @@ release that removes deprecated APIs and slims down the default install footprin
515
546
 
516
547
  * Experiment Tracking: Source provenance now also records the id of the enclosing ML job when a run is created from
517
548
  inside one.
518
- * ML Jobs: `submit_file`, `submit_directory`, `submit_from_stage`, and `@remote` accept a `comment` kwarg, attached as
519
- the comment on the job service. When omitted, the comment defaults to the `application` name configured on the
520
- session, so jobs submitted by a tool or partner integration remain attributable after the fact.
521
549
 
522
550
  ### Bug Fixes
523
551
 
@@ -529,6 +557,9 @@ release that removes deprecated APIs and slims down the default install footprin
529
557
  * Feature Store: Fixed FeatureStore.update_feature_view() failing with `SQL compilation error:
530
558
  invalid value 'ADAPTIVE' for property 'REFRESH_MODE'` when enabling online storage for an existing
531
559
  feature view.
560
+ * Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
561
+ changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
562
+ change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
532
563
 
533
564
  ### Behavior Changes
534
565
 
@@ -563,10 +594,6 @@ release that removes deprecated APIs and slims down the default install footprin
563
594
 
564
595
  ### Bug Fixes
565
596
 
566
- * Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
567
- changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
568
- change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
569
-
570
597
  ### Behavior Changes
571
598
 
572
599
  * Feature Store: `register_feature_view` now records `FV_SOURCE_REFS` metadata for managed batch
@@ -8,7 +8,7 @@ import textwrap
8
8
  import warnings
9
9
  from enum import Enum
10
10
  from importlib import metadata as importlib_metadata
11
- from typing import Any, DefaultDict, Optional
11
+ from typing import Any, DefaultDict
12
12
 
13
13
  import yaml
14
14
  from packaging import requirements, specifiers, version
@@ -376,53 +376,13 @@ def get_package_spec_with_supported_ops_only(req: requirements.Requirement) -> r
376
376
  A requirements.Requirement object with supported ops only
377
377
  """
378
378
 
379
- if req.name == "numpy":
380
- import numpy as np
381
-
382
- package_specifiers = get_numpy_specifiers(req, version.Version(np.__version__).major)
383
- else:
384
- package_specifiers = [spec for spec in req.specifier if spec.operator in _SUPPORTED_PACKAGE_SPEC_OPS]
379
+ package_specifiers = [spec for spec in req.specifier if spec.operator in _SUPPORTED_PACKAGE_SPEC_OPS]
385
380
 
386
381
  new_req = copy.deepcopy(req)
387
382
  new_req.specifier = specifiers.SpecifierSet(specifiers=",".join([str(spec) for spec in package_specifiers]))
388
383
  return new_req
389
384
 
390
385
 
391
- def get_numpy_specifiers(
392
- req: requirements.Requirement,
393
- client_numpy_major_version: int,
394
- ) -> list[specifiers.Specifier]:
395
- """Get the package spec with supported ops only including ==, >=, <=, > and < based on the client numpy
396
- major version.
397
-
398
- Args:
399
- req: A requirements.Requirement object showing the requirement.
400
- client_numpy_major_version: The major version of numpy to be used.
401
-
402
- Returns:
403
- A list of specifiers with supported ops only
404
- """
405
- req_specifiers = []
406
- for org_spec in req.specifier:
407
- # check specifier that provides upper bound
408
- if org_spec.operator in ["<", "<="]:
409
- client_version = version.Version(str(client_numpy_major_version))
410
- org_spec_version = version.Version(org_spec.version)
411
- # check if the client's numpy major version is less than the specifier's upper bound
412
- # if so, pin to max possible client major version
413
- if client_version.major < org_spec_version.major:
414
- modified_spec = specifiers.Specifier(f"<{client_version.major + 1}")
415
- req_specifiers.append(modified_spec)
416
- else:
417
- # use the original specifier
418
- req_specifiers.append(org_spec)
419
- else:
420
- # use the original specifier
421
- req_specifiers.append(org_spec)
422
-
423
- return req_specifiers
424
-
425
-
426
386
  def _relax_specifier_set(
427
387
  specifier_set: specifiers.SpecifierSet, strategy: relax_version_strategy.RelaxVersionStrategy
428
388
  ) -> specifiers.SpecifierSet:
@@ -493,7 +453,7 @@ def get_matched_package_versions_in_information_schema(
493
453
  session: session.Session,
494
454
  reqs: list[requirements.Requirement],
495
455
  python_version: str,
496
- statement_params: Optional[dict[str, Any]] = None,
456
+ statement_params: dict[str, Any] | None = None,
497
457
  ) -> dict[str, list[version.Version]]:
498
458
  """Look up the information_schema table to check if a package with the specified specifier exists in the Snowflake
499
459
  Conda channel. Note that this is not the source of truth due to the potential delay caused by a package that might
@@ -567,7 +527,7 @@ def save_conda_env_file(
567
527
  path: pathlib.Path,
568
528
  conda_chan_deps: DefaultDict[str, list[requirements.Requirement]],
569
529
  python_version: str,
570
- cuda_version: Optional[str] = None,
530
+ cuda_version: str | None = None,
571
531
  default_channel_override: str = SNOWFLAKE_CONDA_CHANNEL_URL,
572
532
  ) -> None:
573
533
  """Generate conda.yml file given a dict of dependencies after validation.
@@ -688,7 +648,7 @@ def _has_torch_dependency(pip_deps: list[requirements.Requirement]) -> bool:
688
648
  def save_requirements_file(
689
649
  path: pathlib.Path,
690
650
  pip_deps: list[requirements.Requirement],
691
- cuda_version: Optional[str] = None,
651
+ cuda_version: str | None = None,
692
652
  ) -> list[str]:
693
653
  """Generate Python requirements.txt file in the given directory path.
694
654
 
@@ -727,9 +687,9 @@ def load_conda_env_file(
727
687
  path: pathlib.Path,
728
688
  ) -> tuple[
729
689
  DefaultDict[str, list[requirements.Requirement]],
730
- Optional[list[requirements.Requirement]],
731
- Optional[str],
732
- Optional[str],
690
+ list[requirements.Requirement] | None,
691
+ str | None,
692
+ str | None,
733
693
  ]:
734
694
  """Read conda.yml file to get a dict of dependencies after validation.
735
695
  The channels part of conda.yml file will be processed with following rules:
@@ -830,7 +790,7 @@ def load_requirements_file(path: pathlib.Path) -> list[requirements.Requirement]
830
790
  PYTHON_VERSION_PATTERN = re.compile(r"python(?:(?P<op>=|==|>|<|>=|<=|~=|===)(?P<ver>\d(?:\.\d+)+))?(\.*)?")
831
791
 
832
792
 
833
- def parse_python_version_string(dep: str) -> Optional[str]:
793
+ def parse_python_version_string(dep: str) -> str | None:
834
794
  if dep.startswith("python"):
835
795
  m = PYTHON_VERSION_PATTERN.match(dep)
836
796
  if m is None:
@@ -849,7 +809,7 @@ def parse_python_version_string(dep: str) -> Optional[str]:
849
809
 
850
810
  def _find_conda_dep_spec(
851
811
  conda_chan_deps: DefaultDict[str, list[requirements.Requirement]], pkg_name: str
852
- ) -> Optional[tuple[str, requirements.Requirement]]:
812
+ ) -> tuple[str, requirements.Requirement] | None:
853
813
  for channel in conda_chan_deps:
854
814
  spec = next(filter(lambda req: req.name == pkg_name, conda_chan_deps[channel]), None)
855
815
  if spec:
@@ -857,7 +817,7 @@ def _find_conda_dep_spec(
857
817
  return None
858
818
 
859
819
 
860
- def _find_pip_req_spec(pip_reqs: list[requirements.Requirement], pkg_name: str) -> Optional[requirements.Requirement]:
820
+ def _find_pip_req_spec(pip_reqs: list[requirements.Requirement], pkg_name: str) -> requirements.Requirement | None:
861
821
  spec = next(filter(lambda req: req.name == pkg_name, pip_reqs), None)
862
822
  return spec
863
823
 
@@ -866,9 +826,9 @@ def find_dep_spec(
866
826
  conda_chan_deps: DefaultDict[str, list[requirements.Requirement]],
867
827
  pip_reqs: list[requirements.Requirement],
868
828
  conda_pkg_name: str,
869
- pip_pkg_name: Optional[str] = None,
829
+ pip_pkg_name: str | None = None,
870
830
  remove_spec: bool = False,
871
- ) -> Optional[requirements.Requirement]:
831
+ ) -> requirements.Requirement | None:
872
832
  if pip_pkg_name is None:
873
833
  pip_pkg_name = conda_pkg_name
874
834
  spec_conda = _find_conda_dep_spec(conda_chan_deps, conda_pkg_name)
@@ -1,4 +1,4 @@
1
- from typing import Any, Optional
1
+ from typing import Any
2
2
 
3
3
  from snowflake.ml._internal import telemetry
4
4
  from snowflake.ml._internal.utils import query_result_checker, sql_identifier
@@ -6,7 +6,7 @@ from snowflake.ml.experiment._client import artifact
6
6
  from snowflake.ml.experiment._entities import run_metadata
7
7
  from snowflake.ml.model._client.sql import _base
8
8
  from snowflake.ml.utils import sql_client
9
- from snowflake.snowpark import dataframe, file_operation, row, session, types
9
+ from snowflake.snowpark import dataframe, file_operation, functions, row, session, types
10
10
 
11
11
  RUN_NAME_COL_NAME = "name"
12
12
  RUN_METADATA_COL_NAME = "metadata"
@@ -16,7 +16,7 @@ def pivot_run_attributes(
16
16
  sp_session: session.Session,
17
17
  rows: list[row.Row],
18
18
  run_names: list[str],
19
- cast_value: Optional[type] = None,
19
+ cast_value: type | None = None,
20
20
  ) -> dataframe.DataFrame:
21
21
  """Pivot SHOW RUN METRICS/PARAMETERS rows into one row per run.
22
22
 
@@ -123,7 +123,7 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
123
123
  *,
124
124
  experiment_name: sql_identifier.SqlIdentifier,
125
125
  run_name: sql_identifier.SqlIdentifier,
126
- source_info: Optional[str] = None,
126
+ source_info: str | None = None,
127
127
  ) -> None:
128
128
  experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
129
129
  query = f"ALTER EXPERIMENT {experiment_fqn} ADD RUN {run_name}"
@@ -139,7 +139,7 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
139
139
  *,
140
140
  experiment_name: sql_identifier.SqlIdentifier,
141
141
  run_name: sql_identifier.SqlIdentifier,
142
- status: Optional[run_metadata.RunStatus] = None,
142
+ status: run_metadata.RunStatus | None = None,
143
143
  ) -> None:
144
144
  experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
145
145
  query = f"ALTER EXPERIMENT {experiment_fqn} COMMIT RUN {run_name}"
@@ -255,7 +255,7 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
255
255
 
256
256
  @telemetry.send_api_usage_telemetry(project=telemetry.TelemetryProject.EXPERIMENT_TRACKING.value)
257
257
  def show_runs_in_experiment(
258
- self, *, experiment_name: sql_identifier.SqlIdentifier, like: Optional[str] = None
258
+ self, *, experiment_name: sql_identifier.SqlIdentifier, like: str | None = None
259
259
  ) -> list[row.Row]:
260
260
  experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
261
261
  like_clause = f"LIKE '{like}'" if like else ""
@@ -268,8 +268,8 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
268
268
  self,
269
269
  *,
270
270
  experiment_name: sql_identifier.SqlIdentifier,
271
- run_name: Optional[sql_identifier.SqlIdentifier] = None,
272
- like: Optional[str] = None,
271
+ run_name: sql_identifier.SqlIdentifier | None = None,
272
+ like: str | None = None,
273
273
  ) -> list[row.Row]:
274
274
  experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
275
275
  run_name_clause = f"RUN {run_name}" if run_name else ""
@@ -278,13 +278,46 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
278
278
  self._session, f"SHOW RUN METRICS {like_clause} IN EXPERIMENT {experiment_fqn} {run_name_clause}"
279
279
  ).validate()
280
280
 
281
+ @telemetry.send_api_usage_telemetry(project=telemetry.TelemetryProject.EXPERIMENT_TRACKING.value)
282
+ def get_run_metrics_history(
283
+ self,
284
+ *,
285
+ experiment_name: sql_identifier.SqlIdentifier,
286
+ run_name: sql_identifier.SqlIdentifier,
287
+ ) -> dataframe.DataFrame:
288
+ """Return every logged metric point of a run, ordered by name then step.
289
+
290
+ Args:
291
+ experiment_name: Name of the experiment containing the run.
292
+ run_name: Name of the run to read metric history from.
293
+
294
+ Returns:
295
+ A Snowpark DataFrame with ``name``, ``step``, ``value``, and ``timestamp`` columns.
296
+ """
297
+ experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
298
+ history: dataframe.DataFrame = (
299
+ self._session.table_function(
300
+ "SYSTEM$GET_EXPERIMENT_RUN_METRICS",
301
+ functions.lit(experiment_fqn),
302
+ functions.lit(str(run_name)),
303
+ )
304
+ .select(
305
+ functions.col("METRIC_NAME").alias('"name"'),
306
+ functions.col("STEP").cast(types.IntegerType()).alias('"step"'),
307
+ functions.col("VALUE").cast(types.DoubleType()).alias('"value"'),
308
+ functions.col("TIMESTAMP").alias('"timestamp"'),
309
+ )
310
+ .sort(functions.col('"name"').asc(), functions.col('"step"').asc())
311
+ )
312
+ return history
313
+
281
314
  @telemetry.send_api_usage_telemetry(project=telemetry.TelemetryProject.EXPERIMENT_TRACKING.value)
282
315
  def show_run_parameters_in_experiment(
283
316
  self,
284
317
  *,
285
318
  experiment_name: sql_identifier.SqlIdentifier,
286
- run_name: Optional[sql_identifier.SqlIdentifier] = None,
287
- like: Optional[str] = None,
319
+ run_name: sql_identifier.SqlIdentifier | None = None,
320
+ like: str | None = None,
288
321
  ) -> list[row.Row]:
289
322
  experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
290
323
  run_name_clause = f"RUN {run_name}" if run_name else ""
@@ -6,7 +6,7 @@ import traceback
6
6
  import warnings
7
7
  from collections.abc import Callable
8
8
  from types import TracebackType
9
- from typing import Any, Optional, Union
9
+ from typing import Any, Optional
10
10
  from urllib.parse import quote
11
11
 
12
12
  from snowflake import snowpark
@@ -28,6 +28,7 @@ from snowflake.ml.experiment._entities import run_metadata
28
28
  from snowflake.ml.lineage import lineage_node
29
29
  from snowflake.ml.model import type_hints
30
30
  from snowflake.ml.utils import sql_client as sql_client_utils
31
+ from snowflake.snowpark import functions
31
32
 
32
33
  DEFAULT_EXPERIMENT_NAME = sql_identifier.SqlIdentifier("DEFAULT")
33
34
 
@@ -48,8 +49,8 @@ class ExperimentTracking:
48
49
  self,
49
50
  session: snowpark.Session,
50
51
  *,
51
- database_name: Optional[str] = None,
52
- schema_name: Optional[str] = None,
52
+ database_name: str | None = None,
53
+ schema_name: str | None = None,
53
54
  capture_source_info: bool = True,
54
55
  ) -> None:
55
56
  """
@@ -116,11 +117,11 @@ class ExperimentTracking:
116
117
  self._session = session
117
118
 
118
119
  # The experiment in context
119
- self._experiment: Optional[entities.Experiment] = None
120
+ self._experiment: entities.Experiment | None = None
120
121
  # The run in context
121
- self._run: Optional[entities.Run] = None
122
+ self._run: entities.Run | None = None
122
123
  # The logging context used for patching stdout and stderr.
123
- self._logging_context: Optional[experiment_logging.ExperimentLoggingContext] = None
124
+ self._logging_context: experiment_logging.ExperimentLoggingContext | None = None
124
125
  self._live_logging_enabled = False
125
126
 
126
127
  self._initialized = True
@@ -182,8 +183,8 @@ class ExperimentTracking:
182
183
  def set_experiment(
183
184
  self,
184
185
  experiment_name: str,
185
- database_name: Optional[str] = None,
186
- schema_name: Optional[str] = None,
186
+ database_name: str | None = None,
187
+ schema_name: str | None = None,
187
188
  ) -> entities.Experiment:
188
189
  """
189
190
  Set the experiment in context. Creates a new experiment if it doesn't exist.
@@ -228,8 +229,8 @@ class ExperimentTracking:
228
229
  def delete_experiment(
229
230
  self,
230
231
  experiment_name: str,
231
- database_name: Optional[str] = None,
232
- schema_name: Optional[str] = None,
232
+ database_name: str | None = None,
233
+ schema_name: str | None = None,
233
234
  ) -> None:
234
235
  """
235
236
  Delete an experiment.
@@ -270,7 +271,7 @@ class ExperimentTracking:
270
271
  @functools.wraps(registry.Registry.log_model)
271
272
  def log_model(
272
273
  self,
273
- model: Union[type_hints.SupportedModelType, ml_model.ModelVersion],
274
+ model: type_hints.SupportedModelType | ml_model.ModelVersion,
274
275
  *,
275
276
  model_name: str,
276
277
  **kwargs: Any,
@@ -279,7 +280,7 @@ class ExperimentTracking:
279
280
  with experiment_info.ExperimentInfoPatcher(experiment_info=run._get_experiment_info()):
280
281
  return self._registry.log_model(model, model_name=model_name, **kwargs)
281
282
 
282
- def list_model_versions(self, run_name: Optional[str] = None) -> list[ml_model.ModelVersion]:
283
+ def list_model_versions(self, run_name: str | None = None) -> list[ml_model.ModelVersion]:
283
284
  """
284
285
  List the model versions that were logged under a run.
285
286
 
@@ -319,7 +320,7 @@ class ExperimentTracking:
319
320
 
320
321
  def start_run(
321
322
  self,
322
- run_name: Optional[str] = None,
323
+ run_name: str | None = None,
323
324
  ) -> entities.Run:
324
325
  """
325
326
  Start a new run. If a run name of an existing run is provided, resumes the run if it is running.
@@ -354,7 +355,7 @@ class ExperimentTracking:
354
355
  return self._run
355
356
 
356
357
  run_name = sql_identifier.SqlIdentifier(run_name)
357
- source_info_json: Optional[str] = None
358
+ source_info_json: str | None = None
358
359
  if self._capture_source_info:
359
360
  captured = source_info.SourceInfo.collect()
360
361
  if not captured.is_empty():
@@ -368,7 +369,7 @@ class ExperimentTracking:
368
369
  assert self._run is not None # for mypy
369
370
  return self._run
370
371
 
371
- def end_run(self, run_name: Optional[str] = None, status: Optional[str] = None) -> None:
372
+ def end_run(self, run_name: str | None = None, status: str | None = None) -> None:
372
373
  """
373
374
  End the current run if no run name is provided. Otherwise, the specified run is ended.
374
375
 
@@ -526,7 +527,7 @@ class ExperimentTracking:
526
527
  def log_artifact(
527
528
  self,
528
529
  local_path: str,
529
- artifact_path: Optional[str] = None,
530
+ artifact_path: str | None = None,
530
531
  ) -> None:
531
532
  """
532
533
  Log an artifact or a directory of artifacts under the current run. If no run is active, this method will create
@@ -546,11 +547,12 @@ class ExperimentTracking:
546
547
  file_path=file_path,
547
548
  )
548
549
 
549
- def list_metrics(self, run_name: Optional[str] = None) -> snowpark.DataFrame:
550
+ def list_metrics(self, run_name: str | None = None) -> snowpark.DataFrame:
550
551
  """
551
552
  List metrics for runs within the current experiment.
552
553
 
553
554
  When a metric is logged at multiple steps, the returned value corresponds to the highest step.
555
+ Use ``get_metric_history`` to retrieve every logged step.
554
556
 
555
557
  The returned DataFrame has a ``run_name`` column (str) and one float column per distinct metric name.
556
558
  Runs that did not log a given metric have ``NULL`` for that column.
@@ -588,7 +590,52 @@ class ExperimentTracking:
588
590
 
589
591
  return sql_client.pivot_run_attributes(self._session, rows, run_names=run_names, cast_value=float)
590
592
 
591
- def list_params(self, run_name: Optional[str] = None) -> snowpark.DataFrame:
593
+ def get_metric_history(
594
+ self,
595
+ run_name: str | None = None,
596
+ metric_name: str | None = None,
597
+ ) -> snowpark.DataFrame:
598
+ """Return the full history of metrics logged under a run as a Snowpark DataFrame.
599
+
600
+ Unlike ``list_metrics``, which collapses each metric to its highest step, this returns every
601
+ recorded point. The result has columns ``name``, ``step``, ``value``, and ``timestamp``,
602
+ ordered by name then step.
603
+
604
+ Filtering and aggregation are pushed down to Snowflake::
605
+
606
+ history = experiment.get_metric_history(run_name="RUN_A", metric_name="accuracy")
607
+ best = history.agg(functions.max_(functions.col('"value"'))).collect()[0][0]
608
+
609
+ Args:
610
+ run_name: Run to query. If None, uses the currently active run.
611
+ metric_name: Metric to filter on. If None, returns all metrics of the run.
612
+
613
+ Returns:
614
+ A Snowpark DataFrame. Use ``.to_pandas()`` for a pandas DataFrame or ``.collect()``
615
+ for a list of Row objects.
616
+
617
+ Raises:
618
+ RuntimeError: If no experiment is set, or if no run is active and ``run_name`` is None.
619
+ """
620
+ if not self._experiment:
621
+ raise RuntimeError("No experiment set. Please set an experiment before getting metric history.")
622
+
623
+ if run_name:
624
+ resolved_run_name = sql_identifier.SqlIdentifier(run_name)
625
+ elif self._run:
626
+ resolved_run_name = self._run.name
627
+ else:
628
+ raise RuntimeError("No run is active. Please provide a run_name or start a run.")
629
+
630
+ history = self._sql_client.get_run_metrics_history(
631
+ experiment_name=self._experiment.name,
632
+ run_name=resolved_run_name,
633
+ )
634
+ if metric_name is not None:
635
+ history = history.filter(functions.col('"name"') == metric_name)
636
+ return history
637
+
638
+ def list_params(self, run_name: str | None = None) -> snowpark.DataFrame:
592
639
  """
593
640
  List parameters for runs within the current experiment.
594
641
 
@@ -632,7 +679,7 @@ class ExperimentTracking:
632
679
  def list_artifacts(
633
680
  self,
634
681
  run_name: str,
635
- artifact_path: Optional[str] = None,
682
+ artifact_path: str | None = None,
636
683
  ) -> list[artifact.ArtifactInfo]:
637
684
  """
638
685
  List artifacts for a given run within the current experiment.
@@ -660,8 +707,8 @@ class ExperimentTracking:
660
707
  def download_artifacts(
661
708
  self,
662
709
  run_name: str,
663
- artifact_path: Optional[str] = None,
664
- target_path: Optional[str] = None,
710
+ artifact_path: str | None = None,
711
+ target_path: str | None = None,
665
712
  ) -> None:
666
713
  """
667
714
  Download artifacts from a run to a local directory.
@@ -770,7 +817,7 @@ class ExperimentTracking:
770
817
 
771
818
  def _try_patch_ipython_showtraceback(
772
819
  self, stderr_logger: experiment_logging.ExperimentLogger
773
- ) -> tuple[Any, Optional[Callable[..., None]]]:
820
+ ) -> tuple[Any, Callable[..., None] | None]:
774
821
  try:
775
822
  from IPython import get_ipython
776
823
 
@@ -780,7 +827,7 @@ class ExperimentTracking:
780
827
 
781
828
  def _patched_showtraceback(
782
829
  etype: type[BaseException],
783
- evalue: Optional[BaseException],
830
+ evalue: BaseException | None,
784
831
  stb: list[str],
785
832
  ) -> None:
786
833
  try:
@@ -804,8 +851,8 @@ class ExperimentTracking:
804
851
  def _try_log_exception(
805
852
  self,
806
853
  exc_type: type[BaseException],
807
- exc_value: Optional[BaseException],
808
- exc_tb: Optional[TracebackType],
854
+ exc_value: BaseException | None,
855
+ exc_tb: TracebackType | None,
809
856
  ) -> None:
810
857
  """Append a traceback to the stderr logger before unpatching.
811
858
 
@@ -844,7 +891,7 @@ class ExperimentTracking:
844
891
  assert self._experiment is not None and self._run is not None # for mypy
845
892
  stdout_logger, stderr_logger, stdout_ctx, stderr_ctx = None, None, None, None # for exception handling
846
893
  ip: Any = None
847
- original_showtraceback: Optional[Callable[..., None]] = None
894
+ original_showtraceback: Callable[..., None] | None = None
848
895
  try:
849
896
  exp_id = self._sql_client.get_experiment_id(self._experiment.name)
850
897
  run_id = self._sql_client.get_run_id(