snowflake-ml-python 1.6.2__tar.gz → 1.6.4__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.6.2 → snowflake_ml_python-1.6.4}/CHANGELOG.md +26 -5
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/PKG-INFO +30 -9
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/pyproject.toml +3 -3
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/__init__.py +4 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_classify_text.py +2 -2
- snowflake_ml_python-1.6.4/snowflake/cortex/_embed_text_1024.py +37 -0
- snowflake_ml_python-1.6.4/snowflake/cortex/_embed_text_768.py +37 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_extract_answer.py +2 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_sentiment.py +2 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_summarize.py +2 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_translate.py +2 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_util.py +4 -4
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/env_utils.py +5 -5
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/error_codes.py +2 -0
- snowflake_ml_python-1.6.4/snowflake/ml/_internal/utils/db_utils.py +50 -0
- snowflake_ml_python-1.6.4/snowflake/ml/_internal/utils/service_logger.py +63 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/sql_identifier.py +25 -1
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/_internal/arrow_ingestor.py +1 -11
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/ingestor_utils.py +20 -10
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/access_manager.py +3 -3
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/feature_store.py +19 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/feature_view.py +82 -28
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/stage_fs.py +2 -1
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/lineage/lineage_node.py +7 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/__init__.py +1 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/model/model_version_impl.py +78 -9
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/ops/model_ops.py +89 -7
- snowflake_ml_python-1.6.4/snowflake/ml/model/_client/ops/service_ops.py +421 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/service/model_deployment_spec.py +4 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/_base.py +5 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/model.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/model_version.py +9 -5
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/service.py +35 -13
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_composer.py +11 -41
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +29 -4
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_env/model_env.py +4 -38
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/_utils.py +106 -32
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/catboost.py +26 -27
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +3 -3
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +21 -6
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/mlflow.py +3 -5
- snowflake_ml_python-1.6.4/snowflake/ml/model/_packager/model_handlers/model_objective_utils.py +169 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +15 -8
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/sklearn.py +50 -66
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +36 -17
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/xgboost.py +22 -7
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta/model_meta.py +16 -45
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +1 -6
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_packager.py +14 -10
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +11 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/snowpark_handler.py +3 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/type_hints.py +11 -152
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +17 -6
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -1
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/affinity_propagation.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/birch.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/bisecting_k_means.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/dbscan.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/feature_agglomeration.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/k_means.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/mean_shift.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/optics.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/spectral_biclustering.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/spectral_clustering.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/spectral_coclustering.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/compose/column_transformer.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/compose/transformed_target_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/elliptic_envelope.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/empirical_covariance.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/graphical_lasso.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/ledoit_wolf.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/min_cov_det.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/oas.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/shrunk_covariance.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/dictionary_learning.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/factor_analysis.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/fast_ica.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/incremental_pca.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/kernel_pca.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/pca.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/sparse_pca.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/truncated_svd.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/isolation_forest.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/stacking_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/voting_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/voting_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/select_fdr.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/select_fpr.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/select_fwe.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/select_k_best.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/select_percentile.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/variance_threshold.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/impute/iterative_imputer.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/impute/knn_imputer.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/impute/missing_indicator.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/nystroem.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ard_regression.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/elastic_net.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/gamma_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/huber_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lars.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lasso.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lasso_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lasso_lars.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/linear_regression.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/logistic_regression.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/perceptron.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/poisson_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ransac_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ridge.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ridge_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/ridge_cv.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/sgd_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/sgd_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/manifold/isomap.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/manifold/mds.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/manifold/spectral_embedding.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/manifold/tsne.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/metrics_utils.py +2 -2
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/ranking.py +0 -3
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/regression.py +0 -3
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/mixture/gaussian_mixture.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/multiclass/output_code_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/complement_nb.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/kernel_density.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/nearest_centroid.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neural_network/mlp_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neural_network/mlp_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/pipeline/pipeline.py +0 -1
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/polynomial_features.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/semi_supervised/label_propagation.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/semi_supervised/label_spreading.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/linear_svc.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/linear_svr.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/nu_svc.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/nu_svr.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/svc.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/svr.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/tree/decision_tree_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/tree/decision_tree_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/tree/extra_tree_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/tree/extra_tree_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/xgboost/xgb_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/xgboost/xgb_regressor.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +1 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/model_monitor.py +126 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/model_monitor_manager.py +361 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/model_monitor_version.py +1 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/monitor_sql_client.py +1335 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/queries/record_count.ssql +14 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client/queries/rmse.ssql +28 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/entities/model_monitor_config.py +28 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/entities/model_monitor_interval.py +46 -0
- snowflake_ml_python-1.6.4/snowflake/ml/monitoring/entities/output_score_type.py +90 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/registry/_manager/model_manager.py +4 -4
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/registry/registry.py +165 -6
- snowflake_ml_python-1.6.4/snowflake/ml/version.py +1 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake_ml_python.egg-info/PKG-INFO +30 -9
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake_ml_python.egg-info/SOURCES.txt +13 -37
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake_ml_python.egg-info/requires.txt +3 -3
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/container_services/image_registry/credential.py +0 -84
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/container_services/image_registry/http_client.py +0 -127
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/container_services/image_registry/imagelib.py +0 -400
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/container_services/image_registry/registry_client.py +0 -212
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/utils/log_stream_processor.py +0 -30
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/utils/session_token_manager.py +0 -46
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/utils/spcs_attribution_utils.py +0 -122
- snowflake_ml_python-1.6.2/snowflake/ml/_internal/utils/uri.py +0 -77
- snowflake_ml_python-1.6.2/snowflake/ml/model/_api.py +0 -568
- snowflake_ml_python-1.6.2/snowflake/ml/model/_client/ops/service_ops.py +0 -312
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/base_image_builder.py +0 -12
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/client_image_builder.py +0 -249
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/docker_context.py +0 -130
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/gunicorn_run.sh +0 -36
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/inference_server/main.py +0 -268
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/server_image_builder.py +0 -215
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/templates/dockerfile_template +0 -53
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/templates/image_build_job_spec_template +0 -38
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/image_builds/templates/kaniko_shell_script_template +0 -105
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/snowservice/deploy.py +0 -611
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/snowservice/deploy_options.py +0 -116
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/snowservice/instance_types.py +0 -10
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/snowservice/templates/service_spec_template +0 -28
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/snowservice/templates/service_spec_template_with_model +0 -21
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/utils/constants.py +0 -48
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/utils/snowservice_client.py +0 -280
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/warehouse/deploy.py +0 -202
- snowflake_ml_python-1.6.2/snowflake/ml/model/_deploy_client/warehouse/infer_template.py +0 -99
- snowflake_ml_python-1.6.2/snowflake/ml/model/_packager/model_handlers/llm.py +0 -269
- snowflake_ml_python-1.6.2/snowflake/ml/model/_packager/model_handlers/model_objective_utils.py +0 -116
- snowflake_ml_python-1.6.2/snowflake/ml/model/_packager/model_meta/_core_requirements.py +0 -11
- snowflake_ml_python-1.6.2/snowflake/ml/model/deploy_platforms.py +0 -6
- snowflake_ml_python-1.6.2/snowflake/ml/model/models/llm.py +0 -106
- snowflake_ml_python-1.6.2/snowflake/ml/monitoring/monitor.py +0 -203
- snowflake_ml_python-1.6.2/snowflake/ml/registry/_initial_schema.py +0 -142
- snowflake_ml_python-1.6.2/snowflake/ml/registry/_schema.py +0 -82
- snowflake_ml_python-1.6.2/snowflake/ml/registry/_schema_upgrade_plans.py +0 -116
- snowflake_ml_python-1.6.2/snowflake/ml/registry/_schema_version_manager.py +0 -163
- snowflake_ml_python-1.6.2/snowflake/ml/registry/model_registry.py +0 -2048
- snowflake_ml_python-1.6.2/snowflake/ml/version.py +0 -1
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/README.md +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/setup.cfg +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/retryable_http.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/parquet_parser.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/tf_dataset.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/fileset/torch_datapipe.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/constants.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_trainer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.6.2 → snowflake_ml_python-1.6.4}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,31 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
-
## 1.6.
|
3
|
+
## 1.6.4
|
4
|
+
|
5
|
+
### Bug Fixes
|
6
|
+
|
7
|
+
- Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
8
|
+
|
9
|
+
## 1.6.3 (2024-10-07)
|
10
|
+
|
11
|
+
- Model Registry (PrPr) has been removed.
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
- Registry: Fix a bug that when package whose name does not follow PEP-508 is provided when logging the model,
|
16
|
+
an unexpected normalization is happening.
|
17
|
+
- Registry: Fix `not a valid remote uri` error when logging mlflow models.
|
18
|
+
- Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
19
|
+
- Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
20
|
+
base version.
|
21
|
+
|
22
|
+
### New Features
|
23
|
+
|
24
|
+
- Data: Improve `DataConnector.to_pandas()` performance when loading from Snowpark DataFrames.
|
25
|
+
- Model Registry: Allow users to set a model task while using `log_model`.
|
26
|
+
- Feature Store: FeatureView supports ON_CREATE or ON_SCHEDULE initialize mode.
|
27
|
+
|
28
|
+
## 1.6.2 (2024-09-04)
|
4
29
|
|
5
30
|
### Bug Fixes
|
6
31
|
|
@@ -18,8 +43,6 @@
|
|
18
43
|
- Data: Add native batching support via `batch_size` and `drop_last_batch` arguments to `DataConnector.to_torch_dataset()`
|
19
44
|
- Feature Store: update_feature_view() supports taking feature view object as argument.
|
20
45
|
|
21
|
-
### Behavior Changes
|
22
|
-
|
23
46
|
## 1.6.1 (2024-08-12)
|
24
47
|
|
25
48
|
### Bug Fixes
|
@@ -42,8 +65,6 @@
|
|
42
65
|
- Registry: Option to `enable_explainability` set to True by default for XGBoost, LightGBM and CatBoost as PuPr feature.
|
43
66
|
- Registry: Option to `enable_explainability` when registering SHAP supported sklearn models.
|
44
67
|
|
45
|
-
### Behavior Changes
|
46
|
-
|
47
68
|
## 1.6.0 (2024-07-29)
|
48
69
|
|
49
70
|
### Bug Fixes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.6.
|
3
|
+
Version: 1.6.4
|
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:
|
@@ -247,7 +247,7 @@ Requires-Dist: pytimeparse<2,>=1.1.8
|
|
247
247
|
Requires-Dist: pyyaml<7,>=6.0
|
248
248
|
Requires-Dist: retrying<2,>=1.3.3
|
249
249
|
Requires-Dist: s3fs<2024,>=2022.11
|
250
|
-
Requires-Dist: scikit-learn<1.
|
250
|
+
Requires-Dist: scikit-learn<1.6,>=1.2.1
|
251
251
|
Requires-Dist: scipy<2,>=1.9
|
252
252
|
Requires-Dist: snowflake-connector-python[pandas]<4,>=3.5.0
|
253
253
|
Requires-Dist: snowflake-snowpark-python<2,>=1.17.0
|
@@ -261,7 +261,7 @@ Requires-Dist: mlflow<2.4,>=2.1.0; extra == "all"
|
|
261
261
|
Requires-Dist: peft<1,>=0.5.0; extra == "all"
|
262
262
|
Requires-Dist: sentence-transformers<3,>=2.2.2; extra == "all"
|
263
263
|
Requires-Dist: sentencepiece<1,>=0.1.95; extra == "all"
|
264
|
-
Requires-Dist: shap
|
264
|
+
Requires-Dist: shap<1,>=0.42.0; extra == "all"
|
265
265
|
Requires-Dist: tensorflow<3,>=2.10; extra == "all"
|
266
266
|
Requires-Dist: tokenizers<1,>=0.10; extra == "all"
|
267
267
|
Requires-Dist: torch<2.3.0,>=2.0.1; extra == "all"
|
@@ -276,7 +276,7 @@ Requires-Dist: peft<1,>=0.5.0; extra == "llm"
|
|
276
276
|
Provides-Extra: mlflow
|
277
277
|
Requires-Dist: mlflow<2.4,>=2.1.0; extra == "mlflow"
|
278
278
|
Provides-Extra: shap
|
279
|
-
Requires-Dist: shap
|
279
|
+
Requires-Dist: shap<1,>=0.42.0; extra == "shap"
|
280
280
|
Provides-Extra: tensorflow
|
281
281
|
Requires-Dist: tensorflow<3,>=2.10; extra == "tensorflow"
|
282
282
|
Provides-Extra: torch
|
@@ -373,7 +373,32 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
373
373
|
|
374
374
|
# Release History
|
375
375
|
|
376
|
-
## 1.6.
|
376
|
+
## 1.6.4
|
377
|
+
|
378
|
+
### Bug Fixes
|
379
|
+
|
380
|
+
- Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
381
|
+
|
382
|
+
## 1.6.3 (2024-10-07)
|
383
|
+
|
384
|
+
- Model Registry (PrPr) has been removed.
|
385
|
+
|
386
|
+
### Bug Fixes
|
387
|
+
|
388
|
+
- Registry: Fix a bug that when package whose name does not follow PEP-508 is provided when logging the model,
|
389
|
+
an unexpected normalization is happening.
|
390
|
+
- Registry: Fix `not a valid remote uri` error when logging mlflow models.
|
391
|
+
- Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
392
|
+
- Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
393
|
+
base version.
|
394
|
+
|
395
|
+
### New Features
|
396
|
+
|
397
|
+
- Data: Improve `DataConnector.to_pandas()` performance when loading from Snowpark DataFrames.
|
398
|
+
- Model Registry: Allow users to set a model task while using `log_model`.
|
399
|
+
- Feature Store: FeatureView supports ON_CREATE or ON_SCHEDULE initialize mode.
|
400
|
+
|
401
|
+
## 1.6.2 (2024-09-04)
|
377
402
|
|
378
403
|
### Bug Fixes
|
379
404
|
|
@@ -391,8 +416,6 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
391
416
|
- Data: Add native batching support via `batch_size` and `drop_last_batch` arguments to `DataConnector.to_torch_dataset()`
|
392
417
|
- Feature Store: update_feature_view() supports taking feature view object as argument.
|
393
418
|
|
394
|
-
### Behavior Changes
|
395
|
-
|
396
419
|
## 1.6.1 (2024-08-12)
|
397
420
|
|
398
421
|
### Bug Fixes
|
@@ -415,8 +438,6 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
415
438
|
- Registry: Option to `enable_explainability` set to True by default for XGBoost, LightGBM and CatBoost as PuPr feature.
|
416
439
|
- Registry: Option to `enable_explainability` when registering SHAP supported sklearn models.
|
417
440
|
|
418
|
-
### Behavior Changes
|
419
|
-
|
420
441
|
## 1.6.0 (2024-07-29)
|
421
442
|
|
422
443
|
### Bug Fixes
|
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
|
|
8
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.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "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
9
|
requires-python = ">=3.8, <3.12"
|
10
10
|
dynamic = [ "version", "readme",]
|
11
|
-
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<24", "pandas>=1.0.0,<3", "pyarrow", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.2.1,<1.
|
11
|
+
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<24", "pandas>=1.0.0,<3", "pyarrow", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.2.1,<1.6", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.5.0,<4", "snowflake-snowpark-python>=1.17.0,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<2.1",]
|
12
12
|
[[project.authors]]
|
13
13
|
name = "Snowflake, Inc"
|
14
14
|
email = "support@snowflake.com"
|
@@ -24,12 +24,12 @@ 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 = [ "catboost>=1.2.0, <2", "lightgbm>=3.3.5,<5", "mlflow>=2.1.0,<2.4", "peft>=0.5.0,<1", "sentence-transformers>=2.2.2,<3", "sentencepiece>=0.1.95,<1", "shap
|
27
|
+
all = [ "catboost>=1.2.0, <2", "lightgbm>=3.3.5,<5", "mlflow>=2.1.0,<2.4", "peft>=0.5.0,<1", "sentence-transformers>=2.2.2,<3", "sentencepiece>=0.1.95,<1", "shap>=0.42.0,<1", "tensorflow>=2.10,<3", "tokenizers>=0.10,<1", "torch>=2.0.1,<2.3.0", "torchdata>=0.4,<1", "transformers>=4.32.1,<5",]
|
28
28
|
catboost = [ "catboost>=1.2.0, <2",]
|
29
29
|
lightgbm = [ "lightgbm>=3.3.5,<5",]
|
30
30
|
llm = [ "peft>=0.5.0,<1",]
|
31
31
|
mlflow = [ "mlflow>=2.1.0,<2.4",]
|
32
|
-
shap = [ "shap
|
32
|
+
shap = [ "shap>=0.42.0,<1",]
|
33
33
|
tensorflow = [ "tensorflow>=2.10,<3",]
|
34
34
|
torch = [ "torch>=2.0.1,<2.3.0", "torchdata>=0.4,<1",]
|
35
35
|
transformers = [ "sentence-transformers>=2.2.2,<3", "sentencepiece>=0.1.95,<1", "tokenizers>=0.10,<1", "transformers>=4.32.1,<5",]
|
@@ -1,5 +1,7 @@
|
|
1
1
|
from snowflake.cortex._classify_text import ClassifyText
|
2
2
|
from snowflake.cortex._complete import Complete, CompleteOptions
|
3
|
+
from snowflake.cortex._embed_text_768 import EmbedText768
|
4
|
+
from snowflake.cortex._embed_text_1024 import EmbedText1024
|
3
5
|
from snowflake.cortex._extract_answer import ExtractAnswer
|
4
6
|
from snowflake.cortex._sentiment import Sentiment
|
5
7
|
from snowflake.cortex._summarize import Summarize
|
@@ -9,6 +11,8 @@ __all__ = [
|
|
9
11
|
"ClassifyText",
|
10
12
|
"Complete",
|
11
13
|
"CompleteOptions",
|
14
|
+
"EmbedText768",
|
15
|
+
"EmbedText1024",
|
12
16
|
"ExtractAnswer",
|
13
17
|
"Sentiment",
|
14
18
|
"Summarize",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import List, Optional, Union
|
1
|
+
from typing import List, Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
@@ -33,4 +33,4 @@ def _classify_text_impl(
|
|
33
33
|
categories: Union[List[str], snowpark.Column],
|
34
34
|
session: Optional[snowpark.Session] = None,
|
35
35
|
) -> Union[str, snowpark.Column]:
|
36
|
-
return call_sql_function(function, session, str_input, categories)
|
36
|
+
return cast(Union[str, snowpark.Column], call_sql_function(function, session, str_input, categories))
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from typing import List, Optional, Union, cast
|
2
|
+
|
3
|
+
from snowflake import snowpark
|
4
|
+
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
5
|
+
from snowflake.ml._internal import telemetry
|
6
|
+
|
7
|
+
|
8
|
+
@telemetry.send_api_usage_telemetry(
|
9
|
+
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
10
|
+
)
|
11
|
+
def EmbedText1024(
|
12
|
+
model: Union[str, snowpark.Column],
|
13
|
+
text: Union[str, snowpark.Column],
|
14
|
+
session: Optional[snowpark.Session] = None,
|
15
|
+
) -> Union[List[float], snowpark.Column]:
|
16
|
+
"""TextEmbed calls into the LLM inference service to embed the text.
|
17
|
+
|
18
|
+
Args:
|
19
|
+
model: A Column of strings representing the model to use for embedding. The value
|
20
|
+
of the strings must be within the SUPPORTED_MODELS list.
|
21
|
+
text: A Column of strings representing input text.
|
22
|
+
session: The snowpark session to use. Will be inferred by context if not specified.
|
23
|
+
|
24
|
+
Returns:
|
25
|
+
A column of vectors containing embeddings.
|
26
|
+
"""
|
27
|
+
|
28
|
+
return _embed_text_1024_impl("snowflake.cortex.embed_text_1024", model, text, session=session)
|
29
|
+
|
30
|
+
|
31
|
+
def _embed_text_1024_impl(
|
32
|
+
function: str,
|
33
|
+
model: Union[str, snowpark.Column],
|
34
|
+
text: Union[str, snowpark.Column],
|
35
|
+
session: Optional[snowpark.Session] = None,
|
36
|
+
) -> Union[List[float], snowpark.Column]:
|
37
|
+
return cast(Union[List[float], snowpark.Column], call_sql_function(function, session, model, text))
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from typing import List, Optional, Union, cast
|
2
|
+
|
3
|
+
from snowflake import snowpark
|
4
|
+
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
5
|
+
from snowflake.ml._internal import telemetry
|
6
|
+
|
7
|
+
|
8
|
+
@telemetry.send_api_usage_telemetry(
|
9
|
+
project=CORTEX_FUNCTIONS_TELEMETRY_PROJECT,
|
10
|
+
)
|
11
|
+
def EmbedText768(
|
12
|
+
model: Union[str, snowpark.Column],
|
13
|
+
text: Union[str, snowpark.Column],
|
14
|
+
session: Optional[snowpark.Session] = None,
|
15
|
+
) -> Union[List[float], snowpark.Column]:
|
16
|
+
"""TextEmbed calls into the LLM inference service to embed the text.
|
17
|
+
|
18
|
+
Args:
|
19
|
+
model: A Column of strings representing the model to use for embedding. The value
|
20
|
+
of the strings must be within the SUPPORTED_MODELS list.
|
21
|
+
text: A Column of strings representing input text.
|
22
|
+
session: The snowpark session to use. Will be inferred by context if not specified.
|
23
|
+
|
24
|
+
Returns:
|
25
|
+
A column of vectors containing embeddings.
|
26
|
+
"""
|
27
|
+
|
28
|
+
return _embed_text_768_impl("snowflake.cortex.embed_text_768", model, text, session=session)
|
29
|
+
|
30
|
+
|
31
|
+
def _embed_text_768_impl(
|
32
|
+
function: str,
|
33
|
+
model: Union[str, snowpark.Column],
|
34
|
+
text: Union[str, snowpark.Column],
|
35
|
+
session: Optional[snowpark.Session] = None,
|
36
|
+
) -> Union[List[float], snowpark.Column]:
|
37
|
+
return cast(Union[List[float], snowpark.Column], call_sql_function(function, session, model, text))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Optional, Union
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
@@ -33,4 +33,4 @@ def _extract_answer_impl(
|
|
33
33
|
question: Union[str, snowpark.Column],
|
34
34
|
session: Optional[snowpark.Session] = None,
|
35
35
|
) -> Union[str, snowpark.Column]:
|
36
|
-
return call_sql_function(function, session, from_text, question)
|
36
|
+
return cast(Union[str, snowpark.Column], call_sql_function(function, session, from_text, question))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Optional, Union
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
@@ -30,4 +30,4 @@ def _sentiment_impl(
|
|
30
30
|
output = call_sql_function(function, session, text)
|
31
31
|
if isinstance(output, snowpark.Column):
|
32
32
|
return output
|
33
|
-
return float(output)
|
33
|
+
return float(cast(str, output))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Optional, Union
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
@@ -30,4 +30,4 @@ def _summarize_impl(
|
|
30
30
|
text: Union[str, snowpark.Column],
|
31
31
|
session: Optional[snowpark.Session] = None,
|
32
32
|
) -> Union[str, snowpark.Column]:
|
33
|
-
return call_sql_function(function, session, text)
|
33
|
+
return cast(Union[str, snowpark.Column], call_sql_function(function, session, text))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Optional, Union
|
1
|
+
from typing import Optional, Union, cast
|
2
2
|
|
3
3
|
from snowflake import snowpark
|
4
4
|
from snowflake.cortex._util import CORTEX_FUNCTIONS_TELEMETRY_PROJECT, call_sql_function
|
@@ -36,4 +36,4 @@ def _translate_impl(
|
|
36
36
|
to_language: Union[str, snowpark.Column],
|
37
37
|
session: Optional[snowpark.Session] = None,
|
38
38
|
) -> Union[str, snowpark.Column]:
|
39
|
-
return call_sql_function(function, session, text, from_language, to_language)
|
39
|
+
return cast(Union[str, snowpark.Column], call_sql_function(function, session, text, from_language, to_language))
|
@@ -24,7 +24,7 @@ def call_sql_function(
|
|
24
24
|
function: str,
|
25
25
|
session: Optional[snowpark.Session],
|
26
26
|
*args: Union[str, List[str], snowpark.Column, Dict[str, Union[int, float]]],
|
27
|
-
) -> Union[str, snowpark.Column]:
|
27
|
+
) -> Union[str, List[float], snowpark.Column]:
|
28
28
|
handle_as_column = False
|
29
29
|
|
30
30
|
for arg in args:
|
@@ -32,9 +32,9 @@ def call_sql_function(
|
|
32
32
|
handle_as_column = True
|
33
33
|
|
34
34
|
if handle_as_column:
|
35
|
-
return cast(Union[str, snowpark.Column], _call_sql_function_column(function, *args))
|
35
|
+
return cast(Union[str, List[float], snowpark.Column], _call_sql_function_column(function, *args))
|
36
36
|
return cast(
|
37
|
-
Union[str, snowpark.Column],
|
37
|
+
Union[str, List[float], snowpark.Column],
|
38
38
|
_call_sql_function_immediate(function, session, *args),
|
39
39
|
)
|
40
40
|
|
@@ -49,7 +49,7 @@ def _call_sql_function_immediate(
|
|
49
49
|
function: str,
|
50
50
|
session: Optional[snowpark.Session],
|
51
51
|
*args: Union[str, List[str], snowpark.Column, Dict[str, Union[int, float]]],
|
52
|
-
) -> str:
|
52
|
+
) -> Union[str, List[float]]:
|
53
53
|
session = session or context.get_active_session()
|
54
54
|
if session is None:
|
55
55
|
raise SnowflakeAuthenticationException(
|
@@ -9,7 +9,7 @@ from importlib import metadata as importlib_metadata
|
|
9
9
|
from typing import Any, DefaultDict, Dict, List, Optional, Tuple
|
10
10
|
|
11
11
|
import yaml
|
12
|
-
from packaging import requirements, specifiers,
|
12
|
+
from packaging import requirements, specifiers, version
|
13
13
|
|
14
14
|
import snowflake.connector
|
15
15
|
from snowflake.ml._internal import env as snowml_env
|
@@ -54,15 +54,12 @@ def _validate_pip_requirement_string(req_str: str) -> requirements.Requirement:
|
|
54
54
|
"""
|
55
55
|
try:
|
56
56
|
r = requirements.Requirement(req_str)
|
57
|
-
r.name = packaging_utils.canonicalize_name(r.name)
|
58
57
|
|
59
58
|
if r.name == "python":
|
60
59
|
raise ValueError("Don't specify python as a dependency, use python version argument instead.")
|
61
60
|
except requirements.InvalidRequirement:
|
62
61
|
raise ValueError(f"Invalid package requirement {req_str} found.")
|
63
62
|
|
64
|
-
if r.marker:
|
65
|
-
raise ValueError("Markers is not supported in conda dependency.")
|
66
63
|
return r
|
67
64
|
|
68
65
|
|
@@ -84,6 +81,8 @@ def _validate_conda_dependency_string(dep_str: str) -> Tuple[str, requirements.R
|
|
84
81
|
channel_str, _, requirement_str = dep_str.rpartition("::")
|
85
82
|
r = _validate_pip_requirement_string(requirement_str)
|
86
83
|
if channel_str != "pip":
|
84
|
+
if r.marker:
|
85
|
+
raise ValueError("Markers is not supported in conda dependency.")
|
87
86
|
if r.extras:
|
88
87
|
raise ValueError("Extras is not supported in conda dependency.")
|
89
88
|
if r.url:
|
@@ -221,7 +220,7 @@ def get_local_installed_version_of_pip_package(pip_req: requirements.Requirement
|
|
221
220
|
else:
|
222
221
|
return pip_req
|
223
222
|
new_pip_req = copy.deepcopy(pip_req)
|
224
|
-
new_pip_req.specifier = specifiers.SpecifierSet(specifiers=f"=={local_dist_version}")
|
223
|
+
new_pip_req.specifier = specifiers.SpecifierSet(specifiers=f"=={version.parse(local_dist_version).base_version}")
|
225
224
|
if not pip_req.specifier.contains(local_dist_version):
|
226
225
|
warnings.warn(
|
227
226
|
f"Package requirement {str(pip_req)} specified, while version {local_dist_version} is installed. "
|
@@ -513,6 +512,7 @@ def save_conda_env_file(
|
|
513
512
|
)
|
514
513
|
|
515
514
|
with open(path, "w", encoding="utf-8") as f:
|
515
|
+
yaml.SafeDumper.ignore_aliases = lambda *args: True # type: ignore[method-assign]
|
516
516
|
yaml.safe_dump(env, stream=f, default_flow_style=False)
|
517
517
|
|
518
518
|
|
@@ -0,0 +1,50 @@
|
|
1
|
+
from enum import Enum
|
2
|
+
from typing import Any, Dict, Optional
|
3
|
+
|
4
|
+
from snowflake.ml._internal.utils import query_result_checker, sql_identifier
|
5
|
+
from snowflake.snowpark import session
|
6
|
+
|
7
|
+
MAX_IDENTIFIER_LENGTH = 255
|
8
|
+
|
9
|
+
|
10
|
+
class SnowflakeDbObjectType(Enum):
|
11
|
+
TABLE = "TABLE"
|
12
|
+
WAREHOUSE = "WAREHOUSE"
|
13
|
+
|
14
|
+
|
15
|
+
def db_object_exists(
|
16
|
+
session: session.Session,
|
17
|
+
object_type: SnowflakeDbObjectType,
|
18
|
+
object_name: sql_identifier.SqlIdentifier,
|
19
|
+
*,
|
20
|
+
database_name: Optional[sql_identifier.SqlIdentifier] = None,
|
21
|
+
schema_name: Optional[sql_identifier.SqlIdentifier] = None,
|
22
|
+
statement_params: Optional[Dict[str, Any]] = None,
|
23
|
+
) -> bool:
|
24
|
+
"""Check if object exists in database.
|
25
|
+
|
26
|
+
Args:
|
27
|
+
session: Active Snowpark Session.
|
28
|
+
object_type: Type of object to search for.
|
29
|
+
object_name: Name of object to search for.
|
30
|
+
database_name: Optional database name to search in. Only used if both schema is also provided.
|
31
|
+
schema_name: Optional schema to search in.
|
32
|
+
statement_params: Optional set of statement_params to include with queries.
|
33
|
+
|
34
|
+
Returns:
|
35
|
+
boolean indicating whether object exists.
|
36
|
+
"""
|
37
|
+
optional_in_clause = ""
|
38
|
+
if database_name and schema_name:
|
39
|
+
optional_in_clause = f" IN {database_name}.{schema_name}"
|
40
|
+
|
41
|
+
result = (
|
42
|
+
query_result_checker.SqlResultValidator(
|
43
|
+
session,
|
44
|
+
f"""SHOW {object_type.value}S LIKE '{object_name}'{optional_in_clause}""",
|
45
|
+
statement_params=statement_params,
|
46
|
+
)
|
47
|
+
.has_column("name", allow_empty=True) # TODO: Check this is actually what is returned from server
|
48
|
+
.validate()
|
49
|
+
)
|
50
|
+
return len(result) == 1
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import enum
|
2
|
+
import logging
|
3
|
+
import sys
|
4
|
+
|
5
|
+
|
6
|
+
class LogColor(enum.Enum):
|
7
|
+
GREY = "\x1b[38;20m"
|
8
|
+
RED = "\x1b[31;20m"
|
9
|
+
BOLD_RED = "\x1b[31;1m"
|
10
|
+
YELLOW = "\x1b[33;20m"
|
11
|
+
BLUE = "\x1b[34;20m"
|
12
|
+
GREEN = "\x1b[32;20m"
|
13
|
+
|
14
|
+
|
15
|
+
class CustomFormatter(logging.Formatter):
|
16
|
+
|
17
|
+
reset = "\x1b[0m"
|
18
|
+
log_format = "%(name)s [%(asctime)s] [%(levelname)s] %(message)s"
|
19
|
+
|
20
|
+
def __init__(self, info_color: LogColor) -> None:
|
21
|
+
super().__init__()
|
22
|
+
self.level_colors = {
|
23
|
+
logging.DEBUG: LogColor.GREY.value,
|
24
|
+
logging.INFO: info_color.value,
|
25
|
+
logging.WARNING: LogColor.YELLOW.value,
|
26
|
+
logging.ERROR: LogColor.RED.value,
|
27
|
+
logging.CRITICAL: LogColor.BOLD_RED.value,
|
28
|
+
}
|
29
|
+
|
30
|
+
def format(self, record: logging.LogRecord) -> str:
|
31
|
+
# default to DEBUG color
|
32
|
+
fmt = self.level_colors.get(record.levelno, self.level_colors[logging.DEBUG]) + self.log_format + self.reset
|
33
|
+
formatter = logging.Formatter(fmt)
|
34
|
+
|
35
|
+
# split the log message by lines and format each line individually
|
36
|
+
original_message = record.getMessage()
|
37
|
+
message_lines = original_message.splitlines()
|
38
|
+
formatted_lines = [
|
39
|
+
formatter.format(
|
40
|
+
logging.LogRecord(
|
41
|
+
name=record.name,
|
42
|
+
level=record.levelno,
|
43
|
+
pathname=record.pathname,
|
44
|
+
lineno=record.lineno,
|
45
|
+
msg=line,
|
46
|
+
args=None,
|
47
|
+
exc_info=None,
|
48
|
+
)
|
49
|
+
)
|
50
|
+
for line in message_lines
|
51
|
+
]
|
52
|
+
|
53
|
+
return "\n".join(formatted_lines)
|
54
|
+
|
55
|
+
|
56
|
+
def get_logger(logger_name: str, info_color: LogColor) -> logging.Logger:
|
57
|
+
logger = logging.getLogger(logger_name)
|
58
|
+
logger.setLevel(logging.INFO)
|
59
|
+
handler = logging.StreamHandler(sys.stdout)
|
60
|
+
handler.setLevel(logging.INFO)
|
61
|
+
handler.setFormatter(CustomFormatter(info_color))
|
62
|
+
logger.addHandler(handler)
|
63
|
+
return logger
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import List, Optional, Tuple
|
1
|
+
from typing import List, Optional, Tuple, Union
|
2
2
|
|
3
3
|
from snowflake.ml._internal.utils import identifier
|
4
4
|
|
@@ -92,3 +92,27 @@ def parse_fully_qualified_name(
|
|
92
92
|
SqlIdentifier(schema) if schema else None,
|
93
93
|
SqlIdentifier(object),
|
94
94
|
)
|
95
|
+
|
96
|
+
|
97
|
+
def get_fully_qualified_name(
|
98
|
+
db: Union[SqlIdentifier, str, None],
|
99
|
+
schema: Union[SqlIdentifier, str, None],
|
100
|
+
object: Union[SqlIdentifier, str],
|
101
|
+
session_db: Optional[str] = None,
|
102
|
+
session_schema: Optional[str] = None,
|
103
|
+
) -> str:
|
104
|
+
db_name: Optional[SqlIdentifier] = None
|
105
|
+
schema_name: Optional[SqlIdentifier] = None
|
106
|
+
if not db and session_db:
|
107
|
+
db_name = SqlIdentifier(session_db)
|
108
|
+
elif isinstance(db, str):
|
109
|
+
db_name = SqlIdentifier(db)
|
110
|
+
if not schema and session_schema:
|
111
|
+
schema_name = SqlIdentifier(session_schema)
|
112
|
+
elif isinstance(schema, str):
|
113
|
+
schema_name = SqlIdentifier(schema)
|
114
|
+
return identifier.get_schema_level_object_identifier(
|
115
|
+
db=db_name.identifier() if db_name else None,
|
116
|
+
schema=schema_name.identifier() if schema_name else None,
|
117
|
+
object_name=object.identifier() if isinstance(object, SqlIdentifier) else SqlIdentifier(object).identifier(),
|
118
|
+
)
|
@@ -11,7 +11,6 @@ import pyarrow as pa
|
|
11
11
|
import pyarrow.dataset as pds
|
12
12
|
|
13
13
|
from snowflake import snowpark
|
14
|
-
from snowflake.connector import result_batch
|
15
14
|
from snowflake.ml.data import data_ingestor, data_source, ingestor_utils
|
16
15
|
|
17
16
|
_EMPTY_RECORD_BATCH = pa.RecordBatch.from_arrays([], [])
|
@@ -140,16 +139,7 @@ class ArrowIngestor(data_ingestor.DataIngestor):
|
|
140
139
|
# We may be able to optimize this by splitting the result batches into
|
141
140
|
# in-memory (first batch) and file URLs (subsequent batches) and creating a
|
142
141
|
# union dataset.
|
143
|
-
|
144
|
-
sources.extend(
|
145
|
-
b.to_arrow(self._session.connection)
|
146
|
-
if isinstance(b, result_batch.ArrowResultBatch)
|
147
|
-
else b.to_arrow()
|
148
|
-
for b in result_batches
|
149
|
-
)
|
150
|
-
# HACK: Mitigate typing inconsistencies in Snowpark results
|
151
|
-
if len(sources) > 0:
|
152
|
-
sources = [_cast_if_needed(s, sources[-1].schema) for s in sources]
|
142
|
+
sources.append(_cast_if_needed(ingestor_utils.get_dataframe_arrow_table(self._session, source)))
|
153
143
|
source_format = None # Arrow Dataset expects "None" for in-memory datasets
|
154
144
|
else:
|
155
145
|
raise RuntimeError(f"Unsupported data source type: {type(source)}")
|
@@ -1,19 +1,17 @@
|
|
1
1
|
from typing import List, Optional
|
2
2
|
|
3
3
|
import fsspec
|
4
|
+
import pyarrow as pa
|
4
5
|
|
5
6
|
from snowflake import snowpark
|
6
|
-
from snowflake.connector import result_batch
|
7
|
+
from snowflake.connector import cursor as sf_cursor, result_batch
|
7
8
|
from snowflake.ml.data import data_source
|
8
9
|
from snowflake.ml.fileset import snowfs
|
9
10
|
|
10
11
|
_TARGET_FILE_SIZE = 32 * 2**20 # The max file size for data loading.
|
11
12
|
|
12
13
|
|
13
|
-
def
|
14
|
-
session: snowpark.Session, df_info: data_source.DataFrameInfo
|
15
|
-
) -> List[result_batch.ResultBatch]:
|
16
|
-
"""Retrieve the ResultBatches for a given query"""
|
14
|
+
def _get_dataframe_cursor(session: snowpark.Session, df_info: data_source.DataFrameInfo) -> sf_cursor.SnowflakeCursor:
|
17
15
|
cursor = session._conn._cursor
|
18
16
|
|
19
17
|
if df_info.query_id:
|
@@ -29,12 +27,24 @@ def get_dataframe_result_batches(
|
|
29
27
|
if cursor._prefetch_hook is None:
|
30
28
|
raise RuntimeError("Loading data from result query failed unexpectedly. Please contact Snowflake support.")
|
31
29
|
cursor._prefetch_hook()
|
30
|
+
|
31
|
+
return cursor
|
32
|
+
|
33
|
+
|
34
|
+
def get_dataframe_result_batches(
|
35
|
+
session: snowpark.Session, df_info: data_source.DataFrameInfo
|
36
|
+
) -> List[result_batch.ResultBatch]:
|
37
|
+
"""Retrieve the ResultBatches for a given query"""
|
38
|
+
cursor = _get_dataframe_cursor(session, df_info)
|
32
39
|
batches = cursor.get_result_batches()
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
40
|
+
return batches or []
|
41
|
+
|
42
|
+
|
43
|
+
def get_dataframe_arrow_table(session: snowpark.Session, df_info: data_source.DataFrameInfo) -> pa.Table:
|
44
|
+
"""Retrieve the full in-memory result for a given query"""
|
45
|
+
cursor = _get_dataframe_cursor(session, df_info)
|
46
|
+
table = cursor.fetch_arrow_all() # type: ignore[call-overload]
|
47
|
+
return table
|
38
48
|
|
39
49
|
|
40
50
|
def get_dataset_filesystem(
|