snowflake-ml-python 1.12.0__tar.gz → 1.14.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.12.0 → snowflake_ml_python-1.14.0}/CHANGELOG.md +26 -0
  2. {snowflake_ml_python-1.12.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.14.0}/PKG-INFO +27 -1
  3. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/telemetry.py +3 -1
  4. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/experiment_tracking.py +24 -2
  5. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/constants.py +1 -1
  6. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +16 -4
  7. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/job.py +17 -6
  8. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/manager.py +60 -11
  9. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/lineage/lineage_node.py +0 -1
  10. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +3 -5
  11. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/model/model_version_impl.py +6 -20
  12. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/ops/model_ops.py +49 -9
  13. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/ops/service_ops.py +66 -34
  14. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +3 -0
  15. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
  16. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/service.py +1 -0
  17. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +103 -21
  18. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +5 -0
  19. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +1 -0
  20. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/models/huggingface_pipeline.py +23 -0
  21. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +47 -3
  22. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +3 -0
  23. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +3 -0
  24. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/model_monitor.py +30 -0
  25. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/version.py +1 -1
  26. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0/snowflake_ml_python.egg-info}/PKG-INFO +27 -1
  27. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/LICENSE.txt +0 -0
  28. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/README.md +0 -0
  29. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/pyproject.toml +0 -0
  30. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/setup.cfg +0 -0
  31. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/__init__.py +0 -0
  32. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_classify_text.py +0 -0
  33. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_complete.py +0 -0
  34. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  35. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_embed_text_768.py +0 -0
  36. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_extract_answer.py +0 -0
  37. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_finetune.py +0 -0
  38. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_sentiment.py +0 -0
  39. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_sse_client.py +0 -0
  40. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_summarize.py +0 -0
  41. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_translate.py +0 -0
  42. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/cortex/_util.py +0 -0
  43. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/env.py +0 -0
  44. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/env_utils.py +0 -0
  45. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  46. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  47. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  48. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  49. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  50. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  51. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  52. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  53. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  54. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/file_utils.py +0 -0
  55. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  56. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  57. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  58. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  59. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/init_utils.py +0 -0
  60. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  61. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  62. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  63. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  64. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/type_utils.py +0 -0
  65. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  66. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  67. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  68. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  69. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  70. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  71. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  72. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  73. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  74. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  75. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/result.py +0 -0
  76. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  77. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  78. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  79. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  80. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  81. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  82. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/__init__.py +0 -0
  83. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  84. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/data_connector.py +0 -0
  85. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/data_ingestor.py +0 -0
  86. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/data_source.py +0 -0
  87. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  88. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/data/torch_utils.py +0 -0
  89. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/dataset/__init__.py +0 -0
  90. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/dataset/dataset.py +0 -0
  91. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  92. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  93. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  94. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/__init__.py +0 -0
  95. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  96. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
  97. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  98. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  99. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  100. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  101. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  102. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/callback/keras.py +0 -0
  103. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
  104. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
  105. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/experiment/utils.py +0 -0
  106. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/__init__.py +0 -0
  107. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  108. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/entity.py +0 -0
  109. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  110. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  111. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  112. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  113. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  114. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  115. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  116. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  117. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  118. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  119. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  120. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  121. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  122. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  123. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  124. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  125. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  126. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  127. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  128. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  129. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  130. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  131. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/feature_store.py +0 -0
  132. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/feature_store/feature_view.py +0 -0
  133. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  134. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/fileset/fileset.py +0 -0
  135. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  136. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/fileset/snowfs.py +0 -0
  137. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  138. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/__init__.py +0 -0
  139. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  140. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
  141. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  142. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/interop_utils.py +0 -0
  143. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
  144. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  145. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  146. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  147. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  148. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  149. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  150. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/spec_utils.py +0 -0
  151. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  152. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/_utils/types.py +0 -0
  153. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/jobs/decorators.py +0 -0
  154. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/lineage/__init__.py +0 -0
  155. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/__init__.py +0 -0
  156. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  157. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  158. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  159. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  160. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  161. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  162. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  163. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  164. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  165. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  166. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  167. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  168. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  169. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  170. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  171. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  172. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  173. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  174. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  175. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  176. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  177. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  178. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  179. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  180. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  181. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  182. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  183. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  184. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  185. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  186. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  187. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  188. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  189. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  190. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  191. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  192. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  193. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  194. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  195. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  196. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  197. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  198. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  199. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  200. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  201. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  202. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  203. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  204. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/core.py +0 -0
  205. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  206. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  207. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  208. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  209. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  210. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  211. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  212. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/custom_model.py +0 -0
  213. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/event_handler.py +0 -0
  214. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/inference_engine.py +0 -0
  215. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/model_signature.py +0 -0
  216. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/openai_signatures.py +0 -0
  217. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/target_platform.py +0 -0
  218. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/task.py +0 -0
  219. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/model/type_hints.py +0 -0
  220. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  221. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  222. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  223. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  224. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  225. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  226. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  227. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  228. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  229. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  230. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  231. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  232. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  233. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  234. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  235. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  236. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  237. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  238. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  239. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  240. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  241. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  242. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  243. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  244. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  245. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  246. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  247. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  248. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  249. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  250. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  251. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  252. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  253. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  254. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  255. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  256. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  257. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  258. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  259. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  260. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  261. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  262. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  263. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  264. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  265. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  266. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  267. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  268. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  269. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  270. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  271. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  272. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  273. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  274. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  275. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  276. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  277. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  278. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  279. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  280. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  281. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  282. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  283. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  284. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  285. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  286. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  287. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  288. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  289. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  290. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  291. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  292. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  293. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  294. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  295. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  296. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  297. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  298. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  299. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  300. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  301. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  302. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/framework/base.py +0 -0
  303. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  304. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  305. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  306. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  307. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  308. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  309. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  310. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  311. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  312. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  313. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  314. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  315. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  316. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  317. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  318. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  319. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  320. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  321. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  322. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  323. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  324. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  325. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  326. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  327. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  328. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  329. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  330. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  331. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  332. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  333. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  334. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  335. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  336. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  337. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  338. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  339. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  340. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  341. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  342. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  343. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  344. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  345. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  346. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  347. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  348. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  349. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  350. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  351. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  352. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  353. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  354. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  355. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  356. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  357. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  358. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  359. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  360. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  361. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  362. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  363. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  364. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  365. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  366. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  367. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  368. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  369. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  370. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  371. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  372. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  373. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  374. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  375. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  376. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  377. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  378. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  379. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  380. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  381. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  382. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  383. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  384. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  385. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  386. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  387. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  388. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  389. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  390. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  391. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  392. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  393. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  394. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  395. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  396. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  397. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  398. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  399. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  400. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  401. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  402. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  403. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  404. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  405. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  406. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  407. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  408. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  409. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  410. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  411. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  412. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  413. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  414. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  415. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  416. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  417. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  418. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  419. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  420. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  421. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  422. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  423. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  424. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  425. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  426. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  427. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  428. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  429. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  430. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  431. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  432. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  433. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  434. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  435. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  436. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  437. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  438. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  439. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  440. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/monitoring/shap.py +0 -0
  441. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/registry/__init__.py +0 -0
  442. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  443. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  444. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/registry/registry.py +0 -0
  445. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/utils/authentication.py +0 -0
  446. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/utils/connection_params.py +0 -0
  447. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/utils/html_utils.py +0 -0
  448. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/utils/sparse.py +0 -0
  449. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake/ml/utils/sql_client.py +0 -0
  450. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
  451. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  452. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
  453. {snowflake_ml_python-1.12.0 → snowflake_ml_python-1.14.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,11 +1,37 @@
1
1
  # Release History
2
2
 
3
+ ## 1.14.0
4
+
5
+ ### Bug Fixes
6
+
7
+ ### Behavior Changes
8
+
9
+ ### New Features
10
+
11
+ * ML Job: The `additional_payloads` argument is now **deprecated** in favor of `imports`.
12
+
13
+ ## 1.13.0
14
+
15
+ ### Bug Fixes
16
+
17
+ ### Behavior Changes
18
+
19
+ ### New Features
20
+
21
+ * Registry: Log a HuggingFace model without having to load the model in memory using
22
+ the `huggingface_pipeline.HuggingFacePipelineModel`. Requires `huggingface_hub` package to installed.
23
+ To disable downloading HuggingFace repository, provide `download_snapshot=False` while creating the
24
+ `huggingface_pipeline.HuggingFacePipelineModel` object.
25
+ * Registry: Added support for XGBoost models to use `enable_categorical=True` with pandas DataFrame
26
+ * Registry: Added support to display privatelink inference endpoint in ModelVersion list services.
27
+
3
28
  ## 1.12.0
4
29
 
5
30
  ### Bug Fixes
6
31
 
7
32
  * Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
8
33
  created during structured output deserialization. Now, the original data type is properly preserved.
34
+ * Registry: Fixed the inference server performance issue for wide (500+ features) and JSON inputs.
9
35
 
10
36
  ### Behavior Changes
11
37
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.12.0
3
+ Version: 1.14.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:
@@ -410,12 +410,38 @@ 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.14.0
414
+
415
+ ### Bug Fixes
416
+
417
+ ### Behavior Changes
418
+
419
+ ### New Features
420
+
421
+ * ML Job: The `additional_payloads` argument is now **deprecated** in favor of `imports`.
422
+
423
+ ## 1.13.0
424
+
425
+ ### Bug Fixes
426
+
427
+ ### Behavior Changes
428
+
429
+ ### New Features
430
+
431
+ * Registry: Log a HuggingFace model without having to load the model in memory using
432
+ the `huggingface_pipeline.HuggingFacePipelineModel`. Requires `huggingface_hub` package to installed.
433
+ To disable downloading HuggingFace repository, provide `download_snapshot=False` while creating the
434
+ `huggingface_pipeline.HuggingFacePipelineModel` object.
435
+ * Registry: Added support for XGBoost models to use `enable_categorical=True` with pandas DataFrame
436
+ * Registry: Added support to display privatelink inference endpoint in ModelVersion list services.
437
+
413
438
  ## 1.12.0
414
439
 
415
440
  ### Bug Fixes
416
441
 
417
442
  * Registry: Fixed an issue where the string representation of dictionary-type output columns was being incorrectly
418
443
  created during structured output deserialization. Now, the original data type is properly preserved.
444
+ * Registry: Fixed the inference server performance issue for wide (500+ features) and JSON inputs.
419
445
 
420
446
  ### Behavior Changes
421
447
 
@@ -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
 
@@ -7,7 +7,7 @@ from urllib.parse import quote
7
7
  import snowflake.snowpark._internal.utils as snowpark_utils
8
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,
@@ -23,7 +23,7 @@ from snowflake.snowpark import session
23
23
  DEFAULT_EXPERIMENT_NAME = sql_identifier.SqlIdentifier("DEFAULT")
24
24
 
25
25
 
26
- class ExperimentTracking:
26
+ class ExperimentTracking(mixins.SerializableSessionMixin):
27
27
  """
28
28
  Class to manage experiments in Snowflake.
29
29
  """
@@ -73,12 +73,34 @@ class ExperimentTracking:
73
73
  database_name=self._database_name,
74
74
  schema_name=self._schema_name,
75
75
  )
76
+ self._session = session
76
77
 
77
78
  # The experiment in context
78
79
  self._experiment: Optional[entities.Experiment] = None
79
80
  # The run in context
80
81
  self._run: Optional[entities.Run] = None
81
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
+
82
104
  def set_experiment(
83
105
  self,
84
106
  experiment_name: str,
@@ -25,7 +25,7 @@ RESULT_PATH_DEFAULT_VALUE = f"{OUTPUT_STAGE_SUBPATH}/mljob_result.pkl"
25
25
  DEFAULT_IMAGE_REPO = "/snowflake/images/snowflake_images"
26
26
  DEFAULT_IMAGE_CPU = "st_plat/runtime/x86/runtime_image/snowbooks"
27
27
  DEFAULT_IMAGE_GPU = "st_plat/runtime/x86/generic_gpu/runtime_image/snowbooks"
28
- DEFAULT_IMAGE_TAG = "1.6.2"
28
+ DEFAULT_IMAGE_TAG = "1.8.0"
29
29
  DEFAULT_ENTRYPOINT_PATH = "func.py"
30
30
 
31
31
  # Percent of container memory to allocate for /dev/shm volume
@@ -234,10 +234,6 @@ def run_script(script_path: str, *script_args: Any, main_func: Optional[str] = N
234
234
  if payload_dir and payload_dir not in sys.path:
235
235
  sys.path.insert(0, payload_dir)
236
236
 
237
- # Create a Snowpark session before running the script
238
- # Session can be retrieved from using snowflake.snowpark.context.get_active_session()
239
- session = Session.builder.configs(SnowflakeLoginOptions()).create() # noqa: F841
240
-
241
237
  try:
242
238
 
243
239
  if main_func:
@@ -287,6 +283,19 @@ def main(script_path: str, *script_args: Any, script_main_func: Optional[str] =
287
283
  output_dir = os.path.dirname(result_abs_path)
288
284
  os.makedirs(output_dir, exist_ok=True)
289
285
 
286
+ try:
287
+ import ray
288
+
289
+ ray.init(address="auto")
290
+ except ModuleNotFoundError:
291
+ warnings.warn("Ray is not installed, skipping Ray initialization", ImportWarning, stacklevel=1)
292
+
293
+ # Create a Snowpark session before starting
294
+ # Session can be retrieved from using snowflake.snowpark.context.get_active_session()
295
+ config = SnowflakeLoginOptions()
296
+ config["client_session_keep_alive"] = "True"
297
+ session = Session.builder.configs(config).create() # noqa: F841
298
+
290
299
  try:
291
300
  # Wait for minimum required instances if specified
292
301
  min_instances_str = os.environ.get(MIN_INSTANCES_ENV_VAR) or "1"
@@ -342,6 +351,9 @@ def main(script_path: str, *script_args: Any, script_main_func: Optional[str] =
342
351
  f"Failed to serialize JSON result to {result_json_path}: {json_exc}", RuntimeWarning, stacklevel=1
343
352
  )
344
353
 
354
+ # Close the session after serializing the result
355
+ session.close()
356
+
345
357
 
346
358
  if __name__ == "__main__":
347
359
  # Parse command line arguments
@@ -50,7 +50,7 @@ class MLJob(Generic[T], SerializableSessionMixin):
50
50
  def min_instances(self) -> int:
51
51
  try:
52
52
  return int(self._container_spec["env"].get(constants.MIN_INSTANCES_ENV_VAR, 1))
53
- except TypeError:
53
+ except (TypeError, ValueError):
54
54
  return 1
55
55
 
56
56
  @property
@@ -83,7 +83,12 @@ class MLJob(Generic[T], SerializableSessionMixin):
83
83
  def _container_spec(self) -> dict[str, Any]:
84
84
  """Get the job's main container spec."""
85
85
  containers = self._service_spec["spec"]["containers"]
86
- container_spec = next(c for c in containers if c["name"] == constants.DEFAULT_CONTAINER_NAME)
86
+ if len(containers) == 1:
87
+ return cast(dict[str, Any], containers[0])
88
+ try:
89
+ container_spec = next(c for c in containers if c["name"] == constants.DEFAULT_CONTAINER_NAME)
90
+ except StopIteration:
91
+ raise ValueError(f"Container '{constants.DEFAULT_CONTAINER_NAME}' not found in job {self.name}")
87
92
  return cast(dict[str, Any], container_spec)
88
93
 
89
94
  @property
@@ -160,7 +165,7 @@ class MLJob(Generic[T], SerializableSessionMixin):
160
165
  Returns:
161
166
  The job's execution logs.
162
167
  """
163
- logs = _get_logs(self._session, self.id, limit, instance_id, verbose)
168
+ logs = _get_logs(self._session, self.id, limit, instance_id, self._container_spec["name"], verbose)
164
169
  assert isinstance(logs, str) # mypy
165
170
  if as_list:
166
171
  return logs.splitlines()
@@ -278,7 +283,12 @@ def _get_service_spec(session: snowpark.Session, job_id: str) -> dict[str, Any]:
278
283
 
279
284
  @telemetry.send_api_usage_telemetry(project=_PROJECT, func_params_to_log=["job_id", "limit", "instance_id"])
280
285
  def _get_logs(
281
- session: snowpark.Session, job_id: str, limit: int = -1, instance_id: Optional[int] = None, verbose: bool = True
286
+ session: snowpark.Session,
287
+ job_id: str,
288
+ limit: int = -1,
289
+ instance_id: Optional[int] = None,
290
+ container_name: str = constants.DEFAULT_CONTAINER_NAME,
291
+ verbose: bool = True,
282
292
  ) -> str:
283
293
  """
284
294
  Retrieve the job's execution logs.
@@ -288,6 +298,7 @@ def _get_logs(
288
298
  limit: The maximum number of lines to return. Negative values are treated as no limit.
289
299
  session: The Snowpark session to use. If none specified, uses active session.
290
300
  instance_id: Optional instance ID to get logs from a specific instance.
301
+ container_name: The container name to get logs from a specific container.
291
302
  verbose: Whether to return the full log or just the portion between START and END messages.
292
303
 
293
304
  Returns:
@@ -308,7 +319,7 @@ def _get_logs(
308
319
  params: list[Any] = [
309
320
  job_id,
310
321
  0 if instance_id is None else instance_id,
311
- constants.DEFAULT_CONTAINER_NAME,
322
+ container_name,
312
323
  ]
313
324
  if limit > 0:
314
325
  params.append(limit)
@@ -334,7 +345,7 @@ def _get_logs(
334
345
  job_id,
335
346
  limit=limit,
336
347
  instance_id=instance_id if instance_id else 0,
337
- container_name=constants.DEFAULT_CONTAINER_NAME,
348
+ container_name=container_name,
338
349
  )
339
350
  full_log = os.linesep.join(row[0] for row in logs)
340
351
 
@@ -58,7 +58,8 @@ def list_jobs(
58
58
  >>> from snowflake.ml.jobs import list_jobs
59
59
  >>> list_jobs(limit=5)
60
60
  """
61
- session = session or get_active_session()
61
+
62
+ session = _ensure_session(session)
62
63
  try:
63
64
  df = _get_job_history_spcs(
64
65
  session,
@@ -162,7 +163,7 @@ def _get_job_history_spcs(
162
163
  @telemetry.send_api_usage_telemetry(project=_PROJECT)
163
164
  def get_job(job_id: str, session: Optional[snowpark.Session] = None) -> jb.MLJob[Any]:
164
165
  """Retrieve a job service from the backend."""
165
- session = session or get_active_session()
166
+ session = _ensure_session(session)
166
167
  try:
167
168
  database, schema, job_name = identifier.parse_schema_level_object_identifier(job_id)
168
169
  database = identifier.resolve_identifier(cast(str, database or session.get_current_database()))
@@ -231,6 +232,7 @@ def submit_file(
231
232
  enable_metrics (bool): Whether to enable metrics publishing for the job.
232
233
  query_warehouse (str): The query warehouse to use. Defaults to session warehouse.
233
234
  spec_overrides (dict): A dictionary of overrides for the service spec.
235
+ imports (list[Union[tuple[str, str], tuple[str]]]): A list of additional payloads used in the job.
234
236
 
235
237
  Returns:
236
238
  An object representing the submitted job.
@@ -285,6 +287,7 @@ def submit_directory(
285
287
  enable_metrics (bool): Whether to enable metrics publishing for the job.
286
288
  query_warehouse (str): The query warehouse to use. Defaults to session warehouse.
287
289
  spec_overrides (dict): A dictionary of overrides for the service spec.
290
+ imports (list[Union[tuple[str, str], tuple[str]]]): A list of additional payloads used in the job.
288
291
 
289
292
  Returns:
290
293
  An object representing the submitted job.
@@ -340,6 +343,7 @@ def submit_from_stage(
340
343
  enable_metrics (bool): Whether to enable metrics publishing for the job.
341
344
  query_warehouse (str): The query warehouse to use. Defaults to session warehouse.
342
345
  spec_overrides (dict): A dictionary of overrides for the service spec.
346
+ imports (list[Union[tuple[str, str], tuple[str]]]): A list of additional payloads used in the job.
343
347
 
344
348
  Returns:
345
349
  An object representing the submitted job.
@@ -403,6 +407,8 @@ def _submit_job(
403
407
  "num_instances", # deprecated
404
408
  "target_instances",
405
409
  "min_instances",
410
+ "enable_metrics",
411
+ "query_warehouse",
406
412
  ],
407
413
  )
408
414
  def _submit_job(
@@ -434,8 +440,10 @@ def _submit_job(
434
440
 
435
441
  Raises:
436
442
  ValueError: If database or schema value(s) are invalid
443
+ RuntimeError: If schema is not specified in session context or job submission
444
+ snowpark.exceptions.SnowparkSQLException: if failed to upload payload
437
445
  """
438
- session = session or get_active_session()
446
+ session = _ensure_session(session)
439
447
 
440
448
  # Check for deprecated args
441
449
  if "num_instances" in kwargs:
@@ -444,6 +452,13 @@ def _submit_job(
444
452
  )
445
453
  target_instances = max(target_instances, kwargs.pop("num_instances"))
446
454
 
455
+ imports = None
456
+ if "additional_payloads" in kwargs:
457
+ logger.warning(
458
+ "'additional_payloads' is deprecated and will be removed in a future release. Use 'imports' instead."
459
+ )
460
+ imports = kwargs.pop("additional_payloads")
461
+
447
462
  # Use kwargs for less common optional parameters
448
463
  database = kwargs.pop("database", None)
449
464
  schema = kwargs.pop("schema", None)
@@ -454,10 +469,7 @@ def _submit_job(
454
469
  spec_overrides = kwargs.pop("spec_overrides", None)
455
470
  enable_metrics = kwargs.pop("enable_metrics", True)
456
471
  query_warehouse = kwargs.pop("query_warehouse", session.get_current_warehouse())
457
- additional_payloads = kwargs.pop("additional_payloads", None)
458
-
459
- if additional_payloads:
460
- logger.warning("'additional_payloads' is in private preview since 1.9.1. Do not use it in production.")
472
+ imports = kwargs.pop("imports", None) or imports
461
473
 
462
474
  # Warn if there are unknown kwargs
463
475
  if kwargs:
@@ -486,10 +498,33 @@ def _submit_job(
486
498
  stage_name = f"@{'.'.join(filter(None, stage_path_parts[:3]))}"
487
499
  stage_path = pathlib.PurePosixPath(f"{stage_name}{stage_path_parts[-1].rstrip('/')}/{job_name}")
488
500
 
489
- # Upload payload
490
- uploaded_payload = payload_utils.JobPayload(
491
- source, entrypoint=entrypoint, pip_requirements=pip_requirements, additional_payloads=additional_payloads
492
- ).upload(session, stage_path)
501
+ try:
502
+ # Upload payload
503
+ uploaded_payload = payload_utils.JobPayload(
504
+ source, entrypoint=entrypoint, pip_requirements=pip_requirements, additional_payloads=imports
505
+ ).upload(session, stage_path)
506
+ except snowpark.exceptions.SnowparkSQLException as e:
507
+ if e.sql_error_code == 90106:
508
+ raise RuntimeError(
509
+ "Please specify a schema, either in the session context or as a parameter in the job submission"
510
+ )
511
+ raise
512
+
513
+ # FIXME: Temporary patches, remove this after v1 is deprecated
514
+ if target_instances > 1:
515
+ default_spec_overrides = {
516
+ "spec": {
517
+ "endpoints": [
518
+ {"name": "ray-dashboard-endpoint", "port": 12003, "protocol": "TCP"},
519
+ ]
520
+ },
521
+ }
522
+ if spec_overrides:
523
+ spec_overrides = spec_utils.merge_patch(
524
+ default_spec_overrides, spec_overrides, display_name="spec_overrides"
525
+ )
526
+ else:
527
+ spec_overrides = default_spec_overrides
493
528
 
494
529
  if feature_flags.FeatureFlags.USE_SUBMIT_JOB_V2.is_enabled():
495
530
  # Add default env vars (extracted from spec_utils.generate_service_spec)
@@ -651,3 +686,17 @@ def _do_submit_job_v2(
651
686
  actual_job_id = query_helper.run_query(session, query_template, params=params)[0][0]
652
687
 
653
688
  return get_job(actual_job_id, session=session)
689
+
690
+
691
+ def _ensure_session(session: Optional[snowpark.Session]) -> snowpark.Session:
692
+ try:
693
+ session = session or get_active_session()
694
+ except snowpark.exceptions.SnowparkSessionException as e:
695
+ if "More than one active session" in e.message:
696
+ raise RuntimeError(
697
+ "More than one active session is found. Please specify the session explicitly as a parameter"
698
+ ) from None
699
+ if "No default Session is found" in e.message:
700
+ raise RuntimeError("No active session is found. Please create a session") from None
701
+ raise
702
+ return session
@@ -83,7 +83,6 @@ class LineageNode(mixins.SerializableSessionMixin):
83
83
  raise NotImplementedError()
84
84
 
85
85
  @telemetry.send_api_usage_telemetry(project=_PROJECT)
86
- @snowpark._internal.utils.private_preview(version="1.5.3")
87
86
  def lineage(
88
87
  self,
89
88
  direction: Literal["upstream", "downstream"] = "downstream",
@@ -4,14 +4,11 @@ from pydantic import BaseModel
4
4
 
5
5
 
6
6
  class InputSpec(BaseModel):
7
- input_stage_location: str
8
- input_file_pattern: str = "*"
7
+ stage_location: str
9
8
 
10
9
 
11
10
  class OutputSpec(BaseModel):
12
- output_stage_location: str
13
- output_file_prefix: Optional[str] = None
14
- completion_filename: str = "_SUCCESS"
11
+ stage_location: str
15
12
 
16
13
 
17
14
  class JobSpec(BaseModel):
@@ -25,3 +22,4 @@ class JobSpec(BaseModel):
25
22
  warehouse: Optional[str] = None
26
23
  cpu_requests: Optional[str] = None
27
24
  memory_requests: Optional[str] = None
25
+ replicas: Optional[int] = None
@@ -590,11 +590,12 @@ class ModelVersion(lineage_node.LineageNode):
590
590
  cpu_requests=job_spec.cpu_requests,
591
591
  memory_requests=job_spec.memory_requests,
592
592
  job_name=job_name,
593
+ replicas=job_spec.replicas,
593
594
  # input and output
594
- input_stage_location=input_spec.input_stage_location,
595
- input_file_pattern=input_spec.input_file_pattern,
596
- output_stage_location=output_spec.output_stage_location,
597
- completion_filename=output_spec.completion_filename,
595
+ input_stage_location=input_spec.stage_location,
596
+ input_file_pattern="*",
597
+ output_stage_location=output_spec.stage_location,
598
+ completion_filename="_SUCCESS",
598
599
  # misc
599
600
  statement_params=statement_params,
600
601
  )
@@ -787,7 +788,7 @@ class ModelVersion(lineage_node.LineageNode):
787
788
  inference_engine_args: service_ops.InferenceEngineArgs,
788
789
  gpu_requests: Optional[Union[str, int]] = None,
789
790
  ) -> Optional[service_ops.InferenceEngineArgs]:
790
- """Enrich inference engine args with model path and tensor parallelism settings.
791
+ """Enrich inference engine args with tensor parallelism settings.
791
792
 
792
793
  Args:
793
794
  inference_engine_args: The original inference engine args
@@ -802,21 +803,6 @@ class ModelVersion(lineage_node.LineageNode):
802
803
  if inference_engine_args.inference_engine_args_override is None:
803
804
  inference_engine_args.inference_engine_args_override = []
804
805
 
805
- # Get model stage path and strip off "snow://" prefix
806
- model_stage_path = self._model_ops.get_model_version_stage_path(
807
- database_name=None,
808
- schema_name=None,
809
- model_name=self._model_name,
810
- version_name=self._version_name,
811
- )
812
-
813
- # Strip "snow://" prefix
814
- if model_stage_path.startswith("snow://"):
815
- model_stage_path = model_stage_path.replace("snow://", "", 1)
816
-
817
- # Always overwrite the model key by appending
818
- inference_engine_args.inference_engine_args_override.append(f"--model={model_stage_path}")
819
-
820
806
  gpu_count = None
821
807
 
822
808
  # Set tensor-parallelism if gpu_requests is specified
@@ -47,6 +47,8 @@ class ServiceInfo(TypedDict):
47
47
  class ModelOperator:
48
48
  INFERENCE_SERVICE_ENDPOINT_NAME = "inference"
49
49
  INGRESS_ENDPOINT_URL_SUFFIX = "snowflakecomputing.app"
50
+ # app-service-privatelink might not contain "snowflakecomputing" in the url - using the minimum required substring
51
+ PRIVATELINK_INGRESS_ENDPOINT_URL_SUBSTRING = "privatelink.snowflake"
50
52
 
51
53
  def __init__(
52
54
  self,
@@ -612,6 +614,36 @@ class ModelOperator:
612
614
  statement_params=statement_params,
613
615
  )
614
616
 
617
+ def _is_privatelink_connection(self) -> bool:
618
+ """Detect if the current session is using a privatelink connection."""
619
+ try:
620
+ host = self._session.connection.host
621
+ return ModelOperator.PRIVATELINK_INGRESS_ENDPOINT_URL_SUBSTRING in host
622
+ except AttributeError:
623
+ return False
624
+
625
+ def _extract_and_validate_ingress_url(self, res_row: "row.Row") -> Optional[str]:
626
+ """Extract and validate ingress URL from endpoint row."""
627
+ url_value = res_row[self._service_client.MODEL_INFERENCE_SERVICE_ENDPOINT_INGRESS_URL_COL_NAME]
628
+ if url_value is None:
629
+ return None
630
+ url_str = str(url_value)
631
+ return url_str if url_str.endswith(ModelOperator.INGRESS_ENDPOINT_URL_SUFFIX) else None
632
+
633
+ def _extract_and_validate_privatelink_url(self, res_row: "row.Row") -> Optional[str]:
634
+ """Extract and validate privatelink ingress URL from endpoint row."""
635
+ # Check if the privatelink_ingress_url column exists
636
+ col_name = self._service_client.MODEL_INFERENCE_SERVICE_ENDPOINT_PRIVATELINK_INGRESS_URL_COL_NAME
637
+ if col_name not in res_row:
638
+ # Column doesn't exist in query result for non-Business Critical accounts
639
+ return None
640
+
641
+ url_value = res_row[col_name]
642
+ if url_value is None:
643
+ return None
644
+ url_str = str(url_value)
645
+ return url_str if ModelOperator.PRIVATELINK_INGRESS_ENDPOINT_URL_SUBSTRING in url_str else None
646
+
615
647
  def show_services(
616
648
  self,
617
649
  *,
@@ -644,8 +676,10 @@ class ModelOperator:
644
676
  fully_qualified_service_names = [str(service) for service in json_array if "MODEL_BUILD_" not in service]
645
677
 
646
678
  result: list[ServiceInfo] = []
679
+ is_privatelink_connection = self._is_privatelink_connection()
680
+
647
681
  for fully_qualified_service_name in fully_qualified_service_names:
648
- ingress_url: Optional[str] = None
682
+ inference_endpoint: Optional[str] = None
649
683
  db, schema, service_name = sql_identifier.parse_fully_qualified_name(fully_qualified_service_name)
650
684
  statuses = self._service_client.get_service_container_statuses(
651
685
  database_name=db, schema_name=schema, service_name=service_name, statement_params=statement_params
@@ -659,17 +693,23 @@ class ModelOperator:
659
693
  ):
660
694
  if (
661
695
  res_row[self._service_client.MODEL_INFERENCE_SERVICE_ENDPOINT_NAME_COL_NAME]
662
- == self.INFERENCE_SERVICE_ENDPOINT_NAME
663
- and res_row[self._service_client.MODEL_INFERENCE_SERVICE_ENDPOINT_INGRESS_URL_COL_NAME] is not None
696
+ != self.INFERENCE_SERVICE_ENDPOINT_NAME
664
697
  ):
665
- ingress_url = str(
666
- res_row[self._service_client.MODEL_INFERENCE_SERVICE_ENDPOINT_INGRESS_URL_COL_NAME]
667
- )
668
- if not ingress_url.endswith(ModelOperator.INGRESS_ENDPOINT_URL_SUFFIX):
669
- ingress_url = None
698
+ continue
699
+
700
+ ingress_url = self._extract_and_validate_ingress_url(res_row)
701
+ privatelink_ingress_url = self._extract_and_validate_privatelink_url(res_row)
702
+
703
+ if is_privatelink_connection and privatelink_ingress_url is not None:
704
+ inference_endpoint = privatelink_ingress_url
705
+ else:
706
+ inference_endpoint = ingress_url
707
+
670
708
  result.append(
671
709
  ServiceInfo(
672
- name=fully_qualified_service_name, status=service_status.value, inference_endpoint=ingress_url
710
+ name=fully_qualified_service_name,
711
+ status=service_status.value,
712
+ inference_endpoint=inference_endpoint,
673
713
  )
674
714
  )
675
715