snowflake-ml-python 1.6.4__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.
Files changed (407) hide show
  1. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/CHANGELOG.md +68 -1
  2. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/PKG-INFO +75 -9
  3. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/README.md +1 -1
  4. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/pyproject.toml +5 -5
  5. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/telemetry.py +4 -2
  6. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/import_utils.py +31 -0
  7. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +13 -0
  8. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/_internal/arrow_ingestor.py +8 -0
  9. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_connector.py +1 -1
  10. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/torch_utils.py +33 -14
  11. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +5 -3
  12. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +7 -5
  13. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +4 -2
  14. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +3 -1
  15. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/example_helper.py +6 -3
  16. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +4 -2
  17. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +4 -2
  18. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +3 -1
  19. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +3 -1
  20. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/feature_store.py +1 -2
  21. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/feature_view.py +5 -1
  22. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/model/model_version_impl.py +144 -10
  23. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/model_ops.py +25 -6
  24. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/service_ops.py +33 -28
  25. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +19 -8
  26. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -1
  27. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/model.py +14 -0
  28. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_composer.py +2 -0
  29. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +4 -0
  30. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +1 -0
  31. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +1 -1
  32. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +5 -1
  33. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +3 -6
  34. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/custom.py +2 -0
  35. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +10 -1
  36. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +3 -6
  37. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +8 -1
  38. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -6
  39. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +7 -65
  40. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +10 -40
  41. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_packager.py +0 -11
  42. snowflake_ml_python-1.6.4/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
  43. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/pandas_handler.py +16 -0
  44. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/custom_model.py +47 -7
  45. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/model_signature.py +2 -0
  46. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/type_hints.py +8 -0
  47. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/estimator_utils.py +13 -0
  48. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +7 -2
  49. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +16 -5
  50. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +8 -2
  51. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +9 -3
  52. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1 -8
  53. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +17 -19
  54. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/dbscan.py +5 -2
  55. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +7 -19
  56. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/k_means.py +14 -19
  57. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -3
  58. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/optics.py +6 -6
  59. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +4 -3
  60. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/column_transformer.py +15 -5
  61. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +7 -6
  62. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +1 -1
  63. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1 -1
  64. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/min_cov_det.py +2 -2
  65. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/oas.py +1 -1
  66. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +2 -2
  67. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +5 -12
  68. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +5 -12
  69. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/pca.py +28 -15
  70. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +6 -0
  71. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1 -12
  72. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -11
  73. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -8
  74. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -8
  75. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +21 -2
  76. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +18 -2
  77. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +2 -0
  78. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +2 -0
  79. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +21 -8
  80. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +21 -11
  81. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +21 -2
  82. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +18 -2
  83. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +2 -1
  84. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +5 -3
  85. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +2 -2
  86. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ard_regression.py +5 -10
  87. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +5 -11
  88. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/elastic_net.py +3 -0
  89. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +1 -1
  90. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lars.py +0 -10
  91. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -11
  92. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +1 -1
  93. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -10
  94. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -11
  95. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -10
  96. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +28 -22
  97. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +30 -24
  98. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1 -1
  99. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1 -1
  100. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +4 -13
  101. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +4 -4
  102. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
  103. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/perceptron.py +3 -3
  104. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +3 -2
  105. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +14 -6
  106. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +17 -11
  107. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +2 -2
  108. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +5 -1
  109. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +12 -3
  110. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/isomap.py +1 -1
  111. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/mds.py +3 -3
  112. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/tsne.py +10 -4
  113. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/classification.py +12 -16
  114. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/ranking.py +3 -3
  115. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/regression.py +3 -3
  116. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +3 -3
  117. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +3 -3
  118. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +3 -3
  119. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +3 -3
  120. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +10 -4
  121. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -2
  122. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +2 -2
  123. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +7 -14
  124. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +1 -1
  125. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +6 -1
  126. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
  127. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +7 -1
  128. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +3 -0
  129. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/pipeline/pipeline.py +16 -14
  130. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +8 -4
  131. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +9 -7
  132. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/linear_svc.py +25 -16
  133. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/linear_svr.py +23 -17
  134. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/nu_svc.py +5 -3
  135. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/nu_svr.py +3 -1
  136. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/svc.py +9 -5
  137. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/svr.py +3 -1
  138. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +21 -2
  139. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +18 -2
  140. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +28 -9
  141. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +18 -2
  142. snowflake_ml_python-1.6.4/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
  143. {snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring/_manager}/model_monitor_manager.py +9 -8
  144. {snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring}/model_monitor.py +3 -3
  145. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/_manager/model_manager.py +15 -1
  146. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/registry.py +15 -8
  147. snowflake_ml_python-1.7.0/snowflake/ml/version.py +1 -0
  148. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/PKG-INFO +75 -9
  149. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -5
  150. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/requires.txt +4 -4
  151. snowflake_ml_python-1.6.4/snowflake/ml/version.py +0 -1
  152. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/LICENSE.txt +0 -0
  153. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/setup.cfg +0 -0
  154. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/__init__.py +0 -0
  155. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_classify_text.py +0 -0
  156. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_complete.py +0 -0
  157. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  158. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_embed_text_768.py +0 -0
  159. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_extract_answer.py +0 -0
  160. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_sentiment.py +0 -0
  161. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_sse_client.py +0 -0
  162. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_summarize.py +0 -0
  163. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_translate.py +0 -0
  164. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/cortex/_util.py +0 -0
  165. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/env.py +0 -0
  166. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/env_utils.py +0 -0
  167. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  168. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  169. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  170. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  171. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  172. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  173. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  174. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  175. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  176. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/file_utils.py +0 -0
  177. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  178. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  179. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  180. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  181. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/init_utils.py +0 -0
  182. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  183. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  184. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/type_utils.py +0 -0
  185. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  186. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  187. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  188. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  189. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  190. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  191. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/result.py +0 -0
  192. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/retryable_http.py +0 -0
  193. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  194. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  195. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  196. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  197. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  198. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_ingestor.py +0 -0
  199. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/data_source.py +0 -0
  200. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  201. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/__init__.py +0 -0
  202. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset.py +0 -0
  203. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  204. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  205. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  206. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/__init__.py +0 -0
  207. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  208. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/entity.py +0 -0
  209. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  210. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  211. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  212. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  213. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  214. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  215. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  216. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  217. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  218. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  219. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  220. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  221. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  222. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  223. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/fileset.py +0 -0
  224. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/parquet_parser.py +0 -0
  225. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  226. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/snowfs.py +0 -0
  227. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  228. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/tf_dataset.py +0 -0
  229. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/fileset/torch_datapipe.py +0 -0
  230. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/lineage/__init__.py +0 -0
  231. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  232. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/__init__.py +0 -0
  233. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  234. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  235. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  236. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  237. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/service.py +0 -0
  238. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  239. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  240. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  241. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  242. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  243. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  244. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  245. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  246. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  247. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  248. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  249. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  250. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  251. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  252. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -0
  253. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  254. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  255. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  256. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  257. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  258. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  259. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  260. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  261. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  262. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  263. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/core.py +0 -0
  264. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  265. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  266. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  267. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  268. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  269. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
  270. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/constants.py +0 -0
  271. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  272. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +0 -0
  273. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_trainer.py +0 -0
  274. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  275. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  276. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  277. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  278. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  279. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  280. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  281. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  282. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  283. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  284. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  285. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  286. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  287. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  288. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  289. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  290. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  291. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  292. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  293. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  294. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  295. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  296. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  297. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  298. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  299. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  300. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  301. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  302. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  303. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  304. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  305. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  306. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  307. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  308. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  309. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  310. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  311. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  312. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  313. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  314. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  315. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  316. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  317. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/framework/base.py +0 -0
  318. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  319. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  320. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  321. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  322. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  323. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  324. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  325. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  326. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  327. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  328. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  329. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  330. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  331. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  332. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  333. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  334. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  335. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  336. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  337. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  338. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  339. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  340. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  341. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  342. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  343. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  344. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  345. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  346. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  347. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  348. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  349. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  350. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  351. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  352. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  353. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  354. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  355. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  356. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  357. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  358. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  359. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  360. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  361. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  362. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  363. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  364. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  365. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  366. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  367. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  368. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  369. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  370. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  371. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  372. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  373. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  374. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  375. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  376. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  377. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  378. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  379. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  380. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  381. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  382. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  383. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  384. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  385. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  386. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  387. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  388. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  389. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  390. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  391. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  392. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  393. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  394. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  395. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  396. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  397. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  398. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/model_monitor_interval.py +0 -0
  399. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/entities/output_score_type.py +0 -0
  400. {snowflake_ml_python-1.6.4/snowflake/ml/monitoring/_client → snowflake_ml_python-1.7.0/snowflake/ml/monitoring}/model_monitor_version.py +0 -0
  401. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/monitoring/shap.py +0 -0
  402. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/registry/__init__.py +0 -0
  403. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/connection_params.py +0 -0
  404. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/sparse.py +0 -0
  405. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake/ml/utils/sql_client.py +0 -0
  406. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  407. {snowflake_ml_python-1.6.4 → snowflake_ml_python-1.7.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,70 @@
1
1
  # Release History
2
2
 
3
- ## 1.6.4
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)
4
68
 
5
69
  ### Bug Fixes
6
70
 
@@ -18,6 +82,9 @@
18
82
  - Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
19
83
  - Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
20
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.
21
88
 
22
89
  ### New Features
23
90
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-ml-python
3
- Version: 1.6.4
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.8
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.2.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<2.1,>=1.7.3
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.42.0; extra == "all"
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.42.0; extra == "shap"
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.8 to 3.11 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
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,71 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
373
372
 
374
373
  # Release History
375
374
 
376
- ## 1.6.4
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)
377
440
 
378
441
  ### Bug Fixes
379
442
 
@@ -391,6 +454,9 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
391
454
  - Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
392
455
  - Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
393
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.
394
460
 
395
461
  ### New Features
396
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.8 to 3.11 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
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.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
- requires-python = ">=3.8, <3.12"
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.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",]
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.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",]
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.42.0,<1",]
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 e
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.suppress_source_trace:
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
@@ -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 = 1, shuffle: bool = False, drop_last_batch: bool = True
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 = 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
- # Basic preprocessing on batch values: squeeze away extra dimensions
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, squeeze_outputs=False)
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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 '1 day' preceding and current row
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 day for one zipcode.",
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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(self._session, self._source_dfs, self._source_tables)
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 [destination_table]
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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(session: Session, source_dfs: List[DataFrame], source_tables: List[str]) -> FeatureView:
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",