snowflake-ml-python 1.11.0__tar.gz → 1.13.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 (453) hide show
  1. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/CHANGELOG.md +78 -1
  2. {snowflake_ml_python-1.11.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.13.0}/PKG-INFO +82 -5
  3. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/pyproject.toml +1 -1
  4. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_complete.py +3 -2
  5. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/telemetry.py +3 -1
  6. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/service_logger.py +26 -1
  7. snowflake_ml_python-1.13.0/snowflake/ml/experiment/_client/artifact.py +76 -0
  8. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +64 -1
  9. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/experiment_tracking.py +113 -6
  10. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/feature_store.py +1150 -131
  11. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/feature_view.py +122 -0
  12. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/constants.py +8 -16
  13. snowflake_ml_python-1.13.0/snowflake/ml/jobs/_utils/feature_flags.py +16 -0
  14. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/payload_utils.py +19 -5
  15. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +18 -7
  16. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +23 -5
  17. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/spec_utils.py +4 -6
  18. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/types.py +2 -1
  19. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/job.py +38 -19
  20. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/manager.py +136 -19
  21. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/__init__.py +6 -1
  22. snowflake_ml_python-1.13.0/snowflake/ml/model/_client/model/batch_inference_specs.py +25 -0
  23. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/model/model_version_impl.py +62 -65
  24. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/ops/model_ops.py +42 -9
  25. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/ops/service_ops.py +75 -154
  26. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +23 -37
  27. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +15 -4
  28. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/service.py +4 -0
  29. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +309 -22
  30. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -1
  31. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +5 -0
  32. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +1 -0
  33. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +3 -3
  34. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/snowpark_handler.py +1 -1
  35. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/utils.py +4 -2
  36. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/models/huggingface_pipeline.py +23 -0
  37. snowflake_ml_python-1.13.0/snowflake/ml/model/openai_signatures.py +57 -0
  38. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/estimator_utils.py +43 -1
  39. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +14 -3
  40. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +17 -6
  41. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1 -1
  42. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +1 -1
  43. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +1 -1
  44. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/birch.py +1 -1
  45. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +1 -1
  46. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/dbscan.py +1 -1
  47. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +1 -1
  48. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/k_means.py +1 -1
  49. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/mean_shift.py +1 -1
  50. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +1 -1
  51. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/optics.py +1 -1
  52. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +1 -1
  53. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +1 -1
  54. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +1 -1
  55. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/compose/column_transformer.py +1 -1
  56. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +1 -1
  57. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +1 -1
  58. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +1 -1
  59. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +1 -1
  60. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1 -1
  61. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +1 -1
  62. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/min_cov_det.py +1 -1
  63. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/oas.py +1 -1
  64. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +1 -1
  65. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +1 -1
  66. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +1 -1
  67. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/fast_ica.py +1 -1
  68. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +1 -1
  69. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +1 -1
  70. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +1 -1
  71. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +1 -1
  72. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/pca.py +1 -1
  73. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +1 -1
  74. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +1 -1
  75. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +1 -1
  76. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +1 -1
  77. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1 -1
  78. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -1
  79. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -1
  80. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -1
  81. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +1 -1
  82. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +1 -1
  83. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +1 -1
  84. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +1 -1
  85. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +1 -1
  86. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +1 -1
  87. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +1 -1
  88. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +1 -1
  89. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +1 -1
  90. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +1 -1
  91. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +1 -1
  92. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +1 -1
  93. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +1 -1
  94. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +1 -1
  95. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +1 -1
  96. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +1 -1
  97. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +1 -1
  98. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +1 -1
  99. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +1 -1
  100. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +1 -1
  101. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +1 -1
  102. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +1 -1
  103. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/impute/iterative_imputer.py +1 -1
  104. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/impute/knn_imputer.py +1 -1
  105. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/impute/missing_indicator.py +1 -1
  106. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +1 -1
  107. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +1 -1
  108. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +1 -1
  109. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +1 -1
  110. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +1 -1
  111. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +1 -1
  112. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +1 -1
  113. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +1 -1
  114. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ard_regression.py +1 -1
  115. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +1 -1
  116. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/elastic_net.py +1 -1
  117. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +1 -1
  118. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +1 -1
  119. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +1 -1
  120. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lars.py +1 -1
  121. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lars_cv.py +1 -1
  122. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lasso.py +1 -1
  123. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +1 -1
  124. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +1 -1
  125. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -1
  126. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +1 -1
  127. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/linear_regression.py +1 -1
  128. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +1 -1
  129. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +1 -1
  130. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +1 -1
  131. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1 -1
  132. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +1 -1
  133. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1 -1
  134. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +1 -1
  135. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +1 -1
  136. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
  137. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/perceptron.py +1 -1
  138. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +1 -1
  139. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +1 -1
  140. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ridge.py +1 -1
  141. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +1 -1
  142. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +1 -1
  143. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +1 -1
  144. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +1 -1
  145. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +1 -1
  146. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +1 -1
  147. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +1 -1
  148. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +1 -1
  149. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/manifold/isomap.py +1 -1
  150. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/manifold/mds.py +1 -1
  151. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +1 -1
  152. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/manifold/tsne.py +1 -1
  153. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +1 -1
  154. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +1 -1
  155. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +1 -1
  156. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +1 -1
  157. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +1 -1
  158. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +1 -1
  159. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +1 -1
  160. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +1 -1
  161. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +1 -1
  162. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +1 -1
  163. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +1 -1
  164. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +1 -1
  165. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/kernel_density.py +1 -1
  166. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +1 -1
  167. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +1 -1
  168. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +1 -1
  169. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +1 -1
  170. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +1 -1
  171. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
  172. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +1 -1
  173. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +1 -1
  174. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +1 -1
  175. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +1 -1
  176. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +1 -1
  177. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +1 -1
  178. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/linear_svc.py +1 -1
  179. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/linear_svr.py +1 -1
  180. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/nu_svc.py +1 -1
  181. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/nu_svr.py +1 -1
  182. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/svc.py +1 -1
  183. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/svr.py +1 -1
  184. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +1 -1
  185. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +1 -1
  186. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +1 -1
  187. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +1 -1
  188. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +1 -1
  189. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +1 -1
  190. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +1 -1
  191. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +1 -1
  192. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +91 -6
  193. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +3 -0
  194. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +3 -0
  195. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/model_monitor.py +26 -0
  196. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/version.py +1 -1
  197. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0/snowflake_ml_python.egg-info}/PKG-INFO +82 -5
  198. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake_ml_python.egg-info/SOURCES.txt +4 -0
  199. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake_ml_python.egg-info/requires.txt +3 -3
  200. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/LICENSE.txt +0 -0
  201. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/README.md +0 -0
  202. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/setup.cfg +0 -0
  203. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/__init__.py +0 -0
  204. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_classify_text.py +0 -0
  205. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  206. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_embed_text_768.py +0 -0
  207. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_extract_answer.py +0 -0
  208. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_finetune.py +0 -0
  209. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_sentiment.py +0 -0
  210. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_sse_client.py +0 -0
  211. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_summarize.py +0 -0
  212. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_translate.py +0 -0
  213. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/cortex/_util.py +0 -0
  214. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/env.py +0 -0
  215. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/env_utils.py +0 -0
  216. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  217. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  218. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  219. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  220. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  221. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  222. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  223. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  224. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  225. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/file_utils.py +0 -0
  226. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  227. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  228. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  229. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  230. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/init_utils.py +0 -0
  231. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  232. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  233. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  234. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  235. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/type_utils.py +0 -0
  236. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  237. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  238. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  239. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  240. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  241. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  242. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  243. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  244. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  245. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  246. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/result.py +0 -0
  247. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  248. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  249. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  250. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  251. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  252. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/__init__.py +0 -0
  253. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  254. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/data_connector.py +0 -0
  255. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/data_ingestor.py +0 -0
  256. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/data_source.py +0 -0
  257. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  258. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/data/torch_utils.py +0 -0
  259. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/dataset/__init__.py +0 -0
  260. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/dataset/dataset.py +0 -0
  261. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  262. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  263. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  264. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/__init__.py +0 -0
  265. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  266. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  267. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  268. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  269. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  270. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/callback/keras.py +0 -0
  271. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
  272. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
  273. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/experiment/utils.py +0 -0
  274. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/__init__.py +0 -0
  275. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  276. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/entity.py +0 -0
  277. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  278. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  279. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  280. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  281. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  282. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  283. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  284. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  285. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  286. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  287. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  288. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  289. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  290. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  291. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  292. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  293. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  294. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  295. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  296. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  297. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  298. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  299. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  300. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/fileset/fileset.py +0 -0
  301. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  302. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/fileset/snowfs.py +0 -0
  303. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  304. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/__init__.py +0 -0
  305. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  306. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  307. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/interop_utils.py +0 -0
  308. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  309. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  310. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  311. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  312. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  313. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  314. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/jobs/decorators.py +0 -0
  315. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/lineage/__init__.py +0 -0
  316. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  317. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  318. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  319. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  320. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  321. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  322. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  323. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  324. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  325. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  326. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  327. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  328. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  329. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  330. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  331. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  332. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  333. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  334. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  335. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  336. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  337. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  338. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  339. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  340. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  341. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  342. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  343. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  344. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  345. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  346. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  347. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  348. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  349. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  350. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  351. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  352. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  353. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  354. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  355. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  356. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  357. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  358. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  359. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  360. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  361. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  362. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  363. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/core.py +0 -0
  364. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  365. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  366. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  367. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  368. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  369. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/custom_model.py +0 -0
  370. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/event_handler.py +0 -0
  371. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/inference_engine.py +0 -0
  372. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/model_signature.py +0 -0
  373. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/target_platform.py +0 -0
  374. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/task.py +0 -0
  375. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/model/type_hints.py +0 -0
  376. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  377. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  378. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  379. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  380. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  381. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  382. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  383. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  384. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  385. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  386. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  387. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  388. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  389. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  390. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  391. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  392. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  393. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  394. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  395. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/framework/base.py +0 -0
  396. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  397. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  398. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  399. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  400. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  401. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  402. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  403. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  404. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  405. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  406. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  407. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  408. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  409. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  410. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  411. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  412. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  413. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  414. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  415. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  416. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  417. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  418. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  419. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  420. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  421. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  422. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  423. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  424. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  425. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  426. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  427. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  428. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  429. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  430. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  431. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  432. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  433. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  434. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  435. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  436. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  437. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  438. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  439. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  440. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  441. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  442. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/monitoring/shap.py +0 -0
  443. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/registry/__init__.py +0 -0
  444. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  445. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  446. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/registry/registry.py +0 -0
  447. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/utils/authentication.py +0 -0
  448. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/utils/connection_params.py +0 -0
  449. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/utils/html_utils.py +0 -0
  450. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/utils/sparse.py +0 -0
  451. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake/ml/utils/sql_client.py +0 -0
  452. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  453. {snowflake_ml_python-1.11.0 → snowflake_ml_python-1.13.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,83 @@
1
1
  # Release History
2
2
 
3
- ## 1.11.0
3
+ ## 1.13.0
4
+
5
+ ### Bug Fixes
6
+
7
+ ### Behavior Changes
8
+
9
+ ### New Features
10
+
11
+ * Registry: Log a HuggingFace model without having to load the model in memory using
12
+ the `huggingface_pipeline.HuggingFacePipelineModel`. Requires `huggingface_hub` package to installed.
13
+ To disable downloading HuggingFace repository, provide `download_snapshot=False` while creating the
14
+ `huggingface_pipeline.HuggingFacePipelineModel` object.
15
+ * Registry: Added support for XGBoost models to use `enable_categorical=True` with pandas DataFrame
16
+ * Registry: Added support to display privatelink inference endpoint in ModelVersion list services.
17
+
18
+ ## 1.12.0
19
+
20
+ ### Bug Fixes
21
+
22
+ * Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
23
+ created during structured output deserialization. Now, the original data type is properly preserved.
24
+ * Registry: Fixed the inference server performance issue for wide (500+ features) and JSON inputs.
25
+
26
+ ### Behavior Changes
27
+
28
+ ### New Features
29
+
30
+ * Registry: Add OpenAI chat completion compatible signature option for `text-generation` models.
31
+
32
+ ```python
33
+ from snowflake.ml.model import openai_signatures
34
+ import pandas as pd
35
+
36
+ mv = snowflake_registry.log_model(
37
+ model=generator,
38
+ model_name=...,
39
+ ...,
40
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
41
+ )
42
+
43
+ # create a pd.DataFrame with openai.client.chat.completions arguments like below:
44
+ x_df = pd.DataFrame.from_records(
45
+ [
46
+ {
47
+ "messages": [
48
+ {"role": "system", "content": "Complete the sentence."},
49
+ {
50
+ "role": "user",
51
+ "content": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
52
+ },
53
+ ],
54
+ "max_completion_tokens": 250,
55
+ "temperature": 0.9,
56
+ "stop": None,
57
+ "n": 3,
58
+ "stream": False,
59
+ "top_p": 1.0,
60
+ "frequency_penalty": 0.1,
61
+ "presence_penalty": 0.2,
62
+ }
63
+ ],
64
+ )
65
+
66
+ # OpenAI Chat Completion compatible output
67
+ output_df = mv.run(X=x_df)
68
+ ```
69
+
70
+ * Model Monitoring: Added support for segment columns to enable filtered analysis.
71
+ * Added `segment_columns` parameter to `ModelMonitorSourceConfig` to specify columns for segmenting monitoring data
72
+ * Segment columns must be of STRING type and exist in the source table
73
+ * Added methods to dynamically manage segments:
74
+ * `add_segment_column()`: Add a new segment column to an existing monitor
75
+ * `drop_segment_column()`: Remove a segment column from an existing monitor
76
+ * Experiment Tracking (PrPr): Support for logging artifacts (files and directories) with `log_artifact`
77
+ * Experiment Tracking (PrPr): Support for listing artifacts in a run with `list_artifacts`
78
+ * Experiment Tracking (PrPr): Support for downloading artifacts in a run with `download_artifacts`
79
+
80
+ ## 1.11.0 (08-12-2025)
4
81
 
5
82
  ### Bug Fixes
6
83
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.11.0
3
+ Version: 1.13.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:
@@ -244,17 +244,17 @@ Requires-Dist: numpy<3,>=1.23
244
244
  Requires-Dist: packaging<25,>=20.9
245
245
  Requires-Dist: pandas<3,>=2.1.4
246
246
  Requires-Dist: platformdirs<5
247
- Requires-Dist: pyarrow
247
+ Requires-Dist: pyarrow<19.0.0
248
248
  Requires-Dist: pydantic<3,>=2.8.2
249
249
  Requires-Dist: pyjwt<3,>=2.0.0
250
250
  Requires-Dist: pytimeparse<2,>=1.1.8
251
251
  Requires-Dist: pyyaml<7,>=6.0
252
252
  Requires-Dist: retrying<2,>=1.3.3
253
253
  Requires-Dist: s3fs<2026,>=2024.6.1
254
- Requires-Dist: scikit-learn<1.6
254
+ Requires-Dist: scikit-learn<1.7
255
255
  Requires-Dist: scipy<2,>=1.9
256
256
  Requires-Dist: shap<1,>=0.46.0
257
- Requires-Dist: snowflake-connector-python[pandas]<4,>=3.15.0
257
+ Requires-Dist: snowflake-connector-python[pandas]<4,>=3.16.0
258
258
  Requires-Dist: snowflake-snowpark-python!=1.26.0,<2,>=1.17.0
259
259
  Requires-Dist: snowflake.core<2,>=1.0.2
260
260
  Requires-Dist: sqlparse<1,>=0.4
@@ -410,7 +410,84 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
410
410
 
411
411
  # Release History
412
412
 
413
- ## 1.11.0
413
+ ## 1.13.0
414
+
415
+ ### Bug Fixes
416
+
417
+ ### Behavior Changes
418
+
419
+ ### New Features
420
+
421
+ * Registry: Log a HuggingFace model without having to load the model in memory using
422
+ the `huggingface_pipeline.HuggingFacePipelineModel`. Requires `huggingface_hub` package to installed.
423
+ To disable downloading HuggingFace repository, provide `download_snapshot=False` while creating the
424
+ `huggingface_pipeline.HuggingFacePipelineModel` object.
425
+ * Registry: Added support for XGBoost models to use `enable_categorical=True` with pandas DataFrame
426
+ * Registry: Added support to display privatelink inference endpoint in ModelVersion list services.
427
+
428
+ ## 1.12.0
429
+
430
+ ### Bug Fixes
431
+
432
+ * Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
433
+ created during structured output deserialization. Now, the original data type is properly preserved.
434
+ * Registry: Fixed the inference server performance issue for wide (500+ features) and JSON inputs.
435
+
436
+ ### Behavior Changes
437
+
438
+ ### New Features
439
+
440
+ * Registry: Add OpenAI chat completion compatible signature option for `text-generation` models.
441
+
442
+ ```python
443
+ from snowflake.ml.model import openai_signatures
444
+ import pandas as pd
445
+
446
+ mv = snowflake_registry.log_model(
447
+ model=generator,
448
+ model_name=...,
449
+ ...,
450
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
451
+ )
452
+
453
+ # create a pd.DataFrame with openai.client.chat.completions arguments like below:
454
+ x_df = pd.DataFrame.from_records(
455
+ [
456
+ {
457
+ "messages": [
458
+ {"role": "system", "content": "Complete the sentence."},
459
+ {
460
+ "role": "user",
461
+ "content": "A descendant of the Lost City of Atlantis, who swam to Earth while saying, ",
462
+ },
463
+ ],
464
+ "max_completion_tokens": 250,
465
+ "temperature": 0.9,
466
+ "stop": None,
467
+ "n": 3,
468
+ "stream": False,
469
+ "top_p": 1.0,
470
+ "frequency_penalty": 0.1,
471
+ "presence_penalty": 0.2,
472
+ }
473
+ ],
474
+ )
475
+
476
+ # OpenAI Chat Completion compatible output
477
+ output_df = mv.run(X=x_df)
478
+ ```
479
+
480
+ * Model Monitoring: Added support for segment columns to enable filtered analysis.
481
+ * Added `segment_columns` parameter to `ModelMonitorSourceConfig` to specify columns for segmenting monitoring data
482
+ * Segment columns must be of STRING type and exist in the source table
483
+ * Added methods to dynamically manage segments:
484
+ * `add_segment_column()`: Add a new segment column to an existing monitor
485
+ * `drop_segment_column()`: Remove a segment column from an existing monitor
486
+ * Experiment Tracking (PrPr): Support for logging artifacts (files and directories) with `log_artifact`
487
+ * Experiment Tracking (PrPr): Support for listing artifacts in a run with `list_artifacts`
488
+ * Experiment Tracking (PrPr): Support for downloading artifacts in a run with `download_artifacts`
489
+
490
+ ## 1.11.0 (08-12-2025)
414
491
 
415
492
  ### Bug Fixes
416
493
 
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
8
8
  classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
9
9
  requires-python = ">=3.9, <3.13"
10
10
  dynamic = [ "version", "readme",]
11
- dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<25", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.6", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.15.0,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
11
+ dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<25", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow<19.0.0", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.7", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.16.0,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "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"
@@ -88,7 +88,7 @@ class MidStreamException(Exception):
88
88
  message = reason
89
89
  if http_resp:
90
90
  message = f"Error in stream (HTTP Response: {http_resp.status}) - {http_resp.reason}"
91
- if request_id != "":
91
+ if request_id is not None and request_id != "":
92
92
  # add request_id to error message
93
93
  message += f" (Request ID: {request_id})"
94
94
  super().__init__(message)
@@ -327,7 +327,8 @@ def _return_stream_response(
327
327
  # This is the case of midstream errors which were introduced specifically for structured output.
328
328
  # TODO: discuss during code review
329
329
  if parsed_resp.get("error"):
330
- raise MidStreamException(reason=response.text, request_id=request_id)
330
+ error_info = parsed_resp["error"]
331
+ raise MidStreamException(reason=str(error_info), request_id=request_id)
331
332
  else:
332
333
  pass
333
334
 
@@ -680,8 +680,10 @@ def _extract_arg_value(field: str, func_spec: inspect.FullArgSpec, args: Any, kw
680
680
  elif func_spec.kwonlydefaults and field in func_spec.kwonlyargs:
681
681
  if field in kwargs:
682
682
  return True, kwargs[field]
683
- else:
683
+ elif field in func_spec.kwonlydefaults:
684
684
  return True, func_spec.kwonlydefaults[field]
685
+ else:
686
+ return False, None
685
687
  else:
686
688
  return False, None
687
689
 
@@ -9,8 +9,33 @@ from typing import Optional
9
9
 
10
10
  import platformdirs
11
11
 
12
+
13
+ class ProgressBarAwareConsoleHandler(logging.StreamHandler): # type: ignore[type-arg]
14
+ """A logging handler that adapts to different progress bar systems to avoid interfering with display."""
15
+
16
+ def emit(self, record: logging.LogRecord) -> None:
17
+ try:
18
+ msg = self.format(record)
19
+
20
+ # Check if tqdm progress bars are active - use tqdm.write() to avoid interference
21
+ try:
22
+ import tqdm
23
+
24
+ if hasattr(tqdm.tqdm, "_instances") and tqdm.tqdm._instances:
25
+ tqdm.tqdm.write(msg, file=self.stream)
26
+ return
27
+ except (ImportError, AttributeError):
28
+ pass
29
+
30
+ # Fallback to regular stream writing (works for all contexts including Streamlit)
31
+ self.stream.write(msg + "\n")
32
+ self.flush()
33
+ except Exception:
34
+ self.handleError(record)
35
+
36
+
12
37
  # Module-level logger for operational messages that should appear on console
13
- stdout_handler = logging.StreamHandler(sys.stdout)
38
+ stdout_handler = ProgressBarAwareConsoleHandler(sys.stdout)
14
39
  stdout_handler.setFormatter(logging.Formatter("%(message)s"))
15
40
 
16
41
  console_logger = logging.getLogger(__name__)
@@ -0,0 +1,76 @@
1
+ import os
2
+ import posixpath
3
+ from typing import NamedTuple
4
+
5
+
6
+ class ArtifactInfo(NamedTuple):
7
+ name: str
8
+ size: int
9
+ md5: str
10
+ last_modified: str
11
+
12
+
13
+ def get_put_path_pairs(local_path: str, artifact_path: str) -> list[tuple[str, str]]:
14
+ """Enumerate files to upload and their destination subdirectories.
15
+
16
+ Expands a local path (file or directory) into a list of pairs used for uploading
17
+ artifacts to the stage.
18
+
19
+ Args:
20
+ local_path: Absolute or relative path to a local file or directory to upload.
21
+ artifact_path: Destination subdirectory under the run's artifact root in the
22
+ stage. If empty, files are uploaded to the root. When uploading a
23
+ directory, this value is prepended to each file's relative path.
24
+
25
+ Returns:
26
+ A list of tuples ``(local_file_path, destination_artifact_subdir)``. For a
27
+ single file, the list contains one entry with ``destination_artifact_subdir``
28
+ set to ``artifact_path``. For directories, one entry per file is produced and
29
+ subdirectories are preserved using POSIX separators.
30
+
31
+ Raises:
32
+ FileNotFoundError: If ``local_path`` does not exist.
33
+ """
34
+ if not os.path.exists(local_path):
35
+ raise FileNotFoundError(f"Local path does not exist: {local_path}")
36
+
37
+ if os.path.isfile(local_path):
38
+ return [(local_path, artifact_path)]
39
+
40
+ pairs: list[tuple[str, str]] = []
41
+ base_dir = local_path
42
+ for root, _, files in os.walk(base_dir):
43
+ if not files:
44
+ continue
45
+ rel_dir = os.path.relpath(root, base_dir)
46
+ rel_dir_posix = "" if rel_dir in (".", "") else rel_dir.replace(os.sep, "/")
47
+ dest_artifact_path = posixpath.join(artifact_path, rel_dir_posix) if rel_dir_posix else artifact_path
48
+ for filename in files:
49
+ file_path = os.path.join(root, filename)
50
+ pairs.append((file_path, dest_artifact_path))
51
+ return pairs
52
+
53
+
54
+ def get_download_path_pairs(artifacts: list[ArtifactInfo], base_target_dir: str) -> list[tuple[str, str]]:
55
+ """Given artifact metadata entries, computes where each artifact should be written
56
+ locally.
57
+
58
+ Args:
59
+ artifacts: List of artifact metadata where ``name`` is a POSIX-style path
60
+ relative to the run's artifact root (e.g., ``"file.txt"`` or
61
+ ``"nested/dir/file.txt"``).
62
+ base_target_dir: Local base directory to download into. If empty, the
63
+ current working directory is used. Directories will be created as
64
+ needed.
65
+
66
+ Returns:
67
+ A list of tuples ``(artifact_relative_path, local_directory)``. Each tuple
68
+ provides the relative path to request from the stage and the local directory
69
+ where the file should be written.
70
+ """
71
+ planned: list[tuple[str, str]] = []
72
+ for info in artifacts:
73
+ rel_dir = os.path.dirname(info.name)
74
+ local_dir = base_target_dir if rel_dir in ("", ".") else os.path.join(base_target_dir, rel_dir)
75
+ planned.append((info.name, local_dir))
76
+ return planned
@@ -1,9 +1,10 @@
1
1
  from typing import Optional
2
2
 
3
3
  from snowflake.ml._internal.utils import query_result_checker, sql_identifier
4
+ from snowflake.ml.experiment._client import artifact
4
5
  from snowflake.ml.model._client.sql import _base
5
6
  from snowflake.ml.utils import sql_client
6
- from snowflake.snowpark import row, session
7
+ from snowflake.snowpark import file_operation, row, session
7
8
 
8
9
 
9
10
  class ExperimentTrackingSQLClient(_base._BaseSQLClient):
@@ -88,6 +89,59 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
88
89
  f"ALTER EXPERIMENT {experiment_fqn} MODIFY RUN {run_name} SET METADATA=$${run_metadata}$$",
89
90
  ).has_dimensions(expected_rows=1, expected_cols=1).validate()
90
91
 
92
+ def put_artifact(
93
+ self,
94
+ *,
95
+ experiment_name: sql_identifier.SqlIdentifier,
96
+ run_name: sql_identifier.SqlIdentifier,
97
+ artifact_path: str,
98
+ file_path: str,
99
+ auto_compress: bool = False,
100
+ ) -> file_operation.PutResult:
101
+ return self._session.file.put(
102
+ local_file_name=file_path,
103
+ stage_location=self._build_snow_uri(experiment_name, run_name, artifact_path),
104
+ overwrite=True,
105
+ auto_compress=auto_compress,
106
+ )[0]
107
+
108
+ def list_artifacts(
109
+ self,
110
+ *,
111
+ experiment_name: sql_identifier.SqlIdentifier,
112
+ run_name: sql_identifier.SqlIdentifier,
113
+ artifact_path: str,
114
+ ) -> list[artifact.ArtifactInfo]:
115
+ results = (
116
+ query_result_checker.SqlResultValidator(
117
+ self._session, f"LIST {self._build_snow_uri(experiment_name, run_name, artifact_path)}"
118
+ )
119
+ .has_dimensions(expected_cols=4)
120
+ .validate()
121
+ )
122
+ return [
123
+ artifact.ArtifactInfo(
124
+ name=str(result.name).removeprefix(f"/versions/{run_name}/"),
125
+ size=result.size,
126
+ md5=result.md5,
127
+ last_modified=result.last_modified,
128
+ )
129
+ for result in results
130
+ ]
131
+
132
+ def get_artifact(
133
+ self,
134
+ *,
135
+ experiment_name: sql_identifier.SqlIdentifier,
136
+ run_name: sql_identifier.SqlIdentifier,
137
+ artifact_path: str,
138
+ target_path: str,
139
+ ) -> file_operation.GetResult:
140
+ return self._session.file.get(
141
+ stage_location=self._build_snow_uri(experiment_name, run_name, artifact_path),
142
+ target_directory=target_path,
143
+ )[0]
144
+
91
145
  def show_runs_in_experiment(
92
146
  self, *, experiment_name: sql_identifier.SqlIdentifier, like: Optional[str] = None
93
147
  ) -> list[row.Row]:
@@ -96,3 +150,12 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
96
150
  return query_result_checker.SqlResultValidator(
97
151
  self._session, f"SHOW RUNS {like_clause} IN EXPERIMENT {experiment_fqn}"
98
152
  ).validate()
153
+
154
+ def _build_snow_uri(
155
+ self, experiment_name: sql_identifier.SqlIdentifier, run_name: sql_identifier.SqlIdentifier, artifact_path: str
156
+ ) -> str:
157
+ experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
158
+ uri = f"snow://experiment/{experiment_fqn}/versions/{run_name}"
159
+ if artifact_path:
160
+ uri += f"/{artifact_path}"
161
+ return uri
@@ -5,14 +5,17 @@ from typing import Any, Optional, Union
5
5
  from urllib.parse import quote
6
6
 
7
7
  import snowflake.snowpark._internal.utils as snowpark_utils
8
- from snowflake.ml import model, registry
8
+ from snowflake.ml import model as ml_model, registry
9
9
  from snowflake.ml._internal.human_readable_id import hrid_generator
10
- from snowflake.ml._internal.utils import sql_identifier
10
+ from snowflake.ml._internal.utils import mixins, sql_identifier
11
11
  from snowflake.ml.experiment import (
12
12
  _entities as entities,
13
13
  _experiment_info as experiment_info,
14
14
  )
15
- from snowflake.ml.experiment._client import experiment_tracking_sql_client as sql_client
15
+ from snowflake.ml.experiment._client import (
16
+ artifact,
17
+ experiment_tracking_sql_client as sql_client,
18
+ )
16
19
  from snowflake.ml.model import type_hints
17
20
  from snowflake.ml.utils import sql_client as sql_client_utils
18
21
  from snowflake.snowpark import session
@@ -20,7 +23,7 @@ from snowflake.snowpark import session
20
23
  DEFAULT_EXPERIMENT_NAME = sql_identifier.SqlIdentifier("DEFAULT")
21
24
 
22
25
 
23
- class ExperimentTracking:
26
+ class ExperimentTracking(mixins.SerializableSessionMixin):
24
27
  """
25
28
  Class to manage experiments in Snowflake.
26
29
  """
@@ -70,12 +73,34 @@ class ExperimentTracking:
70
73
  database_name=self._database_name,
71
74
  schema_name=self._schema_name,
72
75
  )
76
+ self._session = session
73
77
 
74
78
  # The experiment in context
75
79
  self._experiment: Optional[entities.Experiment] = None
76
80
  # The run in context
77
81
  self._run: Optional[entities.Run] = None
78
82
 
83
+ def __getstate__(self) -> dict[str, Any]:
84
+ state = super().__getstate__()
85
+ # Remove unpicklable attributes
86
+ state["_sql_client"] = None
87
+ state["_registry"] = None
88
+ return state
89
+
90
+ def __setstate__(self, state: dict[str, Any]) -> None:
91
+ super().__setstate__(state)
92
+ # Restore unpicklable attributes
93
+ self._sql_client = sql_client.ExperimentTrackingSQLClient(
94
+ session=self._session,
95
+ database_name=self._database_name,
96
+ schema_name=self._schema_name,
97
+ )
98
+ self._registry = registry.Registry(
99
+ session=self._session,
100
+ database_name=self._database_name,
101
+ schema_name=self._schema_name,
102
+ )
103
+
79
104
  def set_experiment(
80
105
  self,
81
106
  experiment_name: str,
@@ -118,11 +143,11 @@ class ExperimentTracking:
118
143
  @functools.wraps(registry.Registry.log_model)
119
144
  def log_model(
120
145
  self,
121
- model: Union[type_hints.SupportedModelType, model.ModelVersion],
146
+ model: Union[type_hints.SupportedModelType, ml_model.ModelVersion],
122
147
  *,
123
148
  model_name: str,
124
149
  **kwargs: Any,
125
- ) -> model.ModelVersion:
150
+ ) -> ml_model.ModelVersion:
126
151
  run = self._get_or_start_run()
127
152
  with experiment_info.ExperimentInfoPatcher(experiment_info=run._get_experiment_info()):
128
153
  return self._registry.log_model(model, model_name=model_name, **kwargs)
@@ -280,6 +305,88 @@ class ExperimentTracking:
280
305
  run_metadata=json.dumps(metadata.to_dict()),
281
306
  )
282
307
 
308
+ def log_artifact(
309
+ self,
310
+ local_path: str,
311
+ artifact_path: Optional[str] = None,
312
+ ) -> None:
313
+ """
314
+ Log an artifact or a directory of artifacts under the current run. If no run is active, this method will create
315
+ a new run.
316
+
317
+ Args:
318
+ local_path: The path to the local file or directory to write.
319
+ artifact_path: The directory within the run directory to write the artifacts to. If None, the artifacts will
320
+ be logged in the root directory of the run.
321
+ """
322
+ run = self._get_or_start_run()
323
+ for file_path, dest_artifact_path in artifact.get_put_path_pairs(local_path, artifact_path or ""):
324
+ self._sql_client.put_artifact(
325
+ experiment_name=run.experiment_name,
326
+ run_name=run.name,
327
+ artifact_path=dest_artifact_path,
328
+ file_path=file_path,
329
+ )
330
+
331
+ def list_artifacts(
332
+ self,
333
+ run_name: str,
334
+ artifact_path: Optional[str] = None,
335
+ ) -> list[artifact.ArtifactInfo]:
336
+ """
337
+ List artifacts for a given run within the current experiment.
338
+
339
+ Args:
340
+ run_name: Name of the run to list artifacts from.
341
+ artifact_path: Optional subdirectory within the run's artifact directory to scope the listing.
342
+ If None, lists from the root of the run's artifact directory.
343
+
344
+ Returns:
345
+ A list of artifact entries under the specified path.
346
+
347
+ Raises:
348
+ RuntimeError: If no experiment is currently set.
349
+ """
350
+ if not self._experiment:
351
+ raise RuntimeError("No experiment set. Please set an experiment before listing artifacts.")
352
+
353
+ return self._sql_client.list_artifacts(
354
+ experiment_name=self._experiment.name,
355
+ run_name=sql_identifier.SqlIdentifier(run_name),
356
+ artifact_path=artifact_path or "",
357
+ )
358
+
359
+ def download_artifacts(
360
+ self,
361
+ run_name: str,
362
+ artifact_path: Optional[str] = None,
363
+ target_path: Optional[str] = None,
364
+ ) -> None:
365
+ """
366
+ Download artifacts from a run to a local directory.
367
+
368
+ Args:
369
+ run_name: Name of the run to download artifacts from.
370
+ artifact_path: Optional path to file or subdirectory within the run's artifact directory to download.
371
+ If None, downloads all artifacts from the root of the run's artifact directory.
372
+ target_path: Optional local directory to download files into. If None, downloads into the
373
+ current working directory.
374
+
375
+ Raises:
376
+ RuntimeError: If no experiment is currently set.
377
+ """
378
+ if not self._experiment:
379
+ raise RuntimeError("No experiment set. Please set an experiment before downloading artifacts.")
380
+
381
+ artifacts = self.list_artifacts(run_name=run_name, artifact_path=artifact_path or "")
382
+ for relative_path, local_dir in artifact.get_download_path_pairs(artifacts, target_path or ""):
383
+ self._sql_client.get_artifact(
384
+ experiment_name=self._experiment.name,
385
+ run_name=sql_identifier.SqlIdentifier(run_name),
386
+ artifact_path=relative_path,
387
+ target_path=local_dir,
388
+ )
389
+
283
390
  def _get_or_set_experiment(self) -> entities.Experiment:
284
391
  if self._experiment:
285
392
  return self._experiment