snowflake-ml-python 1.20.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.20.0 → snowflake_ml_python-1.21.0}/CHANGELOG.md +49 -5
  2. {snowflake_ml_python-1.20.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.21.0}/PKG-INFO +53 -7
  3. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/pyproject.toml +2 -2
  4. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/platform_capabilities.py +36 -0
  5. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/_internal/arrow_ingestor.py +67 -2
  6. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_connector.py +103 -1
  7. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +8 -2
  8. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/keras.py +25 -2
  9. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/lightgbm.py +27 -2
  10. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/xgboost.py +25 -2
  11. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/experiment_tracking.py +93 -3
  12. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/utils.py +6 -0
  13. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_view.py +34 -24
  14. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/protocols.py +3 -0
  15. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/payload_utils.py +761 -0
  16. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +95 -8
  17. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +92 -0
  18. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/startup.sh +112 -0
  19. snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/spec_utils.py +53 -0
  20. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/stage_utils.py +22 -1
  21. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/types.py +14 -7
  22. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/job.py +2 -8
  23. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/manager.py +57 -135
  24. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_version_impl.py +67 -14
  25. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/model_ops.py +32 -6
  26. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/service_ops.py +9 -4
  27. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/service.py +69 -2
  28. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handler.py +8 -2
  29. snowflake_ml_python-1.20.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
  30. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +6 -1
  31. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/core.py +305 -8
  32. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/utils.py +13 -4
  33. snowflake_ml_python-1.21.0/snowflake/ml/model/compute_pool.py +2 -0
  34. snowflake_ml_python-1.21.0/snowflake/ml/model/models/huggingface.py +285 -0
  35. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/models/huggingface_pipeline.py +19 -208
  36. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/type_hints.py +5 -1
  37. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +2 -2
  38. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +12 -0
  39. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +12 -0
  40. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +5 -0
  41. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/html_utils.py +67 -1
  42. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/version.py +1 -1
  43. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0/snowflake_ml_python.egg-info}/PKG-INFO +53 -7
  44. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -1
  45. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/requires.txt +2 -0
  46. snowflake_ml_python-1.20.0/snowflake/ml/jobs/_utils/payload_utils.py +0 -763
  47. snowflake_ml_python-1.20.0/snowflake/ml/jobs/_utils/spec_utils.py +0 -466
  48. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/LICENSE.txt +0 -0
  49. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/README.md +0 -0
  50. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/setup.cfg +0 -0
  51. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/__init__.py +0 -0
  52. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_classify_text.py +0 -0
  53. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_complete.py +0 -0
  54. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  55. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_768.py +0 -0
  56. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_extract_answer.py +0 -0
  57. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_finetune.py +0 -0
  58. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sentiment.py +0 -0
  59. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sse_client.py +0 -0
  60. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_summarize.py +0 -0
  61. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_translate.py +0 -0
  62. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_util.py +0 -0
  63. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env.py +0 -0
  64. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env_utils.py +0 -0
  65. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  66. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  67. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  68. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  69. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  70. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  71. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  72. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  73. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  74. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/file_utils.py +0 -0
  75. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  76. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  77. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  78. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  79. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/init_utils.py +0 -0
  80. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  81. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  82. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  83. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/telemetry.py +0 -0
  84. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/type_utils.py +0 -0
  85. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  86. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  87. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  88. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  89. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  90. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  91. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
  92. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  93. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  94. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  95. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/result.py +0 -0
  96. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  97. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  98. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  99. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  100. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  101. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  102. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/__init__.py +0 -0
  103. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_ingestor.py +0 -0
  104. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_source.py +0 -0
  105. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  106. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/torch_utils.py +0 -0
  107. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/__init__.py +0 -0
  108. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset.py +0 -0
  109. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  110. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  111. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  112. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/__init__.py +0 -0
  113. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  114. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  115. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  116. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  117. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  118. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
  119. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/__init__.py +0 -0
  120. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  121. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/entity.py +0 -0
  122. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  123. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  124. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  125. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  126. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  127. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  128. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  129. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  130. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  131. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  132. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  133. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  134. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  135. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  136. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  137. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  138. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  139. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  140. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  141. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  142. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  143. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  144. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_store.py +0 -0
  145. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  146. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/fileset.py +0 -0
  147. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  148. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/snowfs.py +0 -0
  149. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  150. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/__init__.py +0 -0
  151. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  152. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
  153. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
  154. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
  155. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
  156. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/results.py +0 -0
  157. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
  158. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  159. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
  160. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
  161. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  162. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  163. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
  164. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  165. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  166. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  167. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  168. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/decorators.py +0 -0
  169. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/__init__.py +0 -0
  170. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  171. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/__init__.py +0 -0
  172. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
  173. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
  174. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  175. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  176. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  177. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
  178. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  179. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  180. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  181. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  182. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  183. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  184. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  185. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  186. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  187. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  188. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  189. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  190. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  191. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  192. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
  193. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  194. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  195. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  196. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  197. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  198. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  199. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  200. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  201. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
  202. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  203. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  204. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  205. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  206. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  207. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  208. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  209. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  210. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  211. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  212. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  213. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  214. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  215. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  216. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  217. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  218. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  219. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  220. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  221. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  222. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  223. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  224. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  225. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  226. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  227. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  228. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  229. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  230. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  231. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  232. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/custom_model.py +0 -0
  233. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/event_handler.py +0 -0
  234. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/inference_engine.py +0 -0
  235. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/model_signature.py +0 -0
  236. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/openai_signatures.py +0 -0
  237. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/target_platform.py +0 -0
  238. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/task.py +0 -0
  239. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/volatility.py +0 -0
  240. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  241. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  242. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  243. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  244. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  245. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  246. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  247. {snowflake_ml_python-1.20.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.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  249. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  250. {snowflake_ml_python-1.20.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.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  252. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  253. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  254. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  255. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  256. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  257. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  258. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  259. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  260. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  261. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  262. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  263. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  264. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  265. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  266. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  267. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  268. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  269. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  270. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  271. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  272. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  273. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  274. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  275. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  276. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  277. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  278. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  279. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  280. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  281. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  282. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  283. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  284. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  285. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  286. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  287. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  288. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  289. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  290. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  291. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  292. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  293. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  294. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  295. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  296. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  297. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  298. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  299. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  300. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  301. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  302. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  303. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  304. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  305. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  306. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  307. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  308. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  309. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  310. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  311. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  312. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  313. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  314. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  315. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  316. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  317. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  318. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  319. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  320. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  321. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/base.py +0 -0
  322. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  323. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  324. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  325. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  326. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  327. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  328. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  329. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  330. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  331. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  332. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  333. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  334. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  335. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  336. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  337. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  338. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  339. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  340. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  341. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  342. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  343. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  344. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  345. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  346. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  347. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  348. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  349. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  350. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  351. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  352. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  353. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  354. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  355. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  356. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  357. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  358. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  359. {snowflake_ml_python-1.20.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.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  361. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  362. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  363. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  364. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  365. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  366. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  367. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  368. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  369. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  370. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  371. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  372. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  373. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  374. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  375. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  376. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  377. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  378. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  379. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  380. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  381. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  382. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  383. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  384. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  385. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  386. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  387. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  388. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  389. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  390. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  391. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  392. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  393. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  394. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  395. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  396. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  397. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  398. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  399. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  400. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  401. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  402. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  403. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  404. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  405. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  406. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  407. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  408. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  409. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  410. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  411. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  412. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  413. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  414. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  415. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  416. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  417. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  418. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  419. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  420. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  421. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  422. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  423. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  424. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  425. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  426. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  427. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  428. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  429. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  430. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  431. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  432. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  433. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  434. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  435. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  436. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  437. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  438. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  439. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  440. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  441. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  442. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  443. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  444. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  445. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  446. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  447. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  448. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  449. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  450. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  451. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  452. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  453. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  454. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  455. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  456. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  457. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  458. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  459. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  460. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/shap.py +0 -0
  461. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/__init__.py +0 -0
  462. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  463. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
  464. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/registry.py +0 -0
  465. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/authentication.py +0 -0
  466. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/connection_params.py +0 -0
  467. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sparse.py +0 -0
  468. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sql_client.py +0 -0
  469. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  470. {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,14 +1,62 @@
1
1
  # Release History
2
2
 
3
- ## 1.20.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
30
  * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
8
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.
9
34
 
10
35
  ### Behavior Changes
11
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
+
12
60
  ### New Features
13
61
 
14
62
  * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
@@ -39,8 +87,6 @@ mv.create_service(
39
87
  )
40
88
  ```
41
89
 
42
- ### Deprecations
43
-
44
90
  ## 1.19.0 (11-13-2025)
45
91
 
46
92
  ### Bug Fixes
@@ -147,8 +193,6 @@ options = {
147
193
  * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
148
194
  To read more <https://github.com/huggingface/transformers/pull/31165>
149
195
 
150
- ### New Features
151
-
152
196
  ## 1.14.0 (09-18-2025)
153
197
 
154
198
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.20.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
@@ -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,15 +417,63 @@ 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.20.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
447
  * Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
423
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.
424
451
 
425
452
  ### Behavior Changes
426
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
+
427
477
  ### New Features
428
478
 
429
479
  * Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
@@ -454,8 +504,6 @@ mv.create_service(
454
504
  )
455
505
  ```
456
506
 
457
- ### Deprecations
458
-
459
507
  ## 1.19.0 (11-13-2025)
460
508
 
461
509
  ### Bug Fixes
@@ -562,8 +610,6 @@ options = {
562
610
  * Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
563
611
  To read more <https://github.com/huggingface/transformers/pull/31165>
564
612
 
565
- ### New Features
566
-
567
613
  ## 1.14.0 (09-18-2025)
568
614
 
569
615
  ### Bug Fixes
@@ -6,7 +6,7 @@ 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
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]]
@@ -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
  "*" = [ "*",]
@@ -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}")
@@ -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."""
@@ -1,5 +1,15 @@
1
1
  import os
2
- from typing import TYPE_CHECKING, Any, Generator, Optional, Sequence, TypeVar
2
+ from typing import (
3
+ TYPE_CHECKING,
4
+ Any,
5
+ Generator,
6
+ Literal,
7
+ Optional,
8
+ Sequence,
9
+ TypeVar,
10
+ Union,
11
+ overload,
12
+ )
3
13
 
4
14
  import numpy.typing as npt
5
15
  from typing_extensions import deprecated
@@ -11,6 +21,7 @@ from snowflake.ml.data._internal.arrow_ingestor import ArrowIngestor
11
21
  from snowflake.snowpark import context as sp_context
12
22
 
13
23
  if TYPE_CHECKING:
24
+ import datasets as hf_datasets
14
25
  import pandas as pd
15
26
  import ray
16
27
  import tensorflow as tf
@@ -257,6 +268,97 @@ class DataConnector:
257
268
  except ImportError as e:
258
269
  raise ImportError("Ray is not installed, please install ray in your local environment.") from e
259
270
 
271
+ @overload
272
+ def to_huggingface_dataset(
273
+ self,
274
+ *,
275
+ streaming: Literal[False] = ...,
276
+ limit: Optional[int] = ...,
277
+ ) -> "hf_datasets.Dataset":
278
+ ...
279
+
280
+ @overload
281
+ def to_huggingface_dataset(
282
+ self,
283
+ *,
284
+ streaming: Literal[True],
285
+ limit: Optional[int] = ...,
286
+ batch_size: int = ...,
287
+ shuffle: bool = ...,
288
+ drop_last_batch: bool = ...,
289
+ ) -> "hf_datasets.IterableDataset":
290
+ ...
291
+
292
+ @telemetry.send_api_usage_telemetry(
293
+ project=_PROJECT,
294
+ subproject_extractor=lambda self: type(self).__name__,
295
+ func_params_to_log=["streaming", "limit", "batch_size", "shuffle", "drop_last_batch"],
296
+ )
297
+ def to_huggingface_dataset(
298
+ self,
299
+ *,
300
+ streaming: bool = False,
301
+ limit: Optional[int] = None,
302
+ batch_size: int = 1024,
303
+ shuffle: bool = False,
304
+ drop_last_batch: bool = False,
305
+ ) -> "Union[hf_datasets.Dataset, hf_datasets.IterableDataset]":
306
+ """Retrieve the Snowflake data as a HuggingFace Dataset.
307
+
308
+ Args:
309
+ streaming: If True, returns an IterableDataset that streams data in batches.
310
+ If False (default), returns an in-memory Dataset.
311
+ limit: Maximum number of rows to load. If None, loads all rows.
312
+ batch_size: Size of batches for internal data retrieval.
313
+ shuffle: Whether to shuffle the data. If True, files will be shuffled and rows
314
+ in each file will also be shuffled.
315
+ drop_last_batch: Whether to drop the last batch if it's smaller than batch_size.
316
+
317
+ Returns:
318
+ A HuggingFace Dataset (in-memory) or IterableDataset (streaming).
319
+ """
320
+ import datasets as hf_datasets
321
+
322
+ if streaming:
323
+ return self._to_huggingface_iterable_dataset(
324
+ limit=limit,
325
+ batch_size=batch_size,
326
+ shuffle=shuffle,
327
+ drop_last_batch=drop_last_batch,
328
+ )
329
+ else:
330
+ return hf_datasets.Dataset.from_pandas(self._ingestor.to_pandas(limit))
331
+
332
+ def _to_huggingface_iterable_dataset(
333
+ self,
334
+ *,
335
+ limit: Optional[int],
336
+ batch_size: int,
337
+ shuffle: bool,
338
+ drop_last_batch: bool,
339
+ ) -> "hf_datasets.IterableDataset":
340
+ """Create a HuggingFace IterableDataset that streams data in batches."""
341
+ import datasets as hf_datasets
342
+
343
+ def generator() -> Generator[dict[str, Any], None, None]:
344
+ rows_yielded = 0
345
+ for batch in self._ingestor.to_batches(batch_size, shuffle, drop_last_batch):
346
+ # Yield individual rows from each batch
347
+ num_rows = len(next(iter(batch.values())))
348
+ for i in range(num_rows):
349
+ if limit is not None and rows_yielded >= limit:
350
+ return
351
+ yield {k: v[i].item() if hasattr(v[i], "item") else v[i] for k, v in batch.items()}
352
+ rows_yielded += 1
353
+
354
+ result = hf_datasets.IterableDataset.from_generator(generator)
355
+ # In datasets >= 3.x, from_generator returns IterableDatasetDict
356
+ # We need to extract the IterableDataset from the dict
357
+ if hasattr(hf_datasets, "IterableDatasetDict") and isinstance(result, hf_datasets.IterableDatasetDict):
358
+ # Get the first (and only) dataset from the dict
359
+ result = next(iter(result.values()))
360
+ return result
361
+
260
362
 
261
363
  # Switch to use Runtime's Data Ingester if running in ML runtime
262
364
  # Fail silently if the data ingester is not found
@@ -41,8 +41,14 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
41
41
  ).has_dimensions(expected_rows=1, expected_cols=1).validate()
42
42
 
43
43
  @telemetry.send_api_usage_telemetry(project=telemetry.TelemetryProject.EXPERIMENT_TRACKING.value)
44
- def drop_experiment(self, *, experiment_name: sql_identifier.SqlIdentifier) -> None:
45
- experiment_fqn = self.fully_qualified_object_name(self._database_name, self._schema_name, experiment_name)
44
+ def drop_experiment(
45
+ self,
46
+ *,
47
+ database_name: sql_identifier.SqlIdentifier,
48
+ schema_name: sql_identifier.SqlIdentifier,
49
+ experiment_name: sql_identifier.SqlIdentifier,
50
+ ) -> None:
51
+ experiment_fqn = self.fully_qualified_object_name(database_name, schema_name, experiment_name)
46
52
  query_result_checker.SqlResultValidator(self._session, f"DROP EXPERIMENT {experiment_fqn}").has_dimensions(
47
53
  expected_rows=1, expected_cols=1
48
54
  ).validate()
@@ -12,6 +12,8 @@ if TYPE_CHECKING:
12
12
 
13
13
 
14
14
  class SnowflakeKerasCallback(keras.callbacks.Callback):
15
+ """Keras callback for automatically logging to a Snowflake ML Experiment."""
16
+
15
17
  def __init__(
16
18
  self,
17
19
  experiment_tracking: "ExperimentTracking",
@@ -23,12 +25,33 @@ class SnowflakeKerasCallback(keras.callbacks.Callback):
23
25
  version_name: Optional[str] = None,
24
26
  model_signature: Optional["ModelSignature"] = None,
25
27
  ) -> None:
28
+ """
29
+ Creates a new Keras callback.
30
+
31
+ Args:
32
+ experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
33
+ to use for logging.
34
+ log_model (bool): Whether to log the model at the end of training. Default is True.
35
+ log_metrics (bool): Whether to log metrics during training. Default is True.
36
+ log_params (bool): Whether to log model parameters at the start of training. Default is True.
37
+ log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
38
+ Default is 1, logging after every epoch.
39
+ model_name (Optional[str]): The model name to use when logging the model.
40
+ If None, the model name will be derived from the experiment name.
41
+ version_name (Optional[str]): The model version name to use when logging the model.
42
+ If None, the version name will be randomly generated.
43
+ model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
44
+ when logging the model. This is required if ``log_model`` is set to True.
45
+
46
+ Raises:
47
+ ValueError: When ``log_every_n_epochs`` is not a positive integer.
48
+ """
26
49
  self._experiment_tracking = experiment_tracking
27
50
  self.log_model = log_model
28
51
  self.log_metrics = log_metrics
29
52
  self.log_params = log_params
30
- if log_every_n_epochs < 1:
31
- raise ValueError("`log_every_n_epochs` must be positive.")
53
+ if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
54
+ raise ValueError("`log_every_n_epochs` must be a positive integer.")
32
55
  self.log_every_n_epochs = log_every_n_epochs
33
56
  self.model_name = model_name
34
57
  self.version_name = version_name
@@ -3,12 +3,16 @@ from warnings import warn
3
3
 
4
4
  import lightgbm as lgb
5
5
 
6
+ from snowflake.ml.experiment import utils
7
+
6
8
  if TYPE_CHECKING:
7
9
  from snowflake.ml.experiment.experiment_tracking import ExperimentTracking
8
10
  from snowflake.ml.model.model_signature import ModelSignature
9
11
 
10
12
 
11
13
  class SnowflakeLightgbmCallback(lgb.callback._RecordEvaluationCallback):
14
+ """LightGBM callback for automatically logging to a Snowflake ML Experiment."""
15
+
12
16
  def __init__(
13
17
  self,
14
18
  experiment_tracking: "ExperimentTracking",
@@ -20,12 +24,33 @@ class SnowflakeLightgbmCallback(lgb.callback._RecordEvaluationCallback):
20
24
  version_name: Optional[str] = None,
21
25
  model_signature: Optional["ModelSignature"] = None,
22
26
  ) -> None:
27
+ """
28
+ Creates a new LightGBM callback.
29
+
30
+ Args:
31
+ experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
32
+ to use for logging.
33
+ log_model (bool): Whether to log the model at the end of training. Default is True.
34
+ log_metrics (bool): Whether to log metrics during training. Default is True.
35
+ log_params (bool): Whether to log model parameters at the start of training. Default is True.
36
+ log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
37
+ Default is 1, logging after every iteration.
38
+ model_name (Optional[str]): The model name to use when logging the model.
39
+ If None, the model name will be derived from the experiment name.
40
+ version_name (Optional[str]): The model version name to use when logging the model.
41
+ If None, the version name will be randomly generated.
42
+ model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
43
+ when logging the model. This is required if ``log_model`` is set to True.
44
+
45
+ Raises:
46
+ ValueError: When ``log_every_n_epochs`` is not a positive integer.
47
+ """
23
48
  self._experiment_tracking = experiment_tracking
24
49
  self.log_model = log_model
25
50
  self.log_metrics = log_metrics
26
51
  self.log_params = log_params
27
- if log_every_n_epochs < 1:
28
- raise ValueError("`log_every_n_epochs` must be positive.")
52
+ if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
53
+ raise ValueError("`log_every_n_epochs` must be a positive integer.")
29
54
  self.log_every_n_epochs = log_every_n_epochs
30
55
  self.model_name = model_name
31
56
  self.version_name = version_name
@@ -12,6 +12,8 @@ if TYPE_CHECKING:
12
12
 
13
13
 
14
14
  class SnowflakeXgboostCallback(xgb.callback.TrainingCallback):
15
+ """XGBoost callback for automatically logging to a Snowflake ML Experiment."""
16
+
15
17
  def __init__(
16
18
  self,
17
19
  experiment_tracking: "ExperimentTracking",
@@ -23,12 +25,33 @@ class SnowflakeXgboostCallback(xgb.callback.TrainingCallback):
23
25
  version_name: Optional[str] = None,
24
26
  model_signature: Optional["ModelSignature"] = None,
25
27
  ) -> None:
28
+ """
29
+ Initialize the callback.
30
+
31
+ Args:
32
+ experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
33
+ to use for logging.
34
+ log_model (bool): Whether to log the model at the end of training. Default is True.
35
+ log_metrics (bool): Whether to log metrics during training. Default is True.
36
+ log_params (bool): Whether to log model parameters at the start of training. Default is True.
37
+ log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
38
+ Default is 1, logging after every iteration.
39
+ model_name (Optional[str]): The model name to use when logging the model.
40
+ If None, the model name will be derived from the experiment name.
41
+ version_name (Optional[str]): The model version name to use when logging the model.
42
+ If None, the version name will be randomly generated.
43
+ model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
44
+ when logging the model. This is required if ``log_model`` is set to True.
45
+
46
+ Raises:
47
+ ValueError: When ``log_every_n_epochs`` is not a positive integer.
48
+ """
26
49
  self._experiment_tracking = experiment_tracking
27
50
  self.log_model = log_model
28
51
  self.log_metrics = log_metrics
29
52
  self.log_params = log_params
30
- if log_every_n_epochs < 1:
31
- raise ValueError("`log_every_n_epochs` must be positive.")
53
+ if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
54
+ raise ValueError("`log_every_n_epochs` must be a positive integer.")
32
55
  self.log_every_n_epochs = log_every_n_epochs
33
56
  self.model_name = model_name
34
57
  self.version_name = version_name