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.
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/CHANGELOG.md +35 -8
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/PKG-INFO +36 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env_utils.py +13 -53
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +43 -10
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/experiment_tracking.py +73 -26
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_store.py +123 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_registration.py +26 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/constants.py +2 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job.py +60 -53
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job_definition.py +2 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +10 -12
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +4 -4
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +10 -10
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +3 -3
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +4 -4
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +47 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +29 -29
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +31 -7
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +4 -4
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/numpy_handler.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +3 -3
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +9 -10
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +6 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/birch.py +2 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +10 -10
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/k_means.py +5 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/optics.py +5 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/column_transformer.py +23 -15
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +6 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +5 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +7 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +7 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +8 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +8 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +22 -13
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +25 -14
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +12 -12
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +7 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +7 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +5 -4
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +9 -7
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +4 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/knn_imputer.py +3 -3
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ard_regression.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +10 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +10 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/linear_regression.py +14 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +18 -22
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +23 -26
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1 -1
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +9 -8
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/perceptron.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +7 -7
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +11 -13
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +13 -17
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +13 -4
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +9 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +3 -3
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/mds.py +10 -10
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/tsne.py +3 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +10 -11
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +3 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +17 -5
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +2 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +12 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +2 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +2 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svc.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svr.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svc.py +3 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svr.py +3 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svc.py +4 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svr.py +3 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +15 -13
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +8 -3
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +4 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +4 -2
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +17 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +17 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +17 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +17 -6
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/PKG-INFO +36 -9
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/README.md +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/pyproject.toml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/setup.cfg +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_source_info.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {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
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_config.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_version_impl.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/service_ops.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {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
- {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
- {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
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/optional_dependency.py +0 -0
- {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
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-2.0.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
731
|
-
|
|
732
|
-
|
|
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) ->
|
|
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
|
-
) ->
|
|
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) ->
|
|
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:
|
|
829
|
+
pip_pkg_name: str | None = None,
|
|
870
830
|
remove_spec: bool = False,
|
|
871
|
-
) ->
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
272
|
-
like:
|
|
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:
|
|
287
|
-
like:
|
|
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
|
|
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:
|
|
52
|
-
schema_name:
|
|
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:
|
|
120
|
+
self._experiment: entities.Experiment | None = None
|
|
120
121
|
# The run in context
|
|
121
|
-
self._run:
|
|
122
|
+
self._run: entities.Run | None = None
|
|
122
123
|
# The logging context used for patching stdout and stderr.
|
|
123
|
-
self._logging_context:
|
|
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:
|
|
186
|
-
schema_name:
|
|
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:
|
|
232
|
-
schema_name:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
664
|
-
target_path:
|
|
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,
|
|
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:
|
|
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:
|
|
808
|
-
exc_tb:
|
|
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:
|
|
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(
|