snowflake-ml-python 1.6.3__tar.gz → 1.7.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.6.3 → snowflake_ml_python-1.7.0}/CHANGELOG.md +74 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/PKG-INFO +81 -9
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/README.md +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/pyproject.toml +5 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/telemetry.py +4 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/import_utils.py +31 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +13 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/_internal/arrow_ingestor.py +8 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_connector.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/torch_utils.py +33 -14
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +5 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +7 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +4 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/example_helper.py +6 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +4 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +4 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/feature_store.py +1 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/feature_view.py +5 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/model/model_version_impl.py +144 -10
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/model_ops.py +25 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/service_ops.py +33 -28
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +19 -8
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/model.py +14 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/service.py +6 -18
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_composer.py +2 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +4 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +1 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +5 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +3 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/custom.py +2 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +10 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +3 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +8 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +7 -65
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +10 -40
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_packager.py +0 -11
- snowflake_ml_python-1.6.3/snowflake/ml/model/_packager/model_handlers/model_objective_utils.py → snowflake_ml_python-1.7.0/snowflake/ml/model/_packager/model_task/model_task_utils.py +13 -25
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/pandas_handler.py +16 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/custom_model.py +47 -7
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/model_signature.py +2 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/type_hints.py +8 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/estimator_utils.py +13 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +7 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +16 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +8 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +9 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1 -8
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +17 -19
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/dbscan.py +5 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +7 -19
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/k_means.py +14 -19
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/optics.py +6 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +4 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/column_transformer.py +15 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +7 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/min_cov_det.py +2 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/oas.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +2 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +5 -12
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +5 -12
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/pca.py +28 -15
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +6 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1 -12
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -8
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -8
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +21 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +18 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +2 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +2 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +21 -8
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +21 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +21 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +18 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +2 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +5 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +2 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ard_regression.py +5 -10
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +5 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/elastic_net.py +3 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lars.py +0 -10
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -10
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -10
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +28 -22
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +30 -24
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +4 -13
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +4 -4
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/perceptron.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +3 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +14 -6
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +17 -11
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +2 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +5 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +12 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/isomap.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/mds.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/tsne.py +10 -4
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/classification.py +12 -16
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/ranking.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/regression.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +10 -4
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +2 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +7 -14
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +6 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +7 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +3 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/pipeline/pipeline.py +16 -14
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +8 -4
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +9 -7
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/linear_svc.py +25 -16
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/linear_svr.py +23 -17
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/nu_svc.py +5 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/nu_svr.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/svc.py +9 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/svr.py +3 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +21 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +18 -2
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +28 -9
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +18 -2
- snowflake_ml_python-1.6.3/snowflake/ml/monitoring/_client/monitor_sql_client.py → snowflake_ml_python-1.7.0/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +1 -1
- {snowflake_ml_python-1.6.3/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring/_manager}/model_monitor_manager.py +9 -8
- {snowflake_ml_python-1.6.3/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring}/model_monitor.py +3 -3
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/_manager/model_manager.py +15 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/registry.py +15 -8
- snowflake_ml_python-1.7.0/snowflake/ml/version.py +1 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/PKG-INFO +81 -9
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -5
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/requires.txt +4 -4
- snowflake_ml_python-1.6.3/snowflake/ml/version.py +0 -1
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/retryable_http.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/parquet_parser.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/tf_dataset.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/torch_datapipe.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/constants.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_trainer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/model_monitor_interval.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/output_score_type.py +0 -0
- {snowflake_ml_python-1.6.3/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring}/model_monitor_version.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,76 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
-
## 1.
|
3
|
+
## 1.7.0
|
4
|
+
|
5
|
+
### Behavior Change
|
6
|
+
|
7
|
+
- Generic: Require python >= 3.9.
|
8
|
+
- Data Connector: Update `to_torch_dataset` and `to_torch_datapipe` to add a dimension for scalar data.
|
9
|
+
This allows for more seamless integration with PyTorch `DataLoader`, which creates batches by stacking inputs of each batch.
|
10
|
+
|
11
|
+
Examples:
|
12
|
+
|
13
|
+
```python
|
14
|
+
ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
|
15
|
+
```
|
16
|
+
|
17
|
+
- Input: "col1": [10, 11, 12]
|
18
|
+
- Previous batch: array([10., 11., 12.]) with shape (3,)
|
19
|
+
- New batch: array([[10.], [11.], [12.]]) with shape (3, 1)
|
20
|
+
|
21
|
+
- Input: "col2": [[0, 100], [1, 110], [2, 200]]
|
22
|
+
- Previous batch: array([[ 0, 100], [ 1, 110], [ 2, 200]]) with shape (3,2)
|
23
|
+
- New batch: No change
|
24
|
+
|
25
|
+
- Model Registry: External access integrations are optional when creating a model inference service in
|
26
|
+
Snowflake >= 8.40.0.
|
27
|
+
- Model Registry: Deprecate `build_external_access_integration` with `build_external_access_integrations` in
|
28
|
+
`ModelVersion.create_service()`.
|
29
|
+
|
30
|
+
### Bug Fixes
|
31
|
+
|
32
|
+
- Registry: Updated `log_model` API to accept both signature and sample_input_data parameters.
|
33
|
+
- Feature Store: ExampleHelper uses fully qualified path for table name. change weather features aggregation from 1d to 1h.
|
34
|
+
- Data Connector: Return numpy array with appropriate object type instead of list for multi-dimensional
|
35
|
+
data from `to_torch_dataset` and `to_torch_datapipe`
|
36
|
+
- Model explainability: Incompatibility between SHAP 0.42.1 and XGB 2.1.1 resolved by using latest SHAP 0.46.0.
|
37
|
+
|
38
|
+
### New Features
|
39
|
+
|
40
|
+
- Registry: Provide pass keyworded variable length of arguments to class ModelContext. Example usage:
|
41
|
+
|
42
|
+
```python
|
43
|
+
mc = custom_model.ModelContext(
|
44
|
+
config = 'local_model_dir/config.json',
|
45
|
+
m1 = model1
|
46
|
+
)
|
47
|
+
|
48
|
+
class ExamplePipelineModel(custom_model.CustomModel):
|
49
|
+
def __init__(self, context: custom_model.ModelContext) -> None:
|
50
|
+
super().__init__(context)
|
51
|
+
v = open(self.context['config']).read()
|
52
|
+
self.bias = json.loads(v)['bias']
|
53
|
+
|
54
|
+
@custom_model.inference_api
|
55
|
+
def predict(self, input: pd.DataFrame) -> pd.DataFrame:
|
56
|
+
model_output = self.context['m1'].predict(input)
|
57
|
+
return pd.DataFrame({'output': model_output + self.bias})
|
58
|
+
```
|
59
|
+
|
60
|
+
- Model Development: Upgrade scikit-learn in UDTF backend for log_loss metric. As a result, `eps` argument is now ignored.
|
61
|
+
- Data Connector: Add the option of passing a `None` sized batch to `to_torch_dataset` for better
|
62
|
+
interoperability with PyTorch DataLoader.
|
63
|
+
- Model Registry: Support [pandas.CategoricalDtype](https://pandas.pydata.org/docs/reference/api/pandas.CategoricalDtype.html#pandas-categoricaldtype)
|
64
|
+
- Registry: It is now possible to pass `signatures` and `sample_input_data` at the same time to capture background
|
65
|
+
data from explainablity and data lineage.
|
66
|
+
|
67
|
+
## 1.6.4 (2024-10-17)
|
68
|
+
|
69
|
+
### Bug Fixes
|
70
|
+
|
71
|
+
- Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
72
|
+
|
73
|
+
## 1.6.3 (2024-10-07)
|
4
74
|
|
5
75
|
- Model Registry (PrPr) has been removed.
|
6
76
|
|
@@ -12,6 +82,9 @@
|
|
12
82
|
- Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
13
83
|
- Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
14
84
|
base version.
|
85
|
+
- Fix issue where `sample_weights` were not being applied to search estimators.
|
86
|
+
- Model explainability: Fix bug which creates explain as a function instead of table function when enabling by default.
|
87
|
+
- Model explainability: Update lightgbm binary classification to return non-json values, from customer feedback.
|
15
88
|
|
16
89
|
### New Features
|
17
90
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.7.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.8
|
224
223
|
Classifier: Programming Language :: Python :: 3.9
|
225
224
|
Classifier: Programming Language :: Python :: 3.10
|
226
225
|
Classifier: Programming Language :: Python :: 3.11
|
@@ -230,7 +229,7 @@ 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.12,>=3.
|
232
|
+
Requires-Python: <3.12,>=3.9
|
234
233
|
Description-Content-Type: text/markdown
|
235
234
|
License-File: LICENSE.txt
|
236
235
|
Requires-Dist: absl-py<2,>=0.15
|
@@ -247,13 +246,13 @@ Requires-Dist: pytimeparse<2,>=1.1.8
|
|
247
246
|
Requires-Dist: pyyaml<7,>=6.0
|
248
247
|
Requires-Dist: retrying<2,>=1.3.3
|
249
248
|
Requires-Dist: s3fs<2024,>=2022.11
|
250
|
-
Requires-Dist: scikit-learn<1.6,>=1.
|
249
|
+
Requires-Dist: scikit-learn<1.6,>=1.4
|
251
250
|
Requires-Dist: scipy<2,>=1.9
|
252
251
|
Requires-Dist: snowflake-connector-python[pandas]<4,>=3.5.0
|
253
252
|
Requires-Dist: snowflake-snowpark-python<2,>=1.17.0
|
254
253
|
Requires-Dist: sqlparse<1,>=0.4
|
255
254
|
Requires-Dist: typing-extensions<5,>=4.1.0
|
256
|
-
Requires-Dist: xgboost<
|
255
|
+
Requires-Dist: xgboost<3,>=1.7.3
|
257
256
|
Provides-Extra: all
|
258
257
|
Requires-Dist: catboost<2,>=1.2.0; extra == "all"
|
259
258
|
Requires-Dist: lightgbm<5,>=3.3.5; extra == "all"
|
@@ -261,7 +260,7 @@ Requires-Dist: mlflow<2.4,>=2.1.0; extra == "all"
|
|
261
260
|
Requires-Dist: peft<1,>=0.5.0; extra == "all"
|
262
261
|
Requires-Dist: sentence-transformers<3,>=2.2.2; extra == "all"
|
263
262
|
Requires-Dist: sentencepiece<1,>=0.1.95; extra == "all"
|
264
|
-
Requires-Dist: shap<1,>=0.
|
263
|
+
Requires-Dist: shap<1,>=0.46.0; extra == "all"
|
265
264
|
Requires-Dist: tensorflow<3,>=2.10; extra == "all"
|
266
265
|
Requires-Dist: tokenizers<1,>=0.10; extra == "all"
|
267
266
|
Requires-Dist: torch<2.3.0,>=2.0.1; extra == "all"
|
@@ -276,7 +275,7 @@ Requires-Dist: peft<1,>=0.5.0; extra == "llm"
|
|
276
275
|
Provides-Extra: mlflow
|
277
276
|
Requires-Dist: mlflow<2.4,>=2.1.0; extra == "mlflow"
|
278
277
|
Provides-Extra: shap
|
279
|
-
Requires-Dist: shap<1,>=0.
|
278
|
+
Requires-Dist: shap<1,>=0.46.0; extra == "shap"
|
280
279
|
Provides-Extra: tensorflow
|
281
280
|
Requires-Dist: tensorflow<3,>=2.10; extra == "tensorflow"
|
282
281
|
Provides-Extra: torch
|
@@ -336,7 +335,7 @@ If you don't have a Snowflake account yet, you can [sign up for a 30-day free tr
|
|
336
335
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
337
336
|
in the Snowflake documentation.
|
338
337
|
|
339
|
-
Python versions 3.
|
338
|
+
Python versions 3.9 to 3.11 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
340
339
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
341
340
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
342
341
|
|
@@ -373,7 +372,77 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
373
372
|
|
374
373
|
# Release History
|
375
374
|
|
376
|
-
## 1.
|
375
|
+
## 1.7.0
|
376
|
+
|
377
|
+
### Behavior Change
|
378
|
+
|
379
|
+
- Generic: Require python >= 3.9.
|
380
|
+
- Data Connector: Update `to_torch_dataset` and `to_torch_datapipe` to add a dimension for scalar data.
|
381
|
+
This allows for more seamless integration with PyTorch `DataLoader`, which creates batches by stacking inputs of each batch.
|
382
|
+
|
383
|
+
Examples:
|
384
|
+
|
385
|
+
```python
|
386
|
+
ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
|
387
|
+
```
|
388
|
+
|
389
|
+
- Input: "col1": [10, 11, 12]
|
390
|
+
- Previous batch: array([10., 11., 12.]) with shape (3,)
|
391
|
+
- New batch: array([[10.], [11.], [12.]]) with shape (3, 1)
|
392
|
+
|
393
|
+
- Input: "col2": [[0, 100], [1, 110], [2, 200]]
|
394
|
+
- Previous batch: array([[ 0, 100], [ 1, 110], [ 2, 200]]) with shape (3,2)
|
395
|
+
- New batch: No change
|
396
|
+
|
397
|
+
- Model Registry: External access integrations are optional when creating a model inference service in
|
398
|
+
Snowflake >= 8.40.0.
|
399
|
+
- Model Registry: Deprecate `build_external_access_integration` with `build_external_access_integrations` in
|
400
|
+
`ModelVersion.create_service()`.
|
401
|
+
|
402
|
+
### Bug Fixes
|
403
|
+
|
404
|
+
- Registry: Updated `log_model` API to accept both signature and sample_input_data parameters.
|
405
|
+
- Feature Store: ExampleHelper uses fully qualified path for table name. change weather features aggregation from 1d to 1h.
|
406
|
+
- Data Connector: Return numpy array with appropriate object type instead of list for multi-dimensional
|
407
|
+
data from `to_torch_dataset` and `to_torch_datapipe`
|
408
|
+
- Model explainability: Incompatibility between SHAP 0.42.1 and XGB 2.1.1 resolved by using latest SHAP 0.46.0.
|
409
|
+
|
410
|
+
### New Features
|
411
|
+
|
412
|
+
- Registry: Provide pass keyworded variable length of arguments to class ModelContext. Example usage:
|
413
|
+
|
414
|
+
```python
|
415
|
+
mc = custom_model.ModelContext(
|
416
|
+
config = 'local_model_dir/config.json',
|
417
|
+
m1 = model1
|
418
|
+
)
|
419
|
+
|
420
|
+
class ExamplePipelineModel(custom_model.CustomModel):
|
421
|
+
def __init__(self, context: custom_model.ModelContext) -> None:
|
422
|
+
super().__init__(context)
|
423
|
+
v = open(self.context['config']).read()
|
424
|
+
self.bias = json.loads(v)['bias']
|
425
|
+
|
426
|
+
@custom_model.inference_api
|
427
|
+
def predict(self, input: pd.DataFrame) -> pd.DataFrame:
|
428
|
+
model_output = self.context['m1'].predict(input)
|
429
|
+
return pd.DataFrame({'output': model_output + self.bias})
|
430
|
+
```
|
431
|
+
|
432
|
+
- Model Development: Upgrade scikit-learn in UDTF backend for log_loss metric. As a result, `eps` argument is now ignored.
|
433
|
+
- Data Connector: Add the option of passing a `None` sized batch to `to_torch_dataset` for better
|
434
|
+
interoperability with PyTorch DataLoader.
|
435
|
+
- Model Registry: Support [pandas.CategoricalDtype](https://pandas.pydata.org/docs/reference/api/pandas.CategoricalDtype.html#pandas-categoricaldtype)
|
436
|
+
- Registry: It is now possible to pass `signatures` and `sample_input_data` at the same time to capture background
|
437
|
+
data from explainablity and data lineage.
|
438
|
+
|
439
|
+
## 1.6.4 (2024-10-17)
|
440
|
+
|
441
|
+
### Bug Fixes
|
442
|
+
|
443
|
+
- Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
444
|
+
|
445
|
+
## 1.6.3 (2024-10-07)
|
377
446
|
|
378
447
|
- Model Registry (PrPr) has been removed.
|
379
448
|
|
@@ -385,6 +454,9 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
385
454
|
- Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
386
455
|
- Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
387
456
|
base version.
|
457
|
+
- Fix issue where `sample_weights` were not being applied to search estimators.
|
458
|
+
- Model explainability: Fix bug which creates explain as a function instead of table function when enabling by default.
|
459
|
+
- Model explainability: Update lightgbm binary classification to return non-json values, from customer feedback.
|
388
460
|
|
389
461
|
### New Features
|
390
462
|
|
@@ -46,7 +46,7 @@ If you don't have a Snowflake account yet, you can [sign up for a 30-day free tr
|
|
46
46
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
47
47
|
in the Snowflake documentation.
|
48
48
|
|
49
|
-
Python versions 3.
|
49
|
+
Python versions 3.9 to 3.11 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
50
50
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
51
51
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
52
52
|
|
@@ -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.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
|
+
requires-python = ">=3.9, <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.
|
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.4,<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,<3",]
|
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>=0.
|
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.46.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>=0.
|
32
|
+
shap = [ "shap>=0.46.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",]
|
@@ -544,7 +544,7 @@ def send_api_usage_telemetry(
|
|
544
544
|
if not isinstance(e, snowml_exceptions.SnowflakeMLException):
|
545
545
|
# already handled via a nested decorated function
|
546
546
|
if getattr(e, "_snowflake_ml_handled", False):
|
547
|
-
raise
|
547
|
+
raise
|
548
548
|
if isinstance(e, snowpark_exceptions.SnowparkClientException):
|
549
549
|
me = snowml_exceptions.SnowflakeMLException(
|
550
550
|
error_code=error_codes.INTERNAL_SNOWPARK_ERROR, original_exception=e
|
@@ -558,7 +558,9 @@ def send_api_usage_telemetry(
|
|
558
558
|
telemetry_args["error"] = repr(me)
|
559
559
|
telemetry_args["error_code"] = me.error_code
|
560
560
|
me.original_exception._snowflake_ml_handled = True # type: ignore[attr-defined]
|
561
|
-
if me
|
561
|
+
if e is not me:
|
562
|
+
raise # Directly raise non-wrapped exceptions to preserve original stacktrace
|
563
|
+
elif me.suppress_source_trace:
|
562
564
|
raise me.original_exception from None
|
563
565
|
else:
|
564
566
|
raise me.original_exception from e
|
{snowflake_ml_python-1.6.3 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/import_utils.py
RENAMED
@@ -19,6 +19,33 @@ class MissingOptionalDependency:
|
|
19
19
|
raise ImportError(f"Unable to import {self._dep_name}.")
|
20
20
|
|
21
21
|
|
22
|
+
def import_with_fallbacks(*targets: str) -> Any:
|
23
|
+
"""Import a module which may be located in different locations.
|
24
|
+
|
25
|
+
This method will iterate through the provided targets, returning the first available import target.
|
26
|
+
If none of the requested import targets are available, ImportError will be raised.
|
27
|
+
|
28
|
+
Args:
|
29
|
+
targets: Strings representing the target which needs to be imported. It should be a list of symbol name
|
30
|
+
joined by dot. Some valid examples:
|
31
|
+
- <some_package>
|
32
|
+
- <some_module>
|
33
|
+
- <some_package>.<some_module>
|
34
|
+
- <some_module>.<some_symbol>
|
35
|
+
|
36
|
+
Returns:
|
37
|
+
The imported target.
|
38
|
+
|
39
|
+
Raises:
|
40
|
+
ImportError: None of the requested targets are available
|
41
|
+
"""
|
42
|
+
for target in targets:
|
43
|
+
result, success = import_or_get_dummy(target)
|
44
|
+
if success:
|
45
|
+
return result
|
46
|
+
raise ImportError(f"None of the requested targets could be imported. Requested: {', '.join(targets)}")
|
47
|
+
|
48
|
+
|
22
49
|
def import_or_get_dummy(target: str) -> Tuple[Any, bool]:
|
23
50
|
"""Try to import the the given target or return a dummy object.
|
24
51
|
|
@@ -43,6 +70,10 @@ def import_or_get_dummy(target: str) -> Tuple[Any, bool]:
|
|
43
70
|
except ImportError:
|
44
71
|
pass
|
45
72
|
|
73
|
+
# Don't try symbol resolution if target doesn't contain '.'
|
74
|
+
if "." not in target:
|
75
|
+
return (MissingOptionalDependency(target), False)
|
76
|
+
|
46
77
|
# Try to import the target as a symbol
|
47
78
|
try:
|
48
79
|
res = _try_import_symbol(target)
|
@@ -121,3 +121,16 @@ def cast_snowpark_dataframe_column_types(df: snowpark.DataFrame) -> snowpark.Dat
|
|
121
121
|
selected_cols.append(functions.col(src))
|
122
122
|
df = df.select(selected_cols)
|
123
123
|
return df
|
124
|
+
|
125
|
+
|
126
|
+
def is_single_query_snowpark_dataframe(df: snowpark.DataFrame) -> bool:
|
127
|
+
"""Check if dataframe only has a single query.
|
128
|
+
|
129
|
+
Args:
|
130
|
+
df: A snowpark dataframe.
|
131
|
+
|
132
|
+
Returns:
|
133
|
+
true if there is only on query in the dataframe and no post_actions,
|
134
|
+
false otherwise.
|
135
|
+
"""
|
136
|
+
return len(df.queries["queries"]) == 1 and len(df.queries["post_actions"]) == 0
|
@@ -198,7 +198,15 @@ def _record_batch_to_arrays(rb: pa.RecordBatch) -> Dict[str, npt.NDArray[Any]]:
|
|
198
198
|
for column, column_schema in zip(rb, rb.schema):
|
199
199
|
# zero_copy_only=False because of nans. Ideally nans should have been imputed in feature engineering.
|
200
200
|
array = column.to_numpy(zero_copy_only=False)
|
201
|
+
# If this column is a list, use the underlying type from the list values. Since this is just one column,
|
202
|
+
# there should only be one type within the list.
|
203
|
+
# TODO: Refactor to reduce data copies.
|
204
|
+
if isinstance(column_schema.type, pa.ListType):
|
205
|
+
# Update dtype of outer array:
|
206
|
+
array = np.array(array.tolist(), dtype=column_schema.type.value_type.to_pandas_dtype())
|
207
|
+
|
201
208
|
batch_dict[column_schema.name] = array
|
209
|
+
|
202
210
|
return batch_dict
|
203
211
|
|
204
212
|
|
@@ -159,7 +159,7 @@ class DataConnector:
|
|
159
159
|
func_params_to_log=["batch_size", "shuffle", "drop_last_batch"],
|
160
160
|
)
|
161
161
|
def to_torch_dataset(
|
162
|
-
self, *, batch_size: int =
|
162
|
+
self, *, batch_size: Optional[int] = None, shuffle: bool = False, drop_last_batch: bool = True
|
163
163
|
) -> "torch_data.IterableDataset": # type: ignore[type-arg]
|
164
164
|
"""Transform the Snowflake data into a PyTorch Iterable Dataset to be used with a DataLoader.
|
165
165
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any, Dict, Iterator, List, Union
|
1
|
+
from typing import Any, Dict, Iterator, List, Optional, Union
|
2
2
|
|
3
3
|
import numpy as np
|
4
4
|
import numpy.typing as npt
|
@@ -14,17 +14,21 @@ class TorchDatasetWrapper(torch.utils.data.IterableDataset[Dict[str, Any]]):
|
|
14
14
|
self,
|
15
15
|
ingestor: data_ingestor.DataIngestor,
|
16
16
|
*,
|
17
|
-
batch_size: int,
|
17
|
+
batch_size: Optional[int],
|
18
18
|
shuffle: bool = False,
|
19
19
|
drop_last: bool = False,
|
20
|
-
squeeze_outputs: bool = True
|
21
20
|
) -> None:
|
22
21
|
"""Not intended for direct usage. Use DataConnector.to_torch_dataset() instead"""
|
22
|
+
squeeze = False
|
23
|
+
if batch_size is None:
|
24
|
+
batch_size = 1
|
25
|
+
squeeze = True
|
26
|
+
|
23
27
|
self._ingestor = ingestor
|
24
28
|
self._batch_size = batch_size
|
25
29
|
self._shuffle = shuffle
|
26
30
|
self._drop_last = drop_last
|
27
|
-
self._squeeze_outputs =
|
31
|
+
self._squeeze_outputs = squeeze
|
28
32
|
|
29
33
|
def __iter__(self) -> Iterator[Dict[str, Union[npt.NDArray[Any], List[Any]]]]:
|
30
34
|
max_idx = 0
|
@@ -43,15 +47,7 @@ class TorchDatasetWrapper(torch.utils.data.IterableDataset[Dict[str, Any]]):
|
|
43
47
|
):
|
44
48
|
# Skip indices during multi-process data loading to prevent data duplication
|
45
49
|
if counter == filter_idx:
|
46
|
-
|
47
|
-
# and convert object arrays (e.g. strings) to lists
|
48
|
-
if self._squeeze_outputs:
|
49
|
-
yield {
|
50
|
-
k: (v.squeeze().tolist() if v.dtype == np.object_ else v.squeeze()) for k, v in batch.items()
|
51
|
-
}
|
52
|
-
else:
|
53
|
-
yield batch # type: ignore[misc]
|
54
|
-
|
50
|
+
yield {k: _preprocess_array(v, squeeze=self._squeeze_outputs) for k, v in batch.items()}
|
55
51
|
if counter < max_idx:
|
56
52
|
counter += 1
|
57
53
|
else:
|
@@ -65,4 +61,27 @@ class TorchDataPipeWrapper(TorchDatasetWrapper, torch.utils.data.IterDataPipe[Di
|
|
65
61
|
self, ingestor: data_ingestor.DataIngestor, *, batch_size: int, shuffle: bool = False, drop_last: bool = False
|
66
62
|
) -> None:
|
67
63
|
"""Not intended for direct usage. Use DataConnector.to_torch_datapipe() instead"""
|
68
|
-
super().__init__(ingestor, batch_size=batch_size, shuffle=shuffle, drop_last=drop_last
|
64
|
+
super().__init__(ingestor, batch_size=batch_size, shuffle=shuffle, drop_last=drop_last)
|
65
|
+
|
66
|
+
|
67
|
+
def _preprocess_array(arr: npt.NDArray[Any], squeeze: bool = False) -> Union[npt.NDArray[Any], List[np.object_]]:
|
68
|
+
"""Preprocesses batch column values."""
|
69
|
+
single_dimensional = arr.ndim < 2 and not arr.dtype == np.object_
|
70
|
+
|
71
|
+
# Squeeze away all extra dimensions. This is only used when batch_size = None.
|
72
|
+
if squeeze:
|
73
|
+
arr = arr.squeeze(axis=0)
|
74
|
+
|
75
|
+
# For single dimensional data,
|
76
|
+
if single_dimensional:
|
77
|
+
axis = 0 if arr.ndim == 0 else 1
|
78
|
+
arr = np.expand_dims(arr, axis=axis)
|
79
|
+
|
80
|
+
# Handle object arrays.
|
81
|
+
if arr.dtype == np.object_:
|
82
|
+
array_list = arr.tolist()
|
83
|
+
# If this is an array of arrays, convert the dtype to match the underlying array.
|
84
|
+
# Otherwise, if this is a numpy array of strings, convert the array to a list.
|
85
|
+
arr = np.array(array_list, dtype=arr.flat[0].dtype) if isinstance(arr.flat[0], np.ndarray) else array_list
|
86
|
+
|
87
|
+
return arr
|
@@ -6,15 +6,17 @@ from snowflake.snowpark import DataFrame, Session
|
|
6
6
|
|
7
7
|
|
8
8
|
# This function will be invoked by example_helper.py. Do not change the name.
|
9
|
-
def create_draft_feature_view(
|
9
|
+
def create_draft_feature_view(
|
10
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
11
|
+
) -> FeatureView:
|
10
12
|
"""Create a feature view about airplane model."""
|
11
13
|
query = session.sql(
|
12
|
-
"""
|
14
|
+
f"""
|
13
15
|
select
|
14
16
|
PLANE_MODEL,
|
15
17
|
SEATING_CAPACITY
|
16
18
|
from
|
17
|
-
PLANE_MODEL_ATTRIBUTES
|
19
|
+
{database}.{schema}.PLANE_MODEL_ATTRIBUTES
|
18
20
|
"""
|
19
21
|
)
|
20
22
|
|
@@ -6,10 +6,12 @@ from snowflake.snowpark import DataFrame, Session
|
|
6
6
|
|
7
7
|
|
8
8
|
# This function will be invoked by example_helper.py. Do not change the name.
|
9
|
-
def create_draft_feature_view(
|
9
|
+
def create_draft_feature_view(
|
10
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
11
|
+
) -> FeatureView:
|
10
12
|
"""Create a feature view about airport weather."""
|
11
13
|
query = session.sql(
|
12
|
-
"""
|
14
|
+
f"""
|
13
15
|
select
|
14
16
|
DATETIME_UTC AS TS,
|
15
17
|
AIRPORT_ZIP_CODE,
|
@@ -21,9 +23,9 @@ def create_draft_feature_view(session: Session, source_dfs: List[DataFrame], sou
|
|
21
23
|
sum(RAIN_MM_H) over (
|
22
24
|
partition by AIRPORT_ZIP_CODE
|
23
25
|
order by DATETIME_UTC
|
24
|
-
range between interval '
|
26
|
+
range between interval '60 minutes' preceding and current row
|
25
27
|
) RAIN_SUM_60M
|
26
|
-
from AIRPORT_WEATHER_STATION
|
28
|
+
from {database}.{schema}.AIRPORT_WEATHER_STATION
|
27
29
|
"""
|
28
30
|
)
|
29
31
|
|
@@ -37,6 +39,6 @@ def create_draft_feature_view(session: Session, source_dfs: List[DataFrame], sou
|
|
37
39
|
).attach_feature_desc(
|
38
40
|
{
|
39
41
|
"RAIN_SUM_30M": "The sum of rain fall over past 30 minutes for one zipcode.",
|
40
|
-
"RAIN_SUM_60M": "The sum of rain fall over past 1
|
42
|
+
"RAIN_SUM_60M": "The sum of rain fall over past 1 hour for one zipcode.",
|
41
43
|
}
|
42
44
|
)
|
@@ -8,7 +8,9 @@ from snowflake.snowpark import DataFrame, Session
|
|
8
8
|
|
9
9
|
|
10
10
|
# This function will be invoked by example_helper.py. Do not change the name.
|
11
|
-
def create_draft_feature_view(
|
11
|
+
def create_draft_feature_view(
|
12
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
13
|
+
) -> FeatureView:
|
12
14
|
"""Create a feature view about trip station."""
|
13
15
|
query = session.sql(
|
14
16
|
f"""
|
@@ -17,7 +19,7 @@ def create_draft_feature_view(session: Session, source_dfs: List[DataFrame], sou
|
|
17
19
|
count(end_station_id) as f_count,
|
18
20
|
avg(end_station_latitude) as f_avg_latitude,
|
19
21
|
avg(end_station_longitude) as f_avg_longtitude
|
20
|
-
from {source_tables[0]}
|
22
|
+
from {database}.{schema}.{source_tables[0]}
|
21
23
|
group by end_station_id
|
22
24
|
"""
|
23
25
|
)
|
@@ -6,7 +6,9 @@ from snowflake.snowpark import DataFrame, Session, functions as F
|
|
6
6
|
|
7
7
|
|
8
8
|
# This function will be invoked by example_helper.py. Do not change the name.
|
9
|
-
def create_draft_feature_view(
|
9
|
+
def create_draft_feature_view(
|
10
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
11
|
+
) -> FeatureView:
|
10
12
|
"""Create a feature view about trip."""
|
11
13
|
feature_df = source_dfs[0].select(
|
12
14
|
"trip_id",
|
@@ -66,7 +66,9 @@ class ExampleHelper:
|
|
66
66
|
continue
|
67
67
|
mod_path = f"{__package__}.{self._selected_example}.features.{f_name.rstrip('.py')}"
|
68
68
|
mod = importlib.import_module(mod_path)
|
69
|
-
fv = mod.create_draft_feature_view(
|
69
|
+
fv = mod.create_draft_feature_view(
|
70
|
+
self._session, self._source_dfs, self._source_tables, self._database_name, self._dataset_schema
|
71
|
+
)
|
70
72
|
fvs.append(fv)
|
71
73
|
|
72
74
|
return fvs
|
@@ -140,7 +142,7 @@ class ExampleHelper:
|
|
140
142
|
"""
|
141
143
|
).collect()
|
142
144
|
|
143
|
-
return [
|
145
|
+
return [schema_dict["destination_table_name"]]
|
144
146
|
|
145
147
|
def _load_parquet(self, schema_dict: Dict[str, str], temp_stage_name: str) -> List[str]:
|
146
148
|
regex_pattern = schema_dict["load_files_pattern"]
|
@@ -173,13 +175,14 @@ class ExampleHelper:
|
|
173
175
|
dest_table_name = (
|
174
176
|
f"{self._database_name}.{self._dataset_schema}.{schema_dict['destination_table_name']}"
|
175
177
|
)
|
178
|
+
result.append(schema_dict["destination_table_name"])
|
176
179
|
else:
|
177
180
|
regex_pattern = schema_dict["destination_table_name"]
|
178
181
|
dest_table_name = re.match(regex_pattern, file_name).group("table_name") # type: ignore[union-attr]
|
182
|
+
result.append(dest_table_name)
|
179
183
|
dest_table_name = f"{self._database_name}.{self._dataset_schema}.{dest_table_name}"
|
180
184
|
|
181
185
|
df.write.mode("overwrite").save_as_table(dest_table_name)
|
182
|
-
result.append(dest_table_name)
|
183
186
|
|
184
187
|
return result
|
185
188
|
|
@@ -8,7 +8,9 @@ from snowflake.snowpark import DataFrame, Session
|
|
8
8
|
|
9
9
|
|
10
10
|
# This function will be invoked by example_helper.py. Do not change the name.
|
11
|
-
def create_draft_feature_view(
|
11
|
+
def create_draft_feature_view(
|
12
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
13
|
+
) -> FeatureView:
|
12
14
|
"""Create a draft feature view."""
|
13
15
|
feature_df = session.sql(
|
14
16
|
f"""
|
@@ -25,7 +27,7 @@ def create_draft_feature_view(session: Session, source_dfs: List[DataFrame], sou
|
|
25
27
|
order by TPEP_DROPOFF_DATETIME
|
26
28
|
range between interval '10 hours' preceding and current row
|
27
29
|
) AVG_FARE_10h
|
28
|
-
from {source_tables[0]}
|
30
|
+
from {database}.{schema}.{source_tables[0]}
|
29
31
|
"""
|
30
32
|
)
|
31
33
|
|
@@ -6,7 +6,9 @@ from snowflake.snowpark import DataFrame, Session
|
|
6
6
|
|
7
7
|
|
8
8
|
# This function will be invoked by example_helper.py. Do not change the name.
|
9
|
-
def create_draft_feature_view(
|
9
|
+
def create_draft_feature_view(
|
10
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
11
|
+
) -> FeatureView:
|
10
12
|
"""Create a draft feature view."""
|
11
13
|
feature_df = session.sql(
|
12
14
|
f"""
|
@@ -16,7 +18,7 @@ def create_draft_feature_view(session: Session, source_dfs: List[DataFrame], sou
|
|
16
18
|
TRIP_DISTANCE,
|
17
19
|
FARE_AMOUNT
|
18
20
|
from
|
19
|
-
{source_tables[0]}
|
21
|
+
{database}.{schema}.{source_tables[0]}
|
20
22
|
"""
|
21
23
|
)
|
22
24
|
|
@@ -6,7 +6,9 @@ from snowflake.snowpark import DataFrame, Session, functions as F
|
|
6
6
|
|
7
7
|
|
8
8
|
# This function will be invoked by example_helper.py. Do not change the name.
|
9
|
-
def create_draft_feature_view(
|
9
|
+
def create_draft_feature_view(
|
10
|
+
session: Session, source_dfs: List[DataFrame], source_tables: List[str], database: str, schema: str
|
11
|
+
) -> FeatureView:
|
10
12
|
"""Create a feature view about trip station."""
|
11
13
|
feature_df = source_dfs[0].select(
|
12
14
|
"WINE_ID",
|