snowflake-ml-python 1.19.0__tar.gz → 1.21.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 (470) hide show
  1. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/CHANGELOG.md +89 -4
  2. {snowflake_ml_python-1.19.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.21.0}/PKG-INFO +94 -7
  3. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/pyproject.toml +3 -3
  4. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env_utils.py +16 -0
  5. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/platform_capabilities.py +36 -0
  6. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/telemetry.py +56 -7
  7. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/_internal/arrow_ingestor.py +67 -2
  8. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_connector.py +103 -1
  9. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +8 -2
  10. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run.py +15 -0
  11. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/keras.py +25 -2
  12. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/lightgbm.py +27 -2
  13. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/xgboost.py +25 -2
  14. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/experiment_tracking.py +123 -13
  15. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/utils.py +6 -0
  16. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/access_manager.py +1 -0
  17. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_store.py +1 -1
  18. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_view.py +34 -24
  19. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/protocols.py +3 -0
  20. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/feature_flags.py +1 -0
  21. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/payload_utils.py +761 -0
  22. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +95 -8
  23. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +92 -0
  24. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/startup.sh +112 -0
  25. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/spec_utils.py +53 -0
  26. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/stage_utils.py +22 -1
  27. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/types.py +14 -7
  28. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/job.py +8 -9
  29. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/manager.py +64 -129
  30. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +8 -4
  31. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_version_impl.py +109 -28
  32. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/model_ops.py +32 -6
  33. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/service_ops.py +9 -4
  34. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/service.py +69 -2
  35. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handler.py +8 -2
  36. snowflake_ml_python-1.19.0/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py → snowflake_ml_python-1.21.0/snowflake/ml/model/_packager/model_handlers/huggingface.py +203 -76
  37. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +6 -1
  38. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +1 -1
  39. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/core.py +305 -8
  40. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/utils.py +13 -4
  41. snowflake_ml_python-1.21.0/snowflake/ml/model/compute_pool.py +2 -0
  42. snowflake_ml_python-1.21.0/snowflake/ml/model/models/huggingface.py +285 -0
  43. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/models/huggingface_pipeline.py +25 -215
  44. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/type_hints.py +5 -1
  45. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +2 -2
  46. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +12 -0
  47. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +12 -0
  48. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +5 -0
  49. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/html_utils.py +67 -1
  50. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/version.py +1 -1
  51. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0/snowflake_ml_python.egg-info}/PKG-INFO +94 -7
  52. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -1
  53. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/requires.txt +3 -1
  54. snowflake_ml_python-1.19.0/snowflake/ml/jobs/_utils/payload_utils.py +0 -758
  55. snowflake_ml_python-1.19.0/snowflake/ml/jobs/_utils/spec_utils.py +0 -457
  56. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/LICENSE.txt +0 -0
  57. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/README.md +0 -0
  58. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/setup.cfg +0 -0
  59. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/__init__.py +0 -0
  60. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_classify_text.py +0 -0
  61. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_complete.py +0 -0
  62. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  63. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_768.py +0 -0
  64. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_extract_answer.py +0 -0
  65. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_finetune.py +0 -0
  66. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sentiment.py +0 -0
  67. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sse_client.py +0 -0
  68. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_summarize.py +0 -0
  69. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_translate.py +0 -0
  70. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_util.py +0 -0
  71. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env.py +0 -0
  72. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  73. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  74. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  75. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  76. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  77. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  78. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  79. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  80. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  81. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/file_utils.py +0 -0
  82. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  83. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  84. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  85. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  86. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/init_utils.py +0 -0
  87. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  88. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  89. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  90. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/type_utils.py +0 -0
  91. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  92. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  93. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  94. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  95. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  96. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  97. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  98. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  99. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  100. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  101. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/result.py +0 -0
  102. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  103. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  104. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  105. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  106. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  107. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  108. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/__init__.py +0 -0
  109. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_ingestor.py +0 -0
  110. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_source.py +0 -0
  111. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  112. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/torch_utils.py +0 -0
  113. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/__init__.py +0 -0
  114. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset.py +0 -0
  115. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  116. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  117. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  118. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/__init__.py +0 -0
  119. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  120. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  121. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  122. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  123. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  124. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/__init__.py +0 -0
  125. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/entity.py +0 -0
  126. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  127. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  128. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  129. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  130. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  131. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  132. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  133. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  134. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  135. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  136. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  137. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  138. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  139. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  140. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  141. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  142. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  143. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  144. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  145. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  146. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  147. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  148. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  149. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/fileset.py +0 -0
  150. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  151. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/snowfs.py +0 -0
  152. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  153. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/__init__.py +0 -0
  154. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  155. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
  156. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
  157. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
  158. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
  159. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/results.py +0 -0
  160. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
  161. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  162. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
  163. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  164. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  165. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  166. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  167. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  168. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  169. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  170. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/decorators.py +0 -0
  171. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/__init__.py +0 -0
  172. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  173. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/__init__.py +0 -0
  174. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
  175. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  176. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  177. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  178. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
  179. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  180. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  181. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  182. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  183. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  184. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  185. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  186. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  187. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  188. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  189. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  190. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  191. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  192. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  193. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
  194. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  195. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  196. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  197. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  198. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  199. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  200. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  201. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  202. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
  203. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  204. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  205. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  206. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  207. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  208. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  209. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  210. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  211. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  212. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  213. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  214. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  215. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  216. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  217. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  218. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  219. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  220. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  221. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  222. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  223. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  224. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  225. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  226. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  227. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  228. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  229. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  230. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  231. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  232. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/custom_model.py +0 -0
  233. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/event_handler.py +0 -0
  234. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/inference_engine.py +0 -0
  235. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/model_signature.py +0 -0
  236. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/openai_signatures.py +0 -0
  237. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/target_platform.py +0 -0
  238. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/task.py +0 -0
  239. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/volatility.py +0 -0
  240. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  241. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  242. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  243. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  244. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  245. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  246. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  247. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  248. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  249. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  250. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  251. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  252. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  253. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  254. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  255. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  256. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  257. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  258. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  259. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  260. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  261. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  262. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  263. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  264. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  265. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  266. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  267. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  268. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  269. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  270. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  271. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  272. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  273. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  274. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  275. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  276. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  277. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  278. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  279. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  280. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  281. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  282. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  283. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  284. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  285. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  286. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  287. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  288. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  289. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  290. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  291. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  292. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  293. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  294. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  295. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  296. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  297. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  298. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  299. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  300. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  301. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  302. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  303. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  304. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  305. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  306. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  307. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  308. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  309. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  310. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  311. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  312. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  313. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  314. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  315. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  316. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  317. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  318. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  319. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  320. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  321. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/base.py +0 -0
  322. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  323. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  324. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  325. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  326. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  327. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  328. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  329. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  330. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  331. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  332. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  333. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  334. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  335. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  336. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  337. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  338. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  339. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  340. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  341. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  342. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  343. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  344. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  345. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  346. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  347. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  348. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  349. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  350. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  351. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  352. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  353. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  354. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  355. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  356. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  357. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  358. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  359. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  360. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  361. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  362. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  363. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  364. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  365. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  366. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  367. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  368. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  369. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  370. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  371. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  372. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  373. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  374. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  375. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  376. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  377. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  378. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  379. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  380. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  381. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  382. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  383. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  384. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  385. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  386. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  387. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  388. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  389. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  390. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  391. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  392. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  393. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  394. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  395. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  396. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  397. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  398. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  399. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  400. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  401. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  402. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  403. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  404. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  405. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  406. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  407. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  408. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  409. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  410. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  411. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  412. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  413. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  414. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  415. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  416. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  417. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  418. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  419. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  420. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  421. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  422. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  423. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  424. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  425. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  426. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  427. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  428. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  429. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  430. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  431. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  432. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  433. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  434. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  435. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  436. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  437. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  438. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  439. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  440. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  441. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  442. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  443. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  444. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  445. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  446. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  447. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  448. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  449. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  450. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  451. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  452. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  453. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  454. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  455. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  456. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  457. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  458. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  459. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  460. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/shap.py +0 -0
  461. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/__init__.py +0 -0
  462. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  463. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  464. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/registry.py +0 -0
  465. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/authentication.py +0 -0
  466. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/connection_params.py +0 -0
  467. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sparse.py +0 -0
  468. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sql_client.py +0 -0
  469. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  470. {snowflake_ml_python-1.19.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,10 +1,97 @@
1
1
  # Release History
2
2
 
3
- ## 1.19.0
3
+ ## 1.21.0
4
+
5
+ ### New Features
6
+
7
+ * Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
8
+ whether inference data will be captured.
9
+ * DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
10
+ Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
11
+ * Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
12
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
13
+ `transformers.Pipeline` model. Currently, following tasks
14
+ are supported to log without manually specifying model signatures:
15
+ * "fill-mask"
16
+ * "question-answering"
17
+ * "summarization"
18
+ * "table-question-answering"
19
+ * "text2text-generation"
20
+ * "text-classification" (alias "sentiment-analysis" available)
21
+ * "text-generation"
22
+ * "token-classification" (alias "ner" available)
23
+ * "translation"
24
+ * "translation_xx_to_yy"
25
+ * "zero-shot-classification"
26
+ which provides utility to log the model without loading the model in memory.
4
27
 
5
28
  ### Bug Fixes
6
29
 
7
- * Experiment Tracking (PrPr): No longer throw an exception in `list_artifacts` when run does not have artifacts.
30
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
31
+ instead of raising an exception.
32
+ * Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
33
+ (e.g. SPCS-only models) and `service_name` is not provided.
34
+
35
+ ### Behavior Changes
36
+
37
+ * ML Job: The `additional_payloads` (Preview API) behavior is changing.
38
+ Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
39
+ Local directories and Python files are automatically compressed, and their internal layout is determined by the
40
+ specified import path. The import path applies only to local directories, Python files and staged python files;
41
+ it has no effect on other import types. When referencing files in a stage, only individual files
42
+ are supported—not directories.
43
+ * Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
44
+ SPCS node or Notebook.
45
+ * Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
46
+ * Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
47
+
48
+ ### Deprecations
49
+
50
+ * Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
51
+ version with a notice.
52
+
53
+ ## 1.20.0
54
+
55
+ ### Bug Fixes
56
+
57
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
58
+ instead of raising an exception.
59
+
60
+ ### New Features
61
+
62
+ * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
63
+ accept `inference_engine_options` as an argument.
64
+
65
+ ```python
66
+ from snowflake.ml.model.inference_engine import InferenceEngine
67
+
68
+ mv = snowflake_registry.log_model(
69
+ model=generator,
70
+ model_name=...,
71
+ ...,
72
+ # Specifying OPENAI_CHAT_SIGNATURE is necessary to use vLLM inference engine
73
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
74
+ )
75
+
76
+ mv.create_service(
77
+ service_name=my_serv,
78
+ service_compute_pool=...,
79
+ ...,
80
+ inference_engine_options={
81
+ "engine": InferenceEngine.VLLM,
82
+ "engine_args_override": [
83
+ "--max-model-len=2048",
84
+ "--gpu-memory-utilization=0.9"
85
+ ]
86
+ }
87
+ )
88
+ ```
89
+
90
+ ## 1.19.0 (11-13-2025)
91
+
92
+ ### Bug Fixes
93
+
94
+ * Experiment Tracking (PuPr): No longer throw an exception in `list_artifacts` when run does not have artifacts.
8
95
  * Registry: Fix `get_version_by_alias`: now requires an exact match of snowflake identifier.
9
96
 
10
97
  ### Behavior Changes
@@ -106,8 +193,6 @@ options = {
106
193
  * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
107
194
  To read more <https://github.com/huggingface/transformers/pull/31165>
108
195
 
109
- ### New Features
110
-
111
196
  ## 1.14.0 (09-18-2025)
112
197
 
113
198
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.19.0
3
+ Version: 1.21.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:
@@ -230,7 +230,7 @@ Classifier: Topic :: Software Development :: Libraries
230
230
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
231
231
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
232
232
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
233
- Requires-Python: <3.13,>=3.9
233
+ Requires-Python: <3.14,>=3.9
234
234
  Description-Content-Type: text/markdown
235
235
  License-File: LICENSE.txt
236
236
  Requires-Dist: anyio<5,>=3.5.0
@@ -240,7 +240,7 @@ Requires-Dist: cryptography
240
240
  Requires-Dist: fsspec[http]<2026,>=2024.6.1
241
241
  Requires-Dist: importlib_resources<7,>=6.1.1
242
242
  Requires-Dist: numpy<3,>=1.23
243
- Requires-Dist: packaging<25,>=20.9
243
+ Requires-Dist: packaging<26,>=20.9
244
244
  Requires-Dist: pandas<3,>=2.1.4
245
245
  Requires-Dist: platformdirs<5
246
246
  Requires-Dist: pyarrow<19.0.0
@@ -307,7 +307,9 @@ Requires-Dist: torchdata<1,>=0.4; extra == "torch"
307
307
  Provides-Extra: transformers
308
308
  Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "transformers"
309
309
  Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
310
+ Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
310
311
  Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
312
+ Requires-Dist: transformers!=4.51.3,<5,>=4.39.3; extra == "transformers"
311
313
  Dynamic: license-file
312
314
 
313
315
  # Snowflake ML Python
@@ -415,11 +417,98 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
415
417
 
416
418
  # Release History
417
419
 
418
- ## 1.19.0
420
+ ## 1.21.0
421
+
422
+ ### New Features
423
+
424
+ * Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
425
+ whether inference data will be captured.
426
+ * DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
427
+ Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
428
+ * Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
429
+ `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
430
+ `transformers.Pipeline` model. Currently, following tasks
431
+ are supported to log without manually specifying model signatures:
432
+ * "fill-mask"
433
+ * "question-answering"
434
+ * "summarization"
435
+ * "table-question-answering"
436
+ * "text2text-generation"
437
+ * "text-classification" (alias "sentiment-analysis" available)
438
+ * "text-generation"
439
+ * "token-classification" (alias "ner" available)
440
+ * "translation"
441
+ * "translation_xx_to_yy"
442
+ * "zero-shot-classification"
443
+ which provides utility to log the model without loading the model in memory.
419
444
 
420
445
  ### Bug Fixes
421
446
 
422
- * Experiment Tracking (PrPr): No longer throw an exception in `list_artifacts` when run does not have artifacts.
447
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
448
+ instead of raising an exception.
449
+ * Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
450
+ (e.g. SPCS-only models) and `service_name` is not provided.
451
+
452
+ ### Behavior Changes
453
+
454
+ * ML Job: The `additional_payloads` (Preview API) behavior is changing.
455
+ Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
456
+ Local directories and Python files are automatically compressed, and their internal layout is determined by the
457
+ specified import path. The import path applies only to local directories, Python files and staged python files;
458
+ it has no effect on other import types. When referencing files in a stage, only individual files
459
+ are supported—not directories.
460
+ * Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
461
+ SPCS node or Notebook.
462
+ * Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
463
+ * Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
464
+
465
+ ### Deprecations
466
+
467
+ * Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
468
+ version with a notice.
469
+
470
+ ## 1.20.0
471
+
472
+ ### Bug Fixes
473
+
474
+ * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
475
+ instead of raising an exception.
476
+
477
+ ### New Features
478
+
479
+ * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
480
+ accept `inference_engine_options` as an argument.
481
+
482
+ ```python
483
+ from snowflake.ml.model.inference_engine import InferenceEngine
484
+
485
+ mv = snowflake_registry.log_model(
486
+ model=generator,
487
+ model_name=...,
488
+ ...,
489
+ # Specifying OPENAI_CHAT_SIGNATURE is necessary to use vLLM inference engine
490
+ signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
491
+ )
492
+
493
+ mv.create_service(
494
+ service_name=my_serv,
495
+ service_compute_pool=...,
496
+ ...,
497
+ inference_engine_options={
498
+ "engine": InferenceEngine.VLLM,
499
+ "engine_args_override": [
500
+ "--max-model-len=2048",
501
+ "--gpu-memory-utilization=0.9"
502
+ ]
503
+ }
504
+ )
505
+ ```
506
+
507
+ ## 1.19.0 (11-13-2025)
508
+
509
+ ### Bug Fixes
510
+
511
+ * Experiment Tracking (PuPr): No longer throw an exception in `list_artifacts` when run does not have artifacts.
423
512
  * Registry: Fix `get_version_by_alias`: now requires an exact match of snowflake identifier.
424
513
 
425
514
  ### Behavior Changes
@@ -521,8 +610,6 @@ options = {
521
610
  * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
522
611
  To read more <https://github.com/huggingface/transformers/pull/31165>
523
612
 
524
- ### New Features
525
-
526
613
  ## 1.14.0 (09-18-2025)
527
614
 
528
615
  ### Bug Fixes
@@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta"
6
6
  name = "snowflake-ml-python"
7
7
  description = "The machine learning client library that is used for interacting with Snowflake to build machine learning solutions."
8
8
  classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
9
- requires-python = ">=3.9, <3.13"
9
+ requires-python = ">=3.9, <3.14"
10
10
  dynamic = [ "version", "readme",]
11
- dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<25", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow<19.0.0", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.8", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.17.3,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost<4",]
11
+ dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow<19.0.0", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.8", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.17.3,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost<4",]
12
12
  [[project.authors]]
13
13
  name = "Snowflake, Inc"
14
14
  email = "support@snowflake.com"
@@ -35,7 +35,7 @@ prophet = [ "prophet>=1.1.0, <2",]
35
35
  streamlit = [ "streamlit>=1.30.0,<2",]
36
36
  tensorflow = [ "tensorflow>=2.17.0,<3",]
37
37
  torch = [ "torch>=2.0.1,<3", "torchdata>=0.4,<1",]
38
- transformers = [ "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "torch>=2.0.1,<3",]
38
+ transformers = [ "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "transformers>=4.39.3,<5,!=4.51.3",]
39
39
 
40
40
  [tool.setuptools.package-data]
41
41
  "*" = [ "*",]
@@ -16,6 +16,7 @@ from snowflake.ml import version as snowml_version
16
16
  from snowflake.ml._internal import env as snowml_env, relax_version_strategy
17
17
  from snowflake.ml._internal.utils import query_result_checker
18
18
  from snowflake.snowpark import context, exceptions, session
19
+ from snowflake.snowpark._internal import utils as snowpark_utils
19
20
 
20
21
 
21
22
  class CONDA_OS(Enum):
@@ -38,6 +39,21 @@ SNOWPARK_ML_PKG_NAME = "snowflake-ml-python"
38
39
  SNOWFLAKE_CONDA_CHANNEL_URL = "https://repo.anaconda.com/pkgs/snowflake"
39
40
 
40
41
 
42
+ def get_execution_context() -> str:
43
+ """Detect execution context: EXTERNAL, SPCS, or SPROC.
44
+
45
+ Returns:
46
+ str: The execution context - "SPROC" if running in a stored procedure,
47
+ "SPCS" if running in SPCS ML runtime, "EXTERNAL" otherwise.
48
+ """
49
+ if snowpark_utils.is_in_stored_procedure(): # type: ignore[no-untyped-call]
50
+ return "SPROC"
51
+ elif snowml_env.IN_ML_RUNTIME:
52
+ return "SPCS"
53
+ else:
54
+ return "EXTERNAL"
55
+
56
+
41
57
  def _validate_pip_requirement_string(req_str: str) -> requirements.Requirement:
42
58
  """Validate the input pip requirement string according to PEP 508.
43
59
 
@@ -18,6 +18,8 @@ logger = logging.getLogger(__name__)
18
18
  LIVE_COMMIT_PARAMETER = "ENABLE_LIVE_VERSION_IN_SDK"
19
19
  INLINE_DEPLOYMENT_SPEC_PARAMETER = "ENABLE_INLINE_DEPLOYMENT_SPEC_FROM_CLIENT_VERSION"
20
20
  SET_MODULE_FUNCTIONS_VOLATILITY_FROM_MANIFEST = "SET_MODULE_FUNCTIONS_VOLATILITY_FROM_MANIFEST"
21
+ ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS = "ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS"
22
+ FEATURE_MODEL_INFERENCE_AUTOCAPTURE = "FEATURE_MODEL_INFERENCE_AUTOCAPTURE"
21
23
 
22
24
 
23
25
  class PlatformCapabilities:
@@ -80,6 +82,12 @@ class PlatformCapabilities:
80
82
  def is_live_commit_enabled(self) -> bool:
81
83
  return self._get_bool_feature(LIVE_COMMIT_PARAMETER, False)
82
84
 
85
+ def is_model_method_signature_parameters_enabled(self) -> bool:
86
+ return self._get_bool_feature(ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS, False)
87
+
88
+ def is_inference_autocapture_enabled(self) -> bool:
89
+ return self._is_feature_enabled(FEATURE_MODEL_INFERENCE_AUTOCAPTURE)
90
+
83
91
  @staticmethod
84
92
  def _get_features(session: snowpark_session.Session) -> dict[str, Any]:
85
93
  try:
@@ -182,3 +190,31 @@ class PlatformCapabilities:
182
190
  f"current={current_version}, feature={feature_version}, enabled={result}"
183
191
  )
184
192
  return result
193
+
194
+ def _is_feature_enabled(self, feature_name: str) -> bool:
195
+ """Check if the feature parameter value belongs to enabled values.
196
+
197
+ Args:
198
+ feature_name: The name of the feature to retrieve.
199
+
200
+ Returns:
201
+ bool: True if the value is "ENABLED" or "ENABLED_PUBLIC_PREVIEW",
202
+ False if the value is "DISABLED", "DISABLED_PRIVATE_PREVIEW", or not set.
203
+
204
+ Raises:
205
+ ValueError: If the feature value is set but not one of the recognized values.
206
+ """
207
+ value = self.features.get(feature_name)
208
+ if value is None:
209
+ logger.debug(f"Feature {feature_name} not found.")
210
+ return False
211
+
212
+ if isinstance(value, str):
213
+ value_str = str(value)
214
+ if value_str.upper() in ["ENABLED", "ENABLED_PUBLIC_PREVIEW"]:
215
+ return True
216
+ elif value_str.upper() in ["DISABLED", "DISABLED_PRIVATE_PREVIEW"]:
217
+ return False
218
+ else:
219
+ raise ValueError(f"Invalid feature parameter value: {value} for feature {feature_name}")
220
+ raise ValueError(f"Invalid feature parameter string value: {value} for feature {feature_name}")
@@ -16,7 +16,7 @@ from typing_extensions import ParamSpec
16
16
  from snowflake import connector
17
17
  from snowflake.connector import connect, telemetry as connector_telemetry, time_util
18
18
  from snowflake.ml import version as snowml_version
19
- from snowflake.ml._internal import env
19
+ from snowflake.ml._internal import env, env_utils
20
20
  from snowflake.ml._internal.exceptions import (
21
21
  error_codes,
22
22
  exceptions as snowml_exceptions,
@@ -37,6 +37,22 @@ _CONNECTION_TYPES = {
37
37
  _Args = ParamSpec("_Args")
38
38
  _ReturnValue = TypeVar("_ReturnValue")
39
39
 
40
+ _conn: Optional[connector.SnowflakeConnection] = None
41
+
42
+
43
+ def clear_cached_conn() -> None:
44
+ """Clear the cached Snowflake connection. Primarily for testing purposes."""
45
+ global _conn
46
+ if _conn is not None and _conn.is_valid():
47
+ _conn.close()
48
+ _conn = None
49
+
50
+
51
+ def get_cached_conn() -> Optional[connector.SnowflakeConnection]:
52
+ """Get the cached Snowflake connection. Primarily for testing purposes."""
53
+ global _conn
54
+ return _conn
55
+
40
56
 
41
57
  def _get_login_token() -> Union[str, bytes]:
42
58
  with open("/snowflake/session/token") as f:
@@ -44,7 +60,11 @@ def _get_login_token() -> Union[str, bytes]:
44
60
 
45
61
 
46
62
  def _get_snowflake_connection() -> Optional[connector.SnowflakeConnection]:
47
- conn = None
63
+ global _conn
64
+ if _conn is not None and _conn.is_valid():
65
+ return _conn
66
+
67
+ conn: Optional[connector.SnowflakeConnection] = None
48
68
  if os.getenv("SNOWFLAKE_HOST") is not None and os.getenv("SNOWFLAKE_ACCOUNT") is not None:
49
69
  try:
50
70
  conn = connect(
@@ -66,6 +86,13 @@ def _get_snowflake_connection() -> Optional[connector.SnowflakeConnection]:
66
86
  # Failed to get an active session. No connection available.
67
87
  pass
68
88
 
89
+ # cache the connection if it's a SnowflakeConnection. there is a behavior at runtime where it could be a
90
+ # StoredProcConnection perhaps incorrect type hinting somewhere
91
+ if isinstance(conn, connector.SnowflakeConnection):
92
+ # if _conn was expired, we need to copy telemetry data to new connection
93
+ if _conn is not None and conn is not None:
94
+ conn._telemetry._log_batch.extend(_conn._telemetry._log_batch)
95
+ _conn = conn
69
96
  return conn
70
97
 
71
98
 
@@ -113,6 +140,13 @@ class TelemetryField(enum.Enum):
113
140
  FUNC_CAT_USAGE = "usage"
114
141
 
115
142
 
143
+ @enum.unique
144
+ class CustomTagKey(enum.Enum):
145
+ """Keys for custom tags in telemetry."""
146
+
147
+ EXECUTION_CONTEXT = "execution_context"
148
+
149
+
116
150
  class _TelemetrySourceType(enum.Enum):
117
151
  # Automatically inferred telemetry/statement parameters
118
152
  AUTO_TELEMETRY = "SNOWML_AUTO_TELEMETRY"
@@ -441,6 +475,7 @@ def send_api_usage_telemetry(
441
475
  sfqids_extractor: Optional[Callable[..., list[str]]] = None,
442
476
  subproject_extractor: Optional[Callable[[Any], str]] = None,
443
477
  custom_tags: Optional[dict[str, Union[bool, int, str, float]]] = None,
478
+ log_execution_context: bool = True,
444
479
  ) -> Callable[[Callable[_Args, _ReturnValue]], Callable[_Args, _ReturnValue]]:
445
480
  """
446
481
  Decorator that sends API usage telemetry and adds function usage statement parameters to the dataframe returned by
@@ -455,6 +490,8 @@ def send_api_usage_telemetry(
455
490
  sfqids_extractor: Extract sfqids from `self`.
456
491
  subproject_extractor: Extract subproject at runtime from `self`.
457
492
  custom_tags: Custom tags.
493
+ log_execution_context: If True, automatically detect and log execution context
494
+ (EXTERNAL, SPCS, or SPROC) in custom_tags.
458
495
 
459
496
  Returns:
460
497
  Decorator that sends function usage telemetry for any call to the decorated function.
@@ -495,6 +532,11 @@ def send_api_usage_telemetry(
495
532
  if subproject_extractor is not None:
496
533
  subproject_name = subproject_extractor(args[0])
497
534
 
535
+ # Add execution context if enabled
536
+ final_custom_tags = {**custom_tags} if custom_tags is not None else {}
537
+ if log_execution_context:
538
+ final_custom_tags[CustomTagKey.EXECUTION_CONTEXT.value] = env_utils.get_execution_context()
539
+
498
540
  statement_params = get_function_usage_statement_params(
499
541
  project=project,
500
542
  subproject=subproject_name,
@@ -502,7 +544,7 @@ def send_api_usage_telemetry(
502
544
  function_name=_get_full_func_name(func),
503
545
  function_parameters=params,
504
546
  api_calls=api_calls,
505
- custom_tags=custom_tags,
547
+ custom_tags=final_custom_tags,
506
548
  )
507
549
 
508
550
  def update_stmt_params_if_snowpark_df(obj: _ReturnValue, statement_params: dict[str, Any]) -> _ReturnValue:
@@ -538,7 +580,10 @@ def send_api_usage_telemetry(
538
580
  if conn_attr_name:
539
581
  # raise AttributeError if conn attribute does not exist in `self`
540
582
  conn = operator.attrgetter(conn_attr_name)(args[0])
541
- if not isinstance(conn, _CONNECTION_TYPES.get(type(conn).__name__, connector.SnowflakeConnection)):
583
+ if not isinstance(
584
+ conn,
585
+ _CONNECTION_TYPES.get(type(conn).__name__, connector.SnowflakeConnection),
586
+ ):
542
587
  raise TypeError(
543
588
  f"Expected a conn object of type {' or '.join(_CONNECTION_TYPES.keys())} but got {type(conn)}"
544
589
  )
@@ -560,7 +605,7 @@ def send_api_usage_telemetry(
560
605
  func_params=params,
561
606
  api_calls=api_calls,
562
607
  sfqids=sfqids,
563
- custom_tags=custom_tags,
608
+ custom_tags=final_custom_tags,
564
609
  )
565
610
  try:
566
611
  return ctx.run(execute_func_with_statement_params)
@@ -571,7 +616,8 @@ def send_api_usage_telemetry(
571
616
  raise
572
617
  if isinstance(e, snowpark_exceptions.SnowparkClientException):
573
618
  me = snowml_exceptions.SnowflakeMLException(
574
- error_code=error_codes.INTERNAL_SNOWPARK_ERROR, original_exception=e
619
+ error_code=error_codes.INTERNAL_SNOWPARK_ERROR,
620
+ original_exception=e,
575
621
  )
576
622
  else:
577
623
  me = snowml_exceptions.SnowflakeMLException(
@@ -627,7 +673,10 @@ def _get_full_func_name(func: Callable[..., Any]) -> str:
627
673
 
628
674
 
629
675
  def _get_func_params(
630
- func: Callable[..., Any], func_params_to_log: Optional[Iterable[str]], args: Any, kwargs: Any
676
+ func: Callable[..., Any],
677
+ func_params_to_log: Optional[Iterable[str]],
678
+ args: Any,
679
+ kwargs: Any,
631
680
  ) -> dict[str, Any]:
632
681
  """
633
682
  Get function parameters.
@@ -1,6 +1,8 @@
1
+ import base64
1
2
  import collections
2
3
  import logging
3
4
  import os
5
+ import re
4
6
  import time
5
7
  from typing import TYPE_CHECKING, Any, Deque, Iterator, Optional, Sequence, Union
6
8
 
@@ -165,8 +167,71 @@ class ArrowIngestor(data_ingestor.DataIngestor, mixins.SerializableSessionMixin)
165
167
  # Re-shuffle input files on each iteration start
166
168
  if shuffle:
167
169
  np.random.shuffle(sources)
168
- pa_dataset: pds.Dataset = pds.dataset(sources, format=format, **self._kwargs)
169
- return pa_dataset
170
+ try:
171
+ pa_dataset: pds.Dataset = pds.dataset(sources, format=format, **self._kwargs)
172
+ return pa_dataset
173
+ except Exception as e:
174
+ self._tmp_debug_parquet_invalid(e, sources)
175
+
176
+ def _tmp_debug_parquet_invalid(self, e: Exception, sources: list[Any]) -> None:
177
+ # Attach rich debug info to help diagnose intermittent Parquet footer/magic byte errors
178
+ debug_parts: list[str] = []
179
+ debug_parts.append("SNOWML DEBUG: Failed to construct Arrow Dataset")
180
+ debug_parts.append(
181
+ "SNOWML DEBUG: " f"data_sources_count={len(self._data_sources)} " f"resolved_sources_count={len(sources)}"
182
+ )
183
+ # Try to include the exact file path mentioned by pyarrow, if present
184
+ error_text = str(e)
185
+ snow_paths: list[str] = []
186
+ try:
187
+ # Extract snow://... tokens possibly wrapped in quotes
188
+ for match in re.finditer(r'(snow://[^\s\'"]+)', error_text):
189
+ token = match.group(1).rstrip(").,;]")
190
+ snow_paths.append(token)
191
+ except Exception:
192
+ pass
193
+ fs = self._kwargs.get("filesystem")
194
+ if fs is not None:
195
+ # Always include a directory listing with sizes for context
196
+ try:
197
+ debug_parts.append("SNOWML DEBUG: Listing resolved sources with sizes:")
198
+ for s in sources:
199
+ try:
200
+ info = fs.info(s)
201
+ size = info.get("size", None)
202
+ md5 = info.get("md5", None)
203
+ debug_parts.append(f" - {s} size={size} md5={md5}")
204
+ except Exception as le:
205
+ debug_parts.append(f" - {s} info_failed={le}")
206
+ except Exception as le:
207
+ debug_parts.append(f"SNOWML DEBUG: listing sources failed: {le}")
208
+ # If pyarrow referenced a specific file, dump its full contents (base64) for inspection
209
+ for path in snow_paths[:1]: # usually only one path appears in the message
210
+ try:
211
+ info = fs.info(path)
212
+ size = info.get("size", None)
213
+ debug_parts.append(f"SNOWML DEBUG: Inspecting referenced file: {path} size={size}")
214
+ with fs.open(path, "rb") as f:
215
+ content = f.read()
216
+ magic_head = content[:4]
217
+ magic_tail = content[-4:] if content else b""
218
+ looks_like_parquet = (magic_head == b"PAR1") and (magic_tail == b"PAR1")
219
+ debug_parts.append(
220
+ "SNOWML DEBUG: "
221
+ f"file_magic_head={magic_head!r} "
222
+ f"file_magic_tail={magic_tail!r} "
223
+ f"parquet_magic_detected={looks_like_parquet}"
224
+ )
225
+ b64 = base64.b64encode(content).decode("ascii")
226
+ debug_parts.append("SNOWML DEBUG: file_content_base64 (entire file):")
227
+ debug_parts.append(b64)
228
+ except Exception as fe:
229
+ debug_parts.append(f"SNOWML DEBUG: failed to read referenced file {path}: {fe}")
230
+ else:
231
+ debug_parts.append("SNOWML DEBUG: No filesystem available; cannot inspect files")
232
+ debug_message = "\n".join(debug_parts)
233
+ # Re-raise with augmented message to surface in stacktrace
234
+ raise RuntimeError(f"{e}\n{debug_message}") from e
170
235
 
171
236
  def _get_batches_from_buffer(self, batch_size: int) -> dict[str, npt.NDArray[Any]]:
172
237
  """Generate new batches from the existing record batch buffer."""