snowflake-ml-python 2.2.0__tar.gz → 2.3.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 (554) hide show
  1. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/CHANGELOG.md +28 -10
  2. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/PKG-INFO +29 -11
  3. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/experiment_tracking.py +30 -17
  4. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/tile_sql_generator.py +40 -31
  5. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/job.py +19 -3
  6. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/model_ops.py +253 -6
  7. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/model.py +11 -3
  8. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/_manager/model_manager.py +78 -0
  9. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/version.py +1 -1
  10. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/PKG-INFO +29 -11
  11. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/LICENSE.txt +0 -0
  12. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/README.md +0 -0
  13. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/pyproject.toml +0 -0
  14. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/setup.cfg +0 -0
  15. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/__init__.py +0 -0
  16. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_classify_text.py +0 -0
  17. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_complete.py +0 -0
  18. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  19. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_embed_text_768.py +0 -0
  20. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_extract_answer.py +0 -0
  21. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_finetune.py +0 -0
  22. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_sentiment.py +0 -0
  23. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_sse_client.py +0 -0
  24. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_summarize.py +0 -0
  25. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_translate.py +0 -0
  26. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/cortex/_util.py +0 -0
  27. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/env.py +0 -0
  28. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/env_utils.py +0 -0
  29. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  30. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  31. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  32. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  33. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  34. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  35. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  36. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  37. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  38. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/file_utils.py +0 -0
  39. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  40. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  41. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  42. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  43. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/init_utils.py +0 -0
  44. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  45. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  46. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  47. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  48. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/telemetry.py +0 -0
  49. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/type_utils.py +0 -0
  50. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  51. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  52. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  53. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  54. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  55. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  56. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  57. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  58. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  59. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  60. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/result.py +0 -0
  61. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  62. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  63. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  64. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  65. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  66. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/tee.py +0 -0
  67. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  68. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/_internal/utils/url.py +0 -0
  69. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/__init__.py +0 -0
  70. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  71. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/data_connector.py +0 -0
  72. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/data_ingestor.py +0 -0
  73. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/data_source.py +0 -0
  74. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  75. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/data/torch_utils.py +0 -0
  76. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/__init__.py +0 -0
  77. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/dataset.py +0 -0
  78. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  79. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  80. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  81. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/__init__.py +0 -0
  82. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  83. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
  84. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  85. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  86. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  87. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  88. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  89. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
  90. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
  91. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
  92. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/_source_info.py +0 -0
  93. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/callback/keras.py +0 -0
  94. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
  95. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
  96. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/experiment/utils.py +0 -0
  97. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/__init__.py +0 -0
  98. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
  99. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  100. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/aggregation.py +0 -0
  101. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/entity.py +0 -0
  102. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  103. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  104. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  105. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  106. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  107. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  108. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  109. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  110. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  111. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  112. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  113. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  114. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  115. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  116. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  117. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  118. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  119. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  120. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  121. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  122. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  123. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  124. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature.py +0 -0
  125. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_group.py +0 -0
  126. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_store.py +0 -0
  127. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_view.py +0 -0
  128. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
  129. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
  130. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
  131. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
  132. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/online_service.py +0 -0
  133. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
  134. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
  135. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
  136. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
  137. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/realtime_registration.py +0 -0
  138. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/request_source.py +0 -0
  139. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
  140. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
  141. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
  142. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/models.py +0 -0
  143. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
  144. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/stream_config.py +0 -0
  145. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/stream_source.py +0 -0
  146. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
  147. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  148. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/fileset.py +0 -0
  149. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  150. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/snowfs.py +0 -0
  151. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  152. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/__init__.py +0 -0
  153. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  154. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
  155. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
  156. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
  157. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
  158. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
  159. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/results.py +0 -0
  160. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
  161. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  162. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
  163. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
  164. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
  165. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
  166. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  167. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  168. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
  169. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  170. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  171. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
  172. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  173. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
  174. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
  175. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  176. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  177. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
  178. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/decorators.py +0 -0
  179. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/job_definition.py +0 -0
  180. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/jobs/manager.py +0 -0
  181. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/lineage/__init__.py +0 -0
  182. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  183. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/__init__.py +0 -0
  184. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
  185. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -0
  186. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
  187. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
  188. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  189. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/model_version_impl.py +0 -0
  190. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model/telemetry_params.py +0 -0
  191. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
  192. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
  193. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +0 -0
  194. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
  195. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
  196. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
  197. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
  198. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  199. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
  200. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
  201. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/ops/service_ops.py +0 -0
  202. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
  203. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
  204. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  205. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
  206. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  207. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  208. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/service.py +0 -0
  209. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  210. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  211. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
  212. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  213. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  214. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  215. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  216. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  217. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  218. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
  219. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  220. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
  221. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  222. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
  223. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  224. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
  225. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  226. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  227. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  228. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  229. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  230. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  231. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  232. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
  233. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
  234. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +0 -0
  235. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
  236. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
  237. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
  238. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
  239. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
  240. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
  241. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
  242. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
  243. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
  244. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
  245. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
  246. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
  247. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
  248. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
  249. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
  250. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
  251. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
  252. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
  253. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
  254. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
  255. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
  256. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
  257. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
  258. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
  259. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
  260. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
  261. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
  262. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
  263. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
  264. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  265. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  266. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  267. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
  268. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
  269. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  270. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  271. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  272. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  273. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  274. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  275. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  276. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  277. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  278. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  279. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  280. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  281. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  282. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  283. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  284. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
  285. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  286. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  287. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  288. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  289. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  290. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  291. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
  292. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  293. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  294. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  295. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/core.py +0 -0
  296. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  297. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  298. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  299. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  300. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  301. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  302. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  303. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
  304. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/code_path.py +0 -0
  305. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/compute_pool.py +0 -0
  306. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/custom_model.py +0 -0
  307. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/event_handler.py +0 -0
  308. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/inference_engine.py +0 -0
  309. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/model_signature.py +0 -0
  310. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/models/huggingface.py +0 -0
  311. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
  312. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/openai_signatures.py +0 -0
  313. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/target_platform.py +0 -0
  314. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/task.py +0 -0
  315. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/type_hints.py +0 -0
  316. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/model/volatility.py +0 -0
  317. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  318. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  319. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  320. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  321. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  322. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  323. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  324. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/optional_dependency.py +0 -0
  325. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  326. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  327. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  328. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  329. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  330. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  331. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  332. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  333. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  334. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  335. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  336. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  337. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  338. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  339. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  340. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  341. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  342. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  343. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  344. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  345. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  346. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  347. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  348. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  349. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  350. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  351. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  352. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  353. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  354. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  355. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  356. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  357. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  358. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  359. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  360. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  361. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  362. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  363. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  364. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  365. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  366. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  367. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  368. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  369. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  370. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  371. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  372. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  373. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  374. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  375. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  376. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  377. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  378. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  379. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  380. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  381. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  382. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  383. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  384. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  385. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  386. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  387. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  388. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  389. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  390. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  391. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  392. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  393. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  394. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  395. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  396. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  397. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  398. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  399. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  400. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/framework/base.py +0 -0
  401. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  402. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  403. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  404. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  405. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  406. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  407. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  408. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  409. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  410. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  411. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  412. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  413. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  414. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  415. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  416. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  417. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  418. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  419. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  420. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  421. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  422. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  423. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  424. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  425. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  426. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  427. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  428. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  429. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  430. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  431. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  432. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  433. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  434. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  435. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  436. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  437. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  438. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  439. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  440. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  441. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  442. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  443. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  444. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  445. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  446. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  447. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  448. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  449. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  450. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  451. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  452. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  453. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  454. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  455. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  456. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  457. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  458. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  459. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  460. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  461. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  462. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  463. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  464. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  465. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  466. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  467. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  468. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  469. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  470. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  471. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  472. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  473. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  474. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  475. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  476. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  477. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  478. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  479. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  480. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  481. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  482. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  483. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  484. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  485. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  486. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  487. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  488. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  489. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  490. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  491. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  492. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  493. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  494. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  495. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  496. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  497. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  498. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  499. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  500. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  501. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  502. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  503. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  504. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  505. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  506. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  507. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  508. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  509. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  510. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  511. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  512. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  513. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  514. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  515. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  516. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  517. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  518. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  519. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  520. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  521. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  522. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  523. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  524. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  525. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  526. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  527. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  528. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  529. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  530. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  531. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  532. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  533. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  534. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  535. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
  536. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  537. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  538. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
  539. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  540. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  541. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  542. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/monitoring/shap.py +0 -0
  543. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/__init__.py +0 -0
  544. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  545. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/registry/registry.py +0 -0
  546. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/authentication.py +0 -0
  547. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/html_utils.py +0 -0
  548. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/sparse.py +0 -0
  549. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/sql_client.py +0 -0
  550. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake/ml/utils/stage_file.py +0 -0
  551. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
  552. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  553. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
  554. {snowflake_ml_python-2.2.0 → snowflake_ml_python-2.3.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,24 @@
1
1
  # Release History
2
2
 
3
- ## 2.2.0
3
+ ## 2.3.0
4
+
5
+ ### New Features
6
+
7
+ * Experiment Tracking: `ExperimentTracking` accepts an optional `model_registry` parameter. When provided,
8
+ `log_model` stores models in the registry's database and schema instead of the experiment's, so experiments
9
+ and models can live in separate schemas.
10
+
11
+ ### Bug Fixes
12
+
13
+ * Feature Store: Offline reads of a feature view with several list aggregations or several secondary-key
14
+ aggregation windows used to return incomplete results in some scenarios. The bug has been fixed
15
+ and the existing feature views pick up the fix on their next read, with no re-registration or backfill required.
16
+
17
+ ### Behavior Changes
18
+
19
+ ### Deprecations
20
+
21
+ ## 2.2.0 (2026-09-21)
4
22
 
5
23
  ### New Features
6
24
 
@@ -14,8 +32,17 @@
14
32
 
15
33
  ### Bug Fixes
16
34
 
35
+ * Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
36
+ executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
37
+ `EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
38
+ primary role is not the owner.
39
+
17
40
  ### Behavior Changes
18
41
 
42
+ * Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
43
+ installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
44
+ in `snowflake.ml.modeling.preprocessing` already requires that extra.
45
+
19
46
  ### Deprecations
20
47
 
21
48
  ## 2.1.0 (2026-09-14)
@@ -37,21 +64,12 @@
37
64
 
38
65
  ### Bug Fixes
39
66
 
40
- * Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
41
- executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
42
- `EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
43
- primary role is not the owner.
44
-
45
67
  * Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
46
68
  now re-logged from the scikit-learn estimator using the serialization format it was saved with,
47
69
  instead of from MLflow's PyFunc wrapper with the version-dependent default format.
48
70
 
49
71
  ### Behavior Changes
50
72
 
51
- * Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
52
- installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
53
- in `snowflake.ml.modeling.preprocessing` already requires that extra.
54
-
55
73
  ### Deprecations
56
74
 
57
75
  ## 2.0.0 (2026-09-09)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 2.2.0
3
+ Version: 2.3.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:
@@ -424,7 +424,25 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
424
424
 
425
425
  # Release History
426
426
 
427
- ## 2.2.0
427
+ ## 2.3.0
428
+
429
+ ### New Features
430
+
431
+ * Experiment Tracking: `ExperimentTracking` accepts an optional `model_registry` parameter. When provided,
432
+ `log_model` stores models in the registry's database and schema instead of the experiment's, so experiments
433
+ and models can live in separate schemas.
434
+
435
+ ### Bug Fixes
436
+
437
+ * Feature Store: Offline reads of a feature view with several list aggregations or several secondary-key
438
+ aggregation windows used to return incomplete results in some scenarios. The bug has been fixed
439
+ and the existing feature views pick up the fix on their next read, with no re-registration or backfill required.
440
+
441
+ ### Behavior Changes
442
+
443
+ ### Deprecations
444
+
445
+ ## 2.2.0 (2026-09-21)
428
446
 
429
447
  ### New Features
430
448
 
@@ -438,8 +456,17 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
438
456
 
439
457
  ### Bug Fixes
440
458
 
459
+ * Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
460
+ executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
461
+ `EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
462
+ primary role is not the owner.
463
+
441
464
  ### Behavior Changes
442
465
 
466
+ * Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
467
+ installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
468
+ in `snowflake.ml.modeling.preprocessing` already requires that extra.
469
+
443
470
  ### Deprecations
444
471
 
445
472
  ## 2.1.0 (2026-09-14)
@@ -461,21 +488,12 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
461
488
 
462
489
  ### Bug Fixes
463
490
 
464
- * Registry: `ModelVersion.load()` now compares the model owner to `CURRENT_ROLE()` (the role that
465
- executes SQL) instead of `Session.get_current_role()`. Owner's-rights Streamlit apps and
466
- `EXECUTE AS OWNER` procedures can load when statements run as the owner even if the caller's
467
- primary role is not the owner.
468
-
469
491
  * Registry: Fixed logging of MLflow models created with `mlflow.sklearn.save_model()`. The model is
470
492
  now re-logged from the scikit-learn estimator using the serialization format it was saved with,
471
493
  instead of from MLflow's PyFunc wrapper with the version-dependent default format.
472
494
 
473
495
  ### Behavior Changes
474
496
 
475
- * Dependencies: `scipy` is no longer a required dependency of `snowflake-ml-python`. It is still
476
- installed transitively with `pip install snowflake-ml-python[scikit-learn]`. Direct `scipy` usage
477
- in `snowflake.ml.modeling.preprocessing` already requires that extra.
478
-
479
497
  ### Deprecations
480
498
 
481
499
  ## 2.0.0 (2026-09-09)
@@ -52,6 +52,7 @@ class ExperimentTracking:
52
52
  database_name: str | None = None,
53
53
  schema_name: str | None = None,
54
54
  capture_source_info: bool = True,
55
+ model_registry: registry.Registry | None = None,
55
56
  ) -> None:
56
57
  """
57
58
  Initializes experiment tracking within a pre-created schema.
@@ -68,6 +69,12 @@ class ExperimentTracking:
68
69
  of the enclosing ML job when running inside one. Set to False to skip collection
69
70
  entirely. Collection is always non-fatal and never blocks run creation. Defaults to
70
71
  True.
72
+ model_registry: An optional Registry instance to use for ``log_model``. When provided,
73
+ models are logged to the database and schema owned by this registry instead of the
74
+ experiment's database and schema. This is useful when the experiment lives in one
75
+ schema (e.g. ``analytics.experiments``) but models should be stored in another
76
+ (e.g. ``ml.models``). If None, models are logged to the same location as the
77
+ experiment. Defaults to None.
71
78
 
72
79
  Raises:
73
80
  ValueError: If no database is provided and no active database exists in the session.
@@ -109,11 +116,7 @@ class ExperimentTracking:
109
116
  database_name=self._database_name,
110
117
  schema_name=self._schema_name,
111
118
  )
112
- self._registry = registry.Registry(
113
- session=session,
114
- database_name=self._database_name,
115
- schema_name=self._schema_name,
116
- )
119
+ self._registry = model_registry
117
120
  self._session = session
118
121
 
119
122
  # The experiment in context
@@ -139,7 +142,10 @@ class ExperimentTracking:
139
142
  else:
140
143
  state = dict(self.__dict__)
141
144
 
142
- # Remove unpicklable attributes
145
+ # Remove unpicklable attributes; save registry coordinates for reconstruction.
146
+ if self._registry is not None:
147
+ state["_registry_database_name"] = self._registry._database_name
148
+ state["_registry_schema_name"] = self._registry._schema_name
143
149
  state["_session"] = None
144
150
  state["_sql_client"] = None
145
151
  state["_registry"] = None
@@ -168,11 +174,14 @@ class ExperimentTracking:
168
174
  database_name=self._database_name,
169
175
  schema_name=self._schema_name,
170
176
  )
171
- self._registry = registry.Registry(
172
- session=self._session,
173
- database_name=self._database_name,
174
- schema_name=self._schema_name,
175
- )
177
+ registry_db = state.pop("_registry_database_name", None)
178
+ registry_schema = state.pop("_registry_schema_name", None)
179
+ if registry_db is not None:
180
+ self._registry = registry.Registry(
181
+ session=self._session,
182
+ database_name=registry_db,
183
+ schema_name=registry_schema,
184
+ )
176
185
  if self._run:
177
186
  self._patch_stdout_and_stderr()
178
187
  # _patch_stdout_and_stderr sets _logging_context if live logging is enabled
@@ -277,8 +286,17 @@ class ExperimentTracking:
277
286
  **kwargs: Any,
278
287
  ) -> ml_model.ModelVersion:
279
288
  run = self._get_or_start_run()
289
+ target_registry = (
290
+ self._registry
291
+ if self._registry is not None
292
+ else registry.Registry(
293
+ session=self._session,
294
+ database_name=self._database_name,
295
+ schema_name=self._schema_name,
296
+ )
297
+ )
280
298
  with experiment_info.ExperimentInfoPatcher(experiment_info=run._get_experiment_info()):
281
- return self._registry.log_model(model, model_name=model_name, **kwargs)
299
+ return target_registry.log_model(model, model_name=model_name, **kwargs)
282
300
 
283
301
  def list_model_versions(self, run_name: str | None = None) -> list[ml_model.ModelVersion]:
284
302
  """
@@ -784,11 +802,6 @@ class ExperimentTracking:
784
802
  database_name=database_name,
785
803
  schema_name=schema_name,
786
804
  )
787
- self._registry = registry.Registry(
788
- session=self._session,
789
- database_name=database_name,
790
- schema_name=schema_name,
791
- )
792
805
 
793
806
  def _print_urls(
794
807
  self,
@@ -1143,6 +1143,34 @@ class MergingSqlGenerator:
1143
1143
 
1144
1144
  return cte_name, cte_body.strip()
1145
1145
 
1146
+ def _left_join_subqueries_on_bounds(self, subqueries: list[tuple[str, list[str]]]) -> str:
1147
+ """LEFT JOIN each per-subquery result onto the unique (entity, boundary) rows.
1148
+
1149
+ Driving from UNIQUE_BOUNDS rather than from the first subquery keeps row
1150
+ presence independent of any single window or feature: each subquery applies
1151
+ its own row-level filter, so one with no qualifying tiles must contribute
1152
+ NULLs for its own columns instead of dropping the entity from the CTE and
1153
+ taking every other subquery's results with it.
1154
+
1155
+ Args:
1156
+ subqueries: One (subquery_sql, output_columns) pair per window group or
1157
+ feature. Each subquery must be grouped by the join keys plus
1158
+ TILE_BOUNDARY so the joins stay one-to-one.
1159
+
1160
+ Returns:
1161
+ SQL string selecting the join keys plus every subquery's output columns.
1162
+ """
1163
+ group_by_cols = list(self._join_keys) + [_TILE_BOUNDARY_COL]
1164
+ projected = [f"UB.{col}" for col in group_by_cols]
1165
+ for index, (_, output_cols) in enumerate(subqueries):
1166
+ projected.extend(f"sq{index}.{col}" for col in output_cols)
1167
+
1168
+ result = f"SELECT {', '.join(projected)}\n FROM UNIQUE_BOUNDS_FV{self._fv_index} UB"
1169
+ for index, (query, _) in enumerate(subqueries):
1170
+ join_cond = " AND ".join(f"UB.{col} = sq{index}.{col}" for col in group_by_cols)
1171
+ result += f"\n LEFT JOIN {query} sq{index}\n ON {join_cond}"
1172
+ return result
1173
+
1146
1174
  def _generate_secondary_key_merged_cte(self) -> tuple[str, str]:
1147
1175
  """Generate the CTE for secondary-key aggregations.
1148
1176
 
@@ -1315,22 +1343,13 @@ class MergingSqlGenerator:
1315
1343
  if len(subqueries) == 1:
1316
1344
  cte_body = subqueries[0][2].strip()
1317
1345
  else:
1318
- # Multiple (sk, window) groups — LEFT JOIN on (entity_keys, boundary).
1319
- _, _, first_query = subqueries[0]
1320
- projected: list[str] = [f"sq0.{col}" for col in group_by_cols]
1321
- projected.append(f"sq0.{subqueries[0][0]}")
1322
- for col in subqueries[0][1]:
1323
- projected.append(f"sq0.{col}")
1324
- for i, (keys_col, value_cols, _) in enumerate(subqueries[1:], 1):
1325
- projected.append(f"sq{i}.{keys_col}")
1326
- for col in value_cols:
1327
- projected.append(f"sq{i}.{col}")
1328
-
1329
- result = f"SELECT {', '.join(projected)}\n FROM {first_query} sq0"
1330
- for i, (_, _, query) in enumerate(subqueries[1:], 1):
1331
- join_cond = " AND ".join(f"sq0.{col} = sq{i}.{col}" for col in group_by_cols)
1332
- result += f"\n LEFT JOIN {query} sq{i}\n ON {join_cond}"
1333
- cte_body = result
1346
+ # Multiple (sk, window) groups: a group whose window covers no tiles
1347
+ # emits no row, so the chain is driven from the unique (entity,
1348
+ # boundary) rows to keep each group's arrays independent. Missing
1349
+ # groups surface as [] via the combined CTE's COALESCE.
1350
+ cte_body = self._left_join_subqueries_on_bounds(
1351
+ [(query, [keys_col, *value_cols]) for keys_col, value_cols, query in subqueries]
1352
+ )
1334
1353
 
1335
1354
  return cte_name, cte_body.strip()
1336
1355
 
@@ -1574,21 +1593,11 @@ class MergingSqlGenerator:
1574
1593
  if len(feature_subqueries) == 1:
1575
1594
  return feature_subqueries[0][1]
1576
1595
 
1577
- # Multiple list features: join them together
1578
- first_name, first_query = feature_subqueries[0]
1579
- result = "SELECT sq0.*, "
1580
- for i, (name, _) in enumerate(feature_subqueries[1:], 1):
1581
- result += f"sq{i}.{name}"
1582
- if i < len(feature_subqueries) - 1:
1583
- result += ", "
1584
-
1585
- result += f"\n FROM {first_query} sq0"
1586
-
1587
- for i, (_name, query) in enumerate(feature_subqueries[1:], 1):
1588
- join_cond = " AND ".join(f"sq0.{col} = sq{i}.{col}" for col in group_by_cols)
1589
- result += f"\n LEFT JOIN {query} sq{i}\n ON {join_cond}"
1590
-
1591
- return result
1596
+ # Multiple list features: a feature with no non-NULL values in the window
1597
+ # emits no row, so the chain is driven from the unique (entity, boundary)
1598
+ # rows to keep each feature's array independent of the others. A missing
1599
+ # feature stays NULL, which is this path's "no data" encoding.
1600
+ return self._left_join_subqueries_on_bounds([(query, [name]) for name, query in feature_subqueries])
1592
1601
 
1593
1602
  def _generate_combined_cte(self) -> tuple[str, str]:
1594
1603
  """Generate the final CTE that combines and expands results.
@@ -362,13 +362,29 @@ class MLJob(Generic[T], SerializableSessionMixin):
362
362
  """
363
363
  if self._result is None:
364
364
  self.wait(timeout)
365
+ # Retrying would push the call past the caller's timeout, so only retry when unbounded.
366
+ remaining = _INSTANCE_RECORD_TIMEOUT_SECONDS if timeout < 0 else 0
365
367
  try:
366
- self._result = interop_utils.load(
367
- self._result_path, session=self._session, path_transform=self._transform_path
368
- )
368
+ while True:
369
+ try:
370
+ self._result = interop_utils.load(
371
+ self._result_path, session=self._session, path_transform=self._transform_path
372
+ )
373
+ break
374
+ except (OSError, json.JSONDecodeError) as error:
375
+ if remaining <= 0:
376
+ raise
377
+ logger.warning(
378
+ "job result retrieval: result is not yet readable: %s; retrying in %d second(s)",
379
+ error,
380
+ _INSTANCE_RECORD_POLL_INTERVAL_SECONDS,
381
+ )
382
+ time.sleep(_INSTANCE_RECORD_POLL_INTERVAL_SECONDS)
383
+ remaining -= _INSTANCE_RECORD_POLL_INTERVAL_SECONDS
369
384
  except Exception as e:
370
385
  raise RuntimeError(f"Failed to retrieve result for job, error: {e!r}") from e
371
386
 
387
+ assert self._result is not None
372
388
  return cast(T, self._result.get_value())
373
389
 
374
390
  @telemetry.send_api_usage_telemetry(project=_PROJECT, func_params_to_log=["timeout"])
@@ -5,7 +5,7 @@ import os
5
5
  import pathlib
6
6
  import tempfile
7
7
  import warnings
8
- from typing import Any, Literal, TypedDict, cast, overload
8
+ from typing import Any, Literal, NoReturn, TypedDict, cast, overload
9
9
 
10
10
  import yaml
11
11
  from typing_extensions import NotRequired
@@ -31,7 +31,13 @@ from snowflake.ml.model._packager.model_env import model_env
31
31
  from snowflake.ml.model._packager.model_meta import model_meta
32
32
  from snowflake.ml.model._packager.model_runtime import model_runtime
33
33
  from snowflake.ml.model._signatures import snowpark_handler
34
- from snowflake.snowpark import dataframe, functions as F, row, session
34
+ from snowflake.snowpark import (
35
+ dataframe,
36
+ exceptions as snowpark_exceptions,
37
+ functions as F,
38
+ row,
39
+ session,
40
+ )
35
41
  from snowflake.snowpark._internal import utils as snowpark_utils
36
42
 
37
43
  logger = logging.getLogger(__name__)
@@ -986,6 +992,220 @@ class ModelOperator:
986
992
  task_val = model_attributes.get("task", type_hints.Task.UNKNOWN.value)
987
993
  return type_hints.Task(task_val)
988
994
 
995
+ @staticmethod
996
+ def _is_peft_adapter_spec(parsed_model_spec: model_spec.ModelSpec) -> bool:
997
+ """Return whether the specification describes a PEFT adapter version.
998
+
999
+ Args:
1000
+ parsed_model_spec: Parsed model specification from SHOW VERSIONS.
1001
+
1002
+ Returns:
1003
+ True when the model type is peft_adapter or blob options name a pin.
1004
+ """
1005
+ try:
1006
+ if parsed_model_spec.model_type == "peft_adapter":
1007
+ return True
1008
+ except (KeyError, ValueError):
1009
+ pass
1010
+ return any(
1011
+ isinstance(options.get("base_model_name"), str)
1012
+ and options.get("base_model_name")
1013
+ and isinstance(options.get("base_model_version"), str)
1014
+ and options.get("base_model_version")
1015
+ for options in parsed_model_spec.model_options.values()
1016
+ )
1017
+
1018
+ def _peft_pin_identity_from_lineage(
1019
+ self,
1020
+ *,
1021
+ database_name: sql_identifier.SqlIdentifier | None,
1022
+ schema_name: sql_identifier.SqlIdentifier | None,
1023
+ model_name: sql_identifier.SqlIdentifier,
1024
+ version_name: sql_identifier.SqlIdentifier,
1025
+ ) -> tuple[str, str] | Literal["absent", "blocked"]:
1026
+ """Resolve the adapter pin's current name from upstream model lineage.
1027
+
1028
+ Args:
1029
+ database_name: Database of the adapter version.
1030
+ schema_name: Schema of the adapter version.
1031
+ model_name: Adapter model name.
1032
+ version_name: Adapter version name.
1033
+
1034
+ Returns:
1035
+ Current pin fully-qualified name and version when exactly one ACTIVE
1036
+ upstream model exists; ``absent`` when lineage has no model upstream
1037
+ or cannot be read; ``blocked`` when the pin is MASKED, DELETED, incomplete,
1038
+ or not unique.
1039
+ """
1040
+ try:
1041
+ trace_df = self._session.lineage.trace(
1042
+ self._model_client.fully_qualified_object_name(database_name, schema_name, model_name),
1043
+ "MODEL",
1044
+ object_version=version_name.identifier(),
1045
+ direction="upstream",
1046
+ distance=1,
1047
+ )
1048
+ rows = trace_df.collect()
1049
+ model_nodes: list[tuple[str, str, str]] = []
1050
+ for lineage_row in rows:
1051
+ lineage_object = json.loads(lineage_row["SOURCE_OBJECT"])
1052
+ if str(lineage_object.get("domain", "")).lower() != "model":
1053
+ continue
1054
+ raw_name = lineage_object.get("name")
1055
+ raw_version = lineage_object.get("version")
1056
+ status = str(lineage_object.get("status", ""))
1057
+ if not isinstance(raw_name, str) or not raw_name:
1058
+ model_nodes.append(("", "", status))
1059
+ continue
1060
+ parsed_name = ".".join(
1061
+ identifier.rename_to_valid_snowflake_identifier(part)
1062
+ for part in identifier.parse_schema_level_object_identifier(raw_name)
1063
+ if part is not None
1064
+ )
1065
+ pin_version = raw_version if isinstance(raw_version, str) else ""
1066
+ model_nodes.append((parsed_name, pin_version, status))
1067
+ except (
1068
+ AttributeError,
1069
+ KeyError,
1070
+ TypeError,
1071
+ ValueError,
1072
+ json.JSONDecodeError,
1073
+ snowpark_exceptions.SnowparkSQLException,
1074
+ ) as err:
1075
+ logger.debug("adapter model: could not read pin lineage: %s", err)
1076
+ return "absent"
1077
+ if not model_nodes:
1078
+ return "absent"
1079
+ if len(model_nodes) != 1:
1080
+ return "blocked"
1081
+ pin_name, pin_version, status = model_nodes[0]
1082
+ if status.upper() != "ACTIVE" or not pin_name or not pin_version:
1083
+ return "blocked"
1084
+ return pin_name, pin_version
1085
+
1086
+ @staticmethod
1087
+ def _peft_pin_identity_from_blob_options(
1088
+ parsed_model_spec: model_spec.ModelSpec,
1089
+ ) -> tuple[str, str] | None:
1090
+ """Return the pin name and version from adapter blob options.
1091
+
1092
+ Args:
1093
+ parsed_model_spec: Adapter specification whose blob options may name the pin.
1094
+
1095
+ Returns:
1096
+ Pin fully-qualified name and version, or None when those options are missing.
1097
+ """
1098
+ for options in parsed_model_spec.model_options.values():
1099
+ name = options.get("base_model_name")
1100
+ version = options.get("base_model_version")
1101
+ if isinstance(name, str) and name and isinstance(version, str) and version:
1102
+ return name, version
1103
+ return None
1104
+
1105
+ def _fetch_model_spec_for_pin(
1106
+ self,
1107
+ pin_name: str,
1108
+ pin_version: str,
1109
+ *,
1110
+ statement_params: dict[str, Any] | None = None,
1111
+ ) -> model_spec.ModelSpec | None:
1112
+ """Load a pin specification by fully-qualified name and version.
1113
+
1114
+ Args:
1115
+ pin_name: Fully-qualified pin model name.
1116
+ pin_version: Pin version name.
1117
+ statement_params: Optional dictionary of statement parameters.
1118
+
1119
+ Returns:
1120
+ The pin specification, or None when the name is unparsable or the pin cannot be loaded.
1121
+ """
1122
+ try:
1123
+ database_name, schema_name, model_name = sql_identifier.parse_fully_qualified_name(pin_name)
1124
+ except ValueError:
1125
+ return None
1126
+ if database_name is None or schema_name is None:
1127
+ return None
1128
+ try:
1129
+ return self._fetch_model_spec(
1130
+ database_name=database_name,
1131
+ schema_name=schema_name,
1132
+ model_name=model_name,
1133
+ version_name=sql_identifier.SqlIdentifier(pin_version),
1134
+ statement_params=statement_params,
1135
+ )
1136
+ except (
1137
+ IndexError,
1138
+ KeyError,
1139
+ TypeError,
1140
+ ValueError,
1141
+ yaml.YAMLError,
1142
+ snowpark_exceptions.SnowparkSQLException,
1143
+ ) as err:
1144
+ logger.debug("adapter model: could not load pin specification: %s", err)
1145
+ return None
1146
+
1147
+ def _fetch_peft_pin_spec(
1148
+ self,
1149
+ parsed_model_spec: model_spec.ModelSpec,
1150
+ *,
1151
+ database_name: sql_identifier.SqlIdentifier | None,
1152
+ schema_name: sql_identifier.SqlIdentifier | None,
1153
+ model_name: sql_identifier.SqlIdentifier,
1154
+ version_name: sql_identifier.SqlIdentifier,
1155
+ statement_params: dict[str, Any] | None = None,
1156
+ ) -> model_spec.ModelSpec | None:
1157
+ """Load the pin model specification for an adapter version.
1158
+
1159
+ Prefers the current names from the adapter's upstream model lineage so a pin
1160
+ rename still resolves. Blob options are used only when lineage has no model
1161
+ upstream (the pin edge is not visible yet).
1162
+
1163
+ Args:
1164
+ parsed_model_spec: Adapter specification whose blob options may name the pin.
1165
+ database_name: Database of the adapter version.
1166
+ schema_name: Schema of the adapter version.
1167
+ model_name: Adapter model name.
1168
+ version_name: Adapter version name.
1169
+ statement_params: Optional dictionary of statement parameters.
1170
+
1171
+ Returns:
1172
+ The pin specification, or None when the pin cannot be resolved or loaded.
1173
+ """
1174
+ lineage_pin = self._peft_pin_identity_from_lineage(
1175
+ database_name=database_name,
1176
+ schema_name=schema_name,
1177
+ model_name=model_name,
1178
+ version_name=version_name,
1179
+ )
1180
+ if lineage_pin == "blocked":
1181
+ return None
1182
+ if lineage_pin == "absent":
1183
+ blob_pin = ModelOperator._peft_pin_identity_from_blob_options(parsed_model_spec)
1184
+ if blob_pin is None:
1185
+ return None
1186
+ pin_name, pin_version = blob_pin
1187
+ else:
1188
+ pin_name, pin_version = lineage_pin
1189
+ return self._fetch_model_spec_for_pin(
1190
+ pin_name,
1191
+ pin_version,
1192
+ statement_params=statement_params,
1193
+ )
1194
+
1195
+ @staticmethod
1196
+ def _raise_unresolved_adapter_pin_signatures() -> NoReturn:
1197
+ """Raise when adapter catalog methods cannot be mapped onto pin signatures.
1198
+
1199
+ Raises:
1200
+ SnowflakeMLException: Always. Catalog methods exist but pin signatures could not be used.
1201
+ """
1202
+ raise exceptions.SnowflakeMLException(
1203
+ error_code=error_codes.INVALID_ARGUMENT,
1204
+ original_exception=ValueError(
1205
+ "adapter model: catalog methods exist but method signatures could not be resolved from the pin."
1206
+ ),
1207
+ )
1208
+
989
1209
  def get_functions(
990
1210
  self,
991
1211
  *,
@@ -1058,20 +1278,47 @@ class ModelOperator:
1058
1278
  )
1059
1279
 
1060
1280
  signatures = parsed_model_spec.signatures
1281
+ signature_spec = parsed_model_spec
1282
+ is_peft_adapter = False
1283
+ if not signatures and function_names_and_types:
1284
+ is_peft_adapter = ModelOperator._is_peft_adapter_spec(parsed_model_spec)
1285
+ if is_peft_adapter:
1286
+ pin_spec = self._fetch_peft_pin_spec(
1287
+ parsed_model_spec,
1288
+ database_name=database_name,
1289
+ schema_name=schema_name,
1290
+ model_name=model_name,
1291
+ version_name=version_name,
1292
+ statement_params=statement_params,
1293
+ )
1294
+ if pin_spec is None or not pin_spec.signatures:
1295
+ ModelOperator._raise_unresolved_adapter_pin_signatures()
1296
+ signatures = pin_spec.signatures
1297
+ signature_spec = pin_spec
1298
+
1061
1299
  function_names = [name for name, _, _ in function_names_and_types]
1062
- function_name_mapping = ModelOperator._match_model_spec_with_sql_functions(
1063
- function_names, list(signatures.keys())
1064
- )
1300
+ try:
1301
+ function_name_mapping = ModelOperator._match_model_spec_with_sql_functions(
1302
+ function_names, list(signatures.keys())
1303
+ )
1304
+ except AssertionError:
1305
+ if is_peft_adapter:
1306
+ ModelOperator._raise_unresolved_adapter_pin_signatures()
1307
+ raise
1065
1308
 
1066
1309
  model_func_info = []
1067
1310
 
1068
1311
  for function_name, function_type, is_object_output in function_names_and_types:
1312
+ if function_name not in function_name_mapping:
1313
+ if is_peft_adapter:
1314
+ ModelOperator._raise_unresolved_adapter_pin_signatures()
1315
+ raise KeyError(function_name)
1069
1316
  target_method = function_name_mapping[function_name]
1070
1317
 
1071
1318
  is_partitioned = False
1072
1319
  if function_type == model_manifest_schema.ModelMethodFunctionTypes.TABLE_FUNCTION.value:
1073
1320
  # better to set default True here because worse case it will be slow but not error out
1074
- is_partitioned = parsed_model_spec.is_partitioned(target_method)
1321
+ is_partitioned = signature_spec.is_partitioned(target_method)
1075
1322
 
1076
1323
  model_func_info.append(
1077
1324
  model_manifest_schema.ModelFunctionInfo(