snowflake-ml-python 1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/CHANGELOG.md +109 -5
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/PKG-INFO +127 -14
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/README.md +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/pyproject.toml +8 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env_utils.py +13 -53
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +43 -10
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/experiment_tracking.py +73 -26
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_store.py +422 -241
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service.py +83 -35
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_registration.py +26 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/tile_sql_generator.py +29 -9
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/sfcfs.py +7 -8
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/constants.py +2 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +4 -8
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +12 -15
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/type_utils.py +22 -21
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/decorators.py +6 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job.py +60 -53
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/job_definition.py +42 -25
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/manager.py +46 -40
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/__init__.py +0 -19
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/model/batch_inference_task_v2.py → snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/batch_inference_task.py +9 -9
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model/inference_engine_utils.py +20 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_version_impl.py +154 -379
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +74 -0
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model_spec/model_extension_spec.py +171 -0
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +113 -0
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model_spec/model_spec.py +71 -0
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/model_spec/model_spec_parser.py +38 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/model_ops.py +186 -184
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/service_ops.py +95 -290
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +49 -183
- snowflake_ml_python-2.1.0/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +95 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model.py +63 -37
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/model_version.py +49 -10
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +10 -12
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +4 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +10 -10
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +19 -17
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +3 -3
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +4 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +47 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +29 -29
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +31 -7
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +14 -8
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +4 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +1 -5
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/numpy_handler.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/batch_inference/__init__.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface_pipeline.py +24 -31
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/openai_signatures.py +2 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/_internal/optional_dependency.py +133 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +3 -3
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/calibration/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +9 -10
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/cluster/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +6 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/birch.py +2 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +10 -10
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/k_means.py +5 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/optics.py +5 -6
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/compose/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/column_transformer.py +23 -15
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/covariance/__init__.py +16 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/decomposition/__init__.py +16 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/discriminant_analysis/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +6 -6
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/ensemble/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +5 -9
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +7 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +7 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +8 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +8 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +22 -13
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +25 -14
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +12 -12
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +7 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +7 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +5 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/feature_selection/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +9 -7
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/gaussian_process/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +4 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/impute/__init__.py +15 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/knn_imputer.py +3 -3
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_approximation/__init__.py +16 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/kernel_ridge/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/lightgbm/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/linear_model/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ard_regression.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +10 -9
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +10 -9
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/linear_regression.py +14 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +18 -22
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +23 -26
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +9 -8
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +9 -8
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/perceptron.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +7 -7
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +11 -13
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +13 -17
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +13 -4
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +9 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +3 -3
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/manifold/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/mds.py +10 -10
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/tsne.py +3 -9
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/__init__.py +8 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/mixture/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +10 -11
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +3 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/model_selection/__init__.py +15 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/multiclass/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/naive_bayes/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/neighbors/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +17 -5
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +2 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/neural_network/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +12 -2
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/pipeline/__init__.py +15 -0
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/preprocessing/__init__.py +15 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +2 -2
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/semi_supervised/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +2 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +1 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/svm/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svc.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/linear_svr.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svc.py +3 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/nu_svr.py +3 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svc.py +4 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/svm/svr.py +3 -1
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/tree/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +15 -13
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +8 -3
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +4 -2
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +4 -2
- snowflake_ml_python-2.1.0/snowflake/ml/modeling/xgboost/__init__.py +16 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +17 -6
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +17 -6
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +17 -6
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +17 -6
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_manager.py +214 -87
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +34 -29
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/PKG-INFO +127 -14
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/SOURCES.txt +6 -5
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/requires.txt +19 -5
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/model/batch_inference_serialization.py +0 -58
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -153
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/model/batch_inference_task.py +0 -233
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -56
- snowflake_ml_python-1.54.0/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -135
- snowflake_ml_python-1.54.0/snowflake/ml/model/batch/__init__.py +0 -23
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/calibration/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/cluster/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/compose/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/covariance/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/decomposition/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/ensemble/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/feature_selection/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/gaussian_process/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/impute/__init__.py +0 -9
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/lightgbm/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/linear_model/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/manifold/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/mixture/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/model_selection/__init__.py +0 -9
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/multiclass/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/naive_bayes/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/neighbors/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/neural_network/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/pipeline/__init__.py +0 -9
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/preprocessing/__init__.py +0 -9
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/semi_supervised/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/svm/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/tree/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/modeling/xgboost/__init__.py +0 -8
- snowflake_ml_python-1.54.0/snowflake/ml/utils/connection_params.py +0 -205
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/_source_info.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.54.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-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.54.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-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_config.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.54.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-1.54.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-1.54.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-1.54.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-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,111 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
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)
|
|
31
|
+
|
|
32
|
+
Release candidate for the `snowflake-ml-python` 2.0 major release. This is a breaking
|
|
33
|
+
release that removes deprecated APIs and slims down the default install footprint.
|
|
34
|
+
|
|
35
|
+
### New Features
|
|
36
|
+
|
|
37
|
+
* Feature Store: added `alter_online_service(size=...)`, which changes the size of an existing Online Service. The
|
|
38
|
+
call returns as soon as the request is recorded; the change runs in the background and can take hours on a large
|
|
39
|
+
Online Service, which keeps serving online reads and stream ingestion throughout. Poll
|
|
40
|
+
`get_online_service_status()` until `status` is `RUNNING` at the requested size.
|
|
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
|
+
|
|
46
|
+
### Bug Fixes
|
|
47
|
+
|
|
48
|
+
* Feature Store: `delete_feature_view` now drops the online feature table before the
|
|
49
|
+
offline dynamic table or view, so a dependent FeatureGroup (error 099940) does not
|
|
50
|
+
leave an orphaned offline object.
|
|
51
|
+
|
|
52
|
+
### Behavior Changes
|
|
53
|
+
|
|
54
|
+
* Registry: Models logged from a Snowflake Container Runtime notebook without an explicit
|
|
55
|
+
`target_platforms` now default to both Warehouse and Snowpark Container Services instead of
|
|
56
|
+
Snowpark Container Services only. Warehouse is no longer dropped from the default target
|
|
57
|
+
platforms.
|
|
58
|
+
* Dependencies: `scikit-learn`, `xgboost`, and `shap` are no longer required dependencies of
|
|
59
|
+
`snowflake-ml-python`. They are now optional extras. Install them with
|
|
60
|
+
`pip install snowflake-ml-python[scikit-learn]`, `[xgboost]`, `[shap]`, or `[all]` when using
|
|
61
|
+
the corresponding functionality. Extras are independent: `[xgboost]` and `[lightgbm]` install
|
|
62
|
+
only those libraries, not `scikit-learn`. Native XGBoost or LightGBM models (for example
|
|
63
|
+
logging to the Model Registry) only need `[xgboost]` or `[lightgbm]`.
|
|
64
|
+
`snowflake.ml.modeling` estimators always require `scikit-learn`, so the XGBoost and LightGBM
|
|
65
|
+
wrappers need `pip install "snowflake-ml-python[xgboost,scikit-learn]"` or
|
|
66
|
+
`"snowflake-ml-python[lightgbm,scikit-learn]"`.
|
|
67
|
+
* Feature Store: Added an optional `feature_store` extra. Install `snowflake-ml-python[feature_store]`
|
|
68
|
+
to pull in `httpx`, which is required for online feature serving reads. `httpx` is not installed by
|
|
69
|
+
the default `snowflake-ml-python` install. Conda users still need to install `httpx` separately
|
|
70
|
+
(for example `conda install httpx`) to use the online Feature Store.
|
|
71
|
+
* Modeling: Importing a `snowflake.ml.modeling` subpackage (for example
|
|
72
|
+
`snowflake.ml.modeling.linear_model`, `snowflake.ml.modeling.xgboost`,
|
|
73
|
+
`snowflake.ml.modeling.lightgbm`, or `snowflake.ml.modeling.preprocessing`) without the optional
|
|
74
|
+
dependencies it needs now raises an actionable `ImportError` that names only the missing
|
|
75
|
+
package(s), instead of a confusing missing-attribute error.
|
|
76
|
+
`scikit-learn` and `xgboost` are attributed to the 2.0 dependency change; `lightgbm` was
|
|
77
|
+
already an optional extra before 2.0.
|
|
78
|
+
|
|
79
|
+
### Deprecations
|
|
80
|
+
|
|
81
|
+
* Modeling: The `snowflake.ml.modeling` estimators and preprocessing transformers are deprecated and
|
|
82
|
+
will be removed in a future release. Importing a `snowflake.ml.modeling` subpackage now emits a
|
|
83
|
+
`DeprecationWarning`. Train models with the native scikit-learn, XGBoost, or LightGBM estimators
|
|
84
|
+
and log them to the Snowflake Model Registry (`snowflake.ml.registry`) instead.
|
|
85
|
+
|
|
86
|
+
### Breaking Changes
|
|
87
|
+
|
|
88
|
+
* Generic: Require python >= 3.10. Python 3.9 is no longer supported.
|
|
89
|
+
* Removed the deprecated `snowflake.ml.utils.connection_params.SnowflakeLoginOptions` public API
|
|
90
|
+
(deprecated since 1.8.5).
|
|
91
|
+
* Registry: `ModelVersion.run_batch` now runs on `EXECUTE INFERENCE JOB SERVICE`. The single
|
|
92
|
+
`job_spec` argument is replaced by the `resources_spec`, `inference_spec`, and `image_build_spec`
|
|
93
|
+
blocks, and input may be supplied as either a DataFrame (`X`) or an existing stage path
|
|
94
|
+
(`input_stage_location`). `output_spec.stage_location` is treated as a base: results are written
|
|
95
|
+
under a per-job subdirectory, `<stage_location>/<job_name>/`. `output_spec.base_stage_location`,
|
|
96
|
+
`job_spec.job_name_prefix`, and `job_spec.block` no longer exist.
|
|
97
|
+
* Registry: Removed the `snowflake.ml.model.batch` module. Use `snowflake.ml.model.batch_inference`,
|
|
98
|
+
which exports `BatchInferenceTask` alongside the input, output, resources, inference, and image
|
|
99
|
+
build spec classes.
|
|
100
|
+
* Feature Store: Feature views created before 1.42.0 that use the `last_distinct_n` or
|
|
101
|
+
`first_distinct_n` aggregation function can no longer be read offline. `generate_dataset`,
|
|
102
|
+
`generate_training_set`, `retrieve_feature_values`, and `read_feature_view` now raise a
|
|
103
|
+
`ValueError` for such feature views. Re-create the feature view to restore offline reads.
|
|
104
|
+
* Dependencies: `snowflake-snowpark-python` must now be `>=1.37.0`. Earlier releases import
|
|
105
|
+
`pkg_resources`, which `setuptools` removed in 82.0.0, so they fail to import in environments
|
|
106
|
+
with a current `setuptools`.
|
|
107
|
+
|
|
108
|
+
## 1.54.0 (2026-08-31)
|
|
4
109
|
|
|
5
110
|
### New Features
|
|
6
111
|
|
|
@@ -27,6 +132,9 @@
|
|
|
27
132
|
* Feature Store: Fixed FeatureStore.update_feature_view() failing with `SQL compilation error:
|
|
28
133
|
invalid value 'ADAPTIVE' for property 'REFRESH_MODE'` when enabling online storage for an existing
|
|
29
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.
|
|
30
138
|
|
|
31
139
|
### Behavior Changes
|
|
32
140
|
|
|
@@ -61,10 +169,6 @@
|
|
|
61
169
|
|
|
62
170
|
### Bug Fixes
|
|
63
171
|
|
|
64
|
-
* Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
|
|
65
|
-
changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
|
|
66
|
-
change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
|
|
67
|
-
|
|
68
172
|
### Behavior Changes
|
|
69
173
|
|
|
70
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: 1.
|
|
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:
|
|
@@ -220,7 +220,6 @@ Classifier: Intended Audience :: Information Technology
|
|
|
220
220
|
Classifier: Intended Audience :: System Administrators
|
|
221
221
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
222
222
|
Classifier: Operating System :: OS Independent
|
|
223
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
224
223
|
Classifier: Programming Language :: Python :: 3.10
|
|
225
224
|
Classifier: Programming Language :: Python :: 3.11
|
|
226
225
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -230,14 +229,13 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
230
229
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
231
230
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
232
231
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
233
|
-
Requires-Python: <3.14,>=3.
|
|
232
|
+
Requires-Python: <3.14,>=3.10
|
|
234
233
|
Description-Content-Type: text/markdown
|
|
235
234
|
License-File: LICENSE.txt
|
|
236
235
|
Requires-Dist: anyio<5,>=3.5.0
|
|
237
236
|
Requires-Dist: cachetools>=3.1.1
|
|
238
237
|
Requires-Dist: cloudpickle>=2.0.0
|
|
239
238
|
Requires-Dist: fsspec[http]<2026,>=2024.6.1
|
|
240
|
-
Requires-Dist: h2<5,>=4.3.0
|
|
241
239
|
Requires-Dist: importlib_resources<7,>=6.1.1
|
|
242
240
|
Requires-Dist: jinja2<4,>=3.1.0
|
|
243
241
|
Requires-Dist: numpy<3,>=1.23
|
|
@@ -250,34 +248,39 @@ Requires-Dist: pyjwt<3,>=2.0.0
|
|
|
250
248
|
Requires-Dist: pytimeparse<2,>=1.1.8
|
|
251
249
|
Requires-Dist: pyyaml<7,>=6.0
|
|
252
250
|
Requires-Dist: retrying<2,>=1.3.3
|
|
253
|
-
Requires-Dist: scikit-learn<1.9
|
|
254
251
|
Requires-Dist: scipy<2,>=1.9
|
|
255
|
-
Requires-Dist: shap<1,>=0.46.0
|
|
256
252
|
Requires-Dist: snowflake-connector-python[pandas]<5,>=3.17.3
|
|
257
|
-
Requires-Dist: snowflake-snowpark-python
|
|
253
|
+
Requires-Dist: snowflake-snowpark-python<2,>=1.37.0
|
|
258
254
|
Requires-Dist: sqlparse<1,>=0.4
|
|
259
255
|
Requires-Dist: tqdm<5
|
|
260
256
|
Requires-Dist: typing-extensions<5,>=4.1.0
|
|
261
|
-
Requires-Dist: xgboost<4
|
|
262
257
|
Provides-Extra: all
|
|
263
258
|
Requires-Dist: altair<7,>=5; extra == "all"
|
|
264
259
|
Requires-Dist: catboost<2,>=1.2.0; extra == "all"
|
|
260
|
+
Requires-Dist: h2<5,>=4.3.0; extra == "all"
|
|
261
|
+
Requires-Dist: httpx<1,>=0.28.1; extra == "all"
|
|
265
262
|
Requires-Dist: keras<4,>=2.0.0; extra == "all"
|
|
266
263
|
Requires-Dist: lightgbm<5,>=4.1.0; extra == "all"
|
|
267
264
|
Requires-Dist: mlflow<4,>=2.16.0; extra == "all"
|
|
268
265
|
Requires-Dist: prophet<2,>=1.1.0; extra == "all"
|
|
266
|
+
Requires-Dist: scikit-learn<1.9; extra == "all"
|
|
269
267
|
Requires-Dist: sentence-transformers<6,>=2.7.0; extra == "all"
|
|
270
268
|
Requires-Dist: sentencepiece<0.3,>=0.1.95; extra == "all"
|
|
269
|
+
Requires-Dist: shap<1,>=0.46.0; extra == "all"
|
|
271
270
|
Requires-Dist: streamlit<2,>=1.30.0; extra == "all"
|
|
272
271
|
Requires-Dist: tensorflow<3,>=2.17.0; extra == "all"
|
|
273
272
|
Requires-Dist: tokenizers<1,>=0.15.1; extra == "all"
|
|
274
273
|
Requires-Dist: torch<3,>=2.0.1; extra == "all"
|
|
275
274
|
Requires-Dist: torchdata<1,>=0.4; extra == "all"
|
|
276
275
|
Requires-Dist: transformers!=4.51.3,<6,>=4.39.3; extra == "all"
|
|
276
|
+
Requires-Dist: xgboost<4; extra == "all"
|
|
277
277
|
Provides-Extra: altair
|
|
278
278
|
Requires-Dist: altair<7,>=5; extra == "altair"
|
|
279
279
|
Provides-Extra: catboost
|
|
280
280
|
Requires-Dist: catboost<2,>=1.2.0; extra == "catboost"
|
|
281
|
+
Provides-Extra: feature-store
|
|
282
|
+
Requires-Dist: h2<5,>=4.3.0; extra == "feature-store"
|
|
283
|
+
Requires-Dist: httpx<1,>=0.28.1; extra == "feature-store"
|
|
281
284
|
Provides-Extra: keras
|
|
282
285
|
Requires-Dist: keras<4,>=2.0.0; extra == "keras"
|
|
283
286
|
Requires-Dist: tensorflow<3,>=2.17.0; extra == "keras"
|
|
@@ -296,6 +299,10 @@ Provides-Extra: mlflow
|
|
|
296
299
|
Requires-Dist: mlflow<4,>=2.16.0; extra == "mlflow"
|
|
297
300
|
Provides-Extra: prophet
|
|
298
301
|
Requires-Dist: prophet<2,>=1.1.0; extra == "prophet"
|
|
302
|
+
Provides-Extra: scikit-learn
|
|
303
|
+
Requires-Dist: scikit-learn<1.9; extra == "scikit-learn"
|
|
304
|
+
Provides-Extra: shap
|
|
305
|
+
Requires-Dist: shap<1,>=0.46.0; extra == "shap"
|
|
299
306
|
Provides-Extra: streamlit
|
|
300
307
|
Requires-Dist: streamlit<2,>=1.30.0; extra == "streamlit"
|
|
301
308
|
Provides-Extra: tensorflow
|
|
@@ -309,6 +316,8 @@ Requires-Dist: sentencepiece<0.3,>=0.1.95; extra == "transformers"
|
|
|
309
316
|
Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
|
|
310
317
|
Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
|
|
311
318
|
Requires-Dist: transformers!=4.51.3,<6,>=4.39.3; extra == "transformers"
|
|
319
|
+
Provides-Extra: xgboost
|
|
320
|
+
Requires-Dist: xgboost<4; extra == "xgboost"
|
|
312
321
|
Dynamic: license-file
|
|
313
322
|
|
|
314
323
|
# Snowflake ML Python
|
|
@@ -370,7 +379,7 @@ In Snowflake Warehouse notebook environments, snowflake-ml-python can be install
|
|
|
370
379
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
|
371
380
|
in the Snowflake documentation.
|
|
372
381
|
|
|
373
|
-
Python versions 3.
|
|
382
|
+
Python versions 3.10 to 3.13 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
|
374
383
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
|
375
384
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
|
376
385
|
|
|
@@ -416,7 +425,112 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
416
425
|
|
|
417
426
|
# Release History
|
|
418
427
|
|
|
419
|
-
## 1.
|
|
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)
|
|
456
|
+
|
|
457
|
+
Release candidate for the `snowflake-ml-python` 2.0 major release. This is a breaking
|
|
458
|
+
release that removes deprecated APIs and slims down the default install footprint.
|
|
459
|
+
|
|
460
|
+
### New Features
|
|
461
|
+
|
|
462
|
+
* Feature Store: added `alter_online_service(size=...)`, which changes the size of an existing Online Service. The
|
|
463
|
+
call returns as soon as the request is recorded; the change runs in the background and can take hours on a large
|
|
464
|
+
Online Service, which keeps serving online reads and stream ingestion throughout. Poll
|
|
465
|
+
`get_online_service_status()` until `status` is `RUNNING` at the requested size.
|
|
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
|
+
|
|
471
|
+
### Bug Fixes
|
|
472
|
+
|
|
473
|
+
* Feature Store: `delete_feature_view` now drops the online feature table before the
|
|
474
|
+
offline dynamic table or view, so a dependent FeatureGroup (error 099940) does not
|
|
475
|
+
leave an orphaned offline object.
|
|
476
|
+
|
|
477
|
+
### Behavior Changes
|
|
478
|
+
|
|
479
|
+
* Registry: Models logged from a Snowflake Container Runtime notebook without an explicit
|
|
480
|
+
`target_platforms` now default to both Warehouse and Snowpark Container Services instead of
|
|
481
|
+
Snowpark Container Services only. Warehouse is no longer dropped from the default target
|
|
482
|
+
platforms.
|
|
483
|
+
* Dependencies: `scikit-learn`, `xgboost`, and `shap` are no longer required dependencies of
|
|
484
|
+
`snowflake-ml-python`. They are now optional extras. Install them with
|
|
485
|
+
`pip install snowflake-ml-python[scikit-learn]`, `[xgboost]`, `[shap]`, or `[all]` when using
|
|
486
|
+
the corresponding functionality. Extras are independent: `[xgboost]` and `[lightgbm]` install
|
|
487
|
+
only those libraries, not `scikit-learn`. Native XGBoost or LightGBM models (for example
|
|
488
|
+
logging to the Model Registry) only need `[xgboost]` or `[lightgbm]`.
|
|
489
|
+
`snowflake.ml.modeling` estimators always require `scikit-learn`, so the XGBoost and LightGBM
|
|
490
|
+
wrappers need `pip install "snowflake-ml-python[xgboost,scikit-learn]"` or
|
|
491
|
+
`"snowflake-ml-python[lightgbm,scikit-learn]"`.
|
|
492
|
+
* Feature Store: Added an optional `feature_store` extra. Install `snowflake-ml-python[feature_store]`
|
|
493
|
+
to pull in `httpx`, which is required for online feature serving reads. `httpx` is not installed by
|
|
494
|
+
the default `snowflake-ml-python` install. Conda users still need to install `httpx` separately
|
|
495
|
+
(for example `conda install httpx`) to use the online Feature Store.
|
|
496
|
+
* Modeling: Importing a `snowflake.ml.modeling` subpackage (for example
|
|
497
|
+
`snowflake.ml.modeling.linear_model`, `snowflake.ml.modeling.xgboost`,
|
|
498
|
+
`snowflake.ml.modeling.lightgbm`, or `snowflake.ml.modeling.preprocessing`) without the optional
|
|
499
|
+
dependencies it needs now raises an actionable `ImportError` that names only the missing
|
|
500
|
+
package(s), instead of a confusing missing-attribute error.
|
|
501
|
+
`scikit-learn` and `xgboost` are attributed to the 2.0 dependency change; `lightgbm` was
|
|
502
|
+
already an optional extra before 2.0.
|
|
503
|
+
|
|
504
|
+
### Deprecations
|
|
505
|
+
|
|
506
|
+
* Modeling: The `snowflake.ml.modeling` estimators and preprocessing transformers are deprecated and
|
|
507
|
+
will be removed in a future release. Importing a `snowflake.ml.modeling` subpackage now emits a
|
|
508
|
+
`DeprecationWarning`. Train models with the native scikit-learn, XGBoost, or LightGBM estimators
|
|
509
|
+
and log them to the Snowflake Model Registry (`snowflake.ml.registry`) instead.
|
|
510
|
+
|
|
511
|
+
### Breaking Changes
|
|
512
|
+
|
|
513
|
+
* Generic: Require python >= 3.10. Python 3.9 is no longer supported.
|
|
514
|
+
* Removed the deprecated `snowflake.ml.utils.connection_params.SnowflakeLoginOptions` public API
|
|
515
|
+
(deprecated since 1.8.5).
|
|
516
|
+
* Registry: `ModelVersion.run_batch` now runs on `EXECUTE INFERENCE JOB SERVICE`. The single
|
|
517
|
+
`job_spec` argument is replaced by the `resources_spec`, `inference_spec`, and `image_build_spec`
|
|
518
|
+
blocks, and input may be supplied as either a DataFrame (`X`) or an existing stage path
|
|
519
|
+
(`input_stage_location`). `output_spec.stage_location` is treated as a base: results are written
|
|
520
|
+
under a per-job subdirectory, `<stage_location>/<job_name>/`. `output_spec.base_stage_location`,
|
|
521
|
+
`job_spec.job_name_prefix`, and `job_spec.block` no longer exist.
|
|
522
|
+
* Registry: Removed the `snowflake.ml.model.batch` module. Use `snowflake.ml.model.batch_inference`,
|
|
523
|
+
which exports `BatchInferenceTask` alongside the input, output, resources, inference, and image
|
|
524
|
+
build spec classes.
|
|
525
|
+
* Feature Store: Feature views created before 1.42.0 that use the `last_distinct_n` or
|
|
526
|
+
`first_distinct_n` aggregation function can no longer be read offline. `generate_dataset`,
|
|
527
|
+
`generate_training_set`, `retrieve_feature_values`, and `read_feature_view` now raise a
|
|
528
|
+
`ValueError` for such feature views. Re-create the feature view to restore offline reads.
|
|
529
|
+
* Dependencies: `snowflake-snowpark-python` must now be `>=1.37.0`. Earlier releases import
|
|
530
|
+
`pkg_resources`, which `setuptools` removed in 82.0.0, so they fail to import in environments
|
|
531
|
+
with a current `setuptools`.
|
|
532
|
+
|
|
533
|
+
## 1.54.0 (2026-08-31)
|
|
420
534
|
|
|
421
535
|
### New Features
|
|
422
536
|
|
|
@@ -443,6 +557,9 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
443
557
|
* Feature Store: Fixed FeatureStore.update_feature_view() failing with `SQL compilation error:
|
|
444
558
|
invalid value 'ADAPTIVE' for property 'REFRESH_MODE'` when enabling online storage for an existing
|
|
445
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.
|
|
446
563
|
|
|
447
564
|
### Behavior Changes
|
|
448
565
|
|
|
@@ -477,10 +594,6 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
477
594
|
|
|
478
595
|
### Bug Fixes
|
|
479
596
|
|
|
480
|
-
* Feature Store: online feature reads and stream ingestion no longer fail while the Online Service is
|
|
481
|
-
changing size (status `UPDATING_SIZE`). The service serves reads and writes throughout a size
|
|
482
|
-
change, which can take hours, so it is now treated as serviceable like `UPDATING` already was.
|
|
483
|
-
|
|
484
597
|
### Behavior Changes
|
|
485
598
|
|
|
486
599
|
* Feature Store: `register_feature_view` now records `FV_SOURCE_REFS` metadata for managed batch
|
|
@@ -57,7 +57,7 @@ In Snowflake Warehouse notebook environments, snowflake-ml-python can be install
|
|
|
57
57
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
|
58
58
|
in the Snowflake documentation.
|
|
59
59
|
|
|
60
|
-
Python versions 3.
|
|
60
|
+
Python versions 3.10 to 3.13 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
|
61
61
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
|
62
62
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
|
63
63
|
|
|
@@ -5,10 +5,10 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "snowflake-ml-python"
|
|
7
7
|
description = "The machine learning client library that is used for interacting with Snowflake to build machine learning solutions."
|
|
8
|
-
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.
|
|
9
|
-
requires-python = ">=3.
|
|
8
|
+
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
|
|
9
|
+
requires-python = ">=3.10, <3.14"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
|
-
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<2026", "
|
|
11
|
+
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "jinja2>=3.1.0,<4", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.17.3,<5", "snowflake-snowpark-python>=1.37.0,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5",]
|
|
12
12
|
[[project.authors]]
|
|
13
13
|
name = "Snowflake, Inc"
|
|
14
14
|
email = "support@snowflake.com"
|
|
@@ -24,18 +24,22 @@ Issues = "https://github.com/snowflakedb/snowflake-ml-python/issues"
|
|
|
24
24
|
Changelog = "https://github.com/snowflakedb/snowflake-ml-python/blob/master/CHANGELOG.md"
|
|
25
25
|
|
|
26
26
|
[project.optional-dependencies]
|
|
27
|
-
all = [ "altair>=5,<7", "catboost>=1.2.0, <2", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <4", "prophet>=1.1.0, <2", "sentence-transformers>=2.7.0,<6", "sentencepiece>=0.1.95,<0.3", "streamlit>=1.30.0,<2", "tensorflow>=2.17.0,<3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,!=4.51.3,<6",]
|
|
27
|
+
all = [ "altair>=5,<7", "catboost>=1.2.0, <2", "h2>=4.3.0,<5", "httpx>=0.28.1,<1", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <4", "prophet>=1.1.0, <2", "scikit-learn<1.9", "sentence-transformers>=2.7.0,<6", "sentencepiece>=0.1.95,<0.3", "shap>=0.46.0,<1", "streamlit>=1.30.0,<2", "tensorflow>=2.17.0,<3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,!=4.51.3,<6", "xgboost<4",]
|
|
28
28
|
altair = [ "altair>=5,<7",]
|
|
29
29
|
catboost = [ "catboost>=1.2.0, <2",]
|
|
30
|
+
feature_store = [ "h2>=4.3.0,<5", "httpx>=0.28.1,<1",]
|
|
30
31
|
keras = [ "keras>=2.0.0,<4", "tensorflow>=2.17.0,<3", "torch>=2.0.1,<3",]
|
|
31
32
|
lightgbm = [ "lightgbm>=4.1.0, <5",]
|
|
32
33
|
llm = [ "mlflow>=2.16.0, <4", "sentence-transformers>=2.7.0,<6", "sentencepiece>=0.1.95,<0.3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,!=4.51.3,<6",]
|
|
33
34
|
mlflow = [ "mlflow>=2.16.0, <4",]
|
|
34
35
|
prophet = [ "prophet>=1.1.0, <2",]
|
|
36
|
+
scikit-learn = [ "scikit-learn<1.9",]
|
|
37
|
+
shap = [ "shap>=0.46.0,<1",]
|
|
35
38
|
streamlit = [ "streamlit>=1.30.0,<2",]
|
|
36
39
|
tensorflow = [ "tensorflow>=2.17.0,<3",]
|
|
37
40
|
torch = [ "torch>=2.0.1,<3", "torchdata>=0.4,<1",]
|
|
38
41
|
transformers = [ "sentence-transformers>=2.7.0,<6", "sentencepiece>=0.1.95,<0.3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "transformers>=4.39.3,!=4.51.3,<6",]
|
|
42
|
+
xgboost = [ "xgboost<4",]
|
|
39
43
|
|
|
40
44
|
[tool.setuptools.package-data]
|
|
41
45
|
"*" = [ "*",]
|
{snowflake_ml_python-1.54.0 → snowflake_ml_python-2.1.0}/snowflake/ml/_internal/env_utils.py
RENAMED
|
@@ -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)
|