snowflake-ml-python 1.9.0__tar.gz → 1.9.2__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 (447) hide show
  1. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/CHANGELOG.md +101 -1
  2. {snowflake_ml_python-1.9.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.9.2}/PKG-INFO +107 -5
  3. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/pyproject.toml +3 -3
  4. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/env_utils.py +44 -3
  5. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/platform_capabilities.py +52 -2
  6. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/type_utils.py +1 -1
  7. snowflake_ml_python-1.9.2/snowflake/ml/_internal/utils/mixins.py +73 -0
  8. snowflake_ml_python-1.9.2/snowflake/ml/_internal/utils/service_logger.py +165 -0
  9. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/_internal/arrow_ingestor.py +15 -2
  10. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/data_connector.py +13 -2
  11. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/data_ingestor.py +8 -0
  12. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/torch_utils.py +1 -1
  13. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/dataset/dataset.py +2 -1
  14. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/dataset/dataset_reader.py +14 -4
  15. snowflake_ml_python-1.9.2/snowflake/ml/experiment/__init__.py +3 -0
  16. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +98 -0
  17. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_entities/__init__.py +4 -0
  18. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_entities/experiment.py +10 -0
  19. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_entities/run.py +62 -0
  20. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_entities/run_metadata.py +68 -0
  21. snowflake_ml_python-1.9.2/snowflake/ml/experiment/_experiment_info.py +63 -0
  22. snowflake_ml_python-1.9.2/snowflake/ml/experiment/callback.py +121 -0
  23. snowflake_ml_python-1.9.2/snowflake/ml/experiment/experiment_tracking.py +319 -0
  24. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/constants.py +15 -4
  25. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/payload_utils.py +156 -54
  26. snowflake_ml_python-1.9.2/snowflake/ml/jobs/_utils/query_helper.py +20 -0
  27. snowflake_ml_python-1.9.2/snowflake/ml/jobs/_utils/scripts/constants.py +4 -0
  28. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +130 -23
  29. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/spec_utils.py +23 -8
  30. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/stage_utils.py +30 -14
  31. snowflake_ml_python-1.9.2/snowflake/ml/jobs/_utils/types.py +109 -0
  32. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/job.py +70 -75
  33. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/manager.py +59 -31
  34. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/lineage/lineage_node.py +2 -2
  35. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/model/model_version_impl.py +16 -4
  36. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/ops/service_ops.py +336 -137
  37. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/service/model_deployment_spec.py +1 -1
  38. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -1
  39. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/service.py +1 -38
  40. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_composer.py +6 -1
  41. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +17 -3
  42. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +1 -0
  43. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +41 -2
  44. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/sklearn.py +9 -5
  45. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +3 -1
  46. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +3 -3
  47. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/pandas_handler.py +3 -0
  48. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/utils.py +4 -0
  49. snowflake_ml_python-1.9.2/snowflake/ml/model/event_handler.py +117 -0
  50. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/model_signature.py +11 -9
  51. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/models/huggingface_pipeline.py +170 -1
  52. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/framework/base.py +1 -1
  53. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/classification.py +14 -14
  54. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/correlation.py +19 -8
  55. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/ranking.py +6 -6
  56. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/regression.py +9 -9
  57. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/explain_visualize.py +12 -5
  58. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/registry/_manager/model_manager.py +32 -15
  59. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/registry/registry.py +48 -80
  60. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/version.py +1 -1
  61. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2/snowflake_ml_python.egg-info}/PKG-INFO +107 -5
  62. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake_ml_python.egg-info/SOURCES.txt +10 -0
  63. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake_ml_python.egg-info/requires.txt +5 -3
  64. snowflake_ml_python-1.9.0/snowflake/ml/_internal/utils/mixins.py +0 -61
  65. snowflake_ml_python-1.9.0/snowflake/ml/_internal/utils/service_logger.py +0 -63
  66. snowflake_ml_python-1.9.0/snowflake/ml/jobs/_utils/query_helper.py +0 -9
  67. snowflake_ml_python-1.9.0/snowflake/ml/jobs/_utils/scripts/constants.py +0 -26
  68. snowflake_ml_python-1.9.0/snowflake/ml/jobs/_utils/types.py +0 -49
  69. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/LICENSE.txt +0 -0
  70. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/README.md +0 -0
  71. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/setup.cfg +0 -0
  72. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/__init__.py +0 -0
  73. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_classify_text.py +0 -0
  74. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_complete.py +0 -0
  75. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_embed_text_1024.py +0 -0
  76. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_embed_text_768.py +0 -0
  77. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_extract_answer.py +0 -0
  78. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_finetune.py +0 -0
  79. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_sentiment.py +0 -0
  80. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_sse_client.py +0 -0
  81. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_summarize.py +0 -0
  82. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_translate.py +0 -0
  83. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/cortex/_util.py +0 -0
  84. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/env.py +0 -0
  85. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  86. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  87. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  88. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  89. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  90. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  91. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  92. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  93. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  94. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/file_utils.py +0 -0
  95. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  96. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  97. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  98. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  99. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/init_utils.py +0 -0
  100. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  101. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/migrator_utils.py +0 -0
  102. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  103. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/telemetry.py +0 -0
  104. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  105. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  106. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/formatting.py +0 -0
  107. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/identifier.py +0 -0
  108. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  109. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  110. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  111. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  112. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  113. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/result.py +0 -0
  114. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  115. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  116. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  117. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  118. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  119. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/__init__.py +0 -0
  120. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/data_source.py +0 -0
  121. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/data/ingestor_utils.py +0 -0
  122. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/dataset/__init__.py +0 -0
  123. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/dataset/dataset_factory.py +0 -0
  124. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  125. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/__init__.py +0 -0
  126. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/access_manager.py +0 -0
  127. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/entity.py +0 -0
  128. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  129. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  130. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  131. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  132. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  133. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  134. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  135. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  136. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  137. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  138. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  139. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  140. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  141. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  142. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  143. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  144. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  145. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  146. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  147. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  148. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  149. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  150. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/feature_store.py +0 -0
  151. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/feature_store/feature_view.py +0 -0
  152. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  153. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/fileset/fileset.py +0 -0
  154. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/fileset/sfcfs.py +0 -0
  155. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/fileset/snowfs.py +0 -0
  156. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/fileset/stage_fs.py +0 -0
  157. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/__init__.py +0 -0
  158. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  159. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/interop_utils.py +0 -0
  160. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  161. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  162. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  163. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/jobs/decorators.py +0 -0
  164. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/lineage/__init__.py +0 -0
  165. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/__init__.py +0 -0
  166. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  167. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  168. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
  169. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/_base.py +0 -0
  170. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/model.py +0 -0
  171. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  172. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/stage.py +0 -0
  173. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_client/sql/tag.py +0 -0
  174. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  175. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  176. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  177. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  178. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  179. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  180. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  181. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  182. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handler.py +0 -0
  183. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  184. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  185. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  186. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  187. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  188. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  189. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  190. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  191. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  192. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  193. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  194. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  195. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  196. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  197. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  198. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  199. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  200. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  201. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  202. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  203. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  204. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  205. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  206. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  207. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_packager.py +0 -0
  208. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  209. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  210. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  211. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/core.py +0 -0
  212. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  213. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  214. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  215. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  216. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  217. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/custom_model.py +0 -0
  218. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/target_platform.py +0 -0
  219. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/task.py +0 -0
  220. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/model/type_hints.py +0 -0
  221. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  222. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  223. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  224. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  225. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  226. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  227. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  228. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  229. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  230. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  231. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  232. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  233. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  234. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  235. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  236. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  237. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  238. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  239. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/birch.py +0 -0
  240. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  241. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  242. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  243. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  244. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  245. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  246. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/optics.py +0 -0
  247. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  248. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  249. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  250. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/compose/__init__.py +0 -0
  251. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  252. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  253. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  254. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  255. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  256. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  257. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  258. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  259. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  260. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/oas.py +0 -0
  261. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  262. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  263. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  264. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  265. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  266. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  267. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  268. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  269. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  270. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  271. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  272. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  273. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  274. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  275. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  276. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  277. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  278. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  279. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  280. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  281. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  282. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  283. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  284. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  285. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  286. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  287. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  288. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  289. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  290. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  291. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  292. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  293. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  294. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  295. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  296. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  297. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  298. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  299. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  300. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  301. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  302. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/framework/_utils.py +0 -0
  303. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  304. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  305. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  306. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/impute/__init__.py +0 -0
  307. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  308. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  309. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  310. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  311. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  312. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  313. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  314. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  315. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  316. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  317. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  318. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  319. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  320. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  321. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  322. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  323. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  324. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  325. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  326. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  327. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  328. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  329. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  330. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  331. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  332. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  333. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  334. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  335. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  336. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  337. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  338. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  339. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  340. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  341. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  342. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  343. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  344. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  345. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  346. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  347. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  348. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  349. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  350. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  351. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  352. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  353. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  354. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  355. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  356. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  357. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  358. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  359. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  360. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/manifold/mds.py +0 -0
  361. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  362. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  363. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  364. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  365. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  366. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  367. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  368. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  369. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  370. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  371. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  372. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  373. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  374. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  375. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  376. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  377. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  378. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  379. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  380. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  381. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  382. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  383. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  384. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  385. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  386. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  387. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  388. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  389. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  390. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  391. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  392. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  393. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  394. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  395. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  396. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  397. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  398. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  399. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  400. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  401. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  402. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  403. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  404. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  405. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  406. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  407. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  408. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  409. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  410. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  411. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  412. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  413. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  414. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  415. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  416. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/__init__.py +0 -0
  417. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  418. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  419. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  420. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  421. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/svc.py +0 -0
  422. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/svm/svr.py +0 -0
  423. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/tree/__init__.py +0 -0
  424. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  425. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  426. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  427. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  428. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  429. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  430. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  431. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  432. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  433. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
  434. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  435. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  436. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
  437. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  438. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/model_monitor.py +0 -0
  439. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/monitoring/shap.py +0 -0
  440. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/registry/__init__.py +0 -0
  441. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/utils/authentication.py +0 -0
  442. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/utils/connection_params.py +0 -0
  443. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/utils/html_utils.py +0 -0
  444. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/utils/sparse.py +0 -0
  445. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake/ml/utils/sql_client.py +0 -0
  446. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  447. {snowflake_ml_python-1.9.0 → snowflake_ml_python-1.9.2}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,5 +1,91 @@
1
1
  # Release History
2
2
 
3
+ ## 1.9.2
4
+
5
+ ### Bug Fixes
6
+
7
+ - DataConnector: Fix `self._session` related errors inside Container Runtime.
8
+ - Registry: Fix a bug when trying to pass `None` to array (`pd.dtype('O')`) in signature and pandas data handler.
9
+
10
+ ### New Features
11
+
12
+ - Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training
13
+ XGBoost and LightGBM models.
14
+
15
+ ```python
16
+ from snowflake.ml.experiment import ExperimentTracking
17
+ from snowflake.ml.experiment.callback import SnowflakeXgboostCallback, SnowflakeLightgbmCallback
18
+
19
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
20
+
21
+ exp.set_experiment("MY_EXPERIMENT")
22
+
23
+ # XGBoost
24
+ callback = SnowflakeXgboostCallback(
25
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
26
+ )
27
+ model = XGBClassifier(callbacks=[callback])
28
+ with exp.start_run():
29
+ model.fit(X, y, eval_set=[(X_test, y_test)])
30
+
31
+ # LightGBM
32
+ callback = SnowflakeLightgbmCallback(
33
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
34
+ )
35
+ model = LGBMClassifier()
36
+ with exp.start_run():
37
+ model.fit(X, y, eval_set=[(X_test, y_test)], callbacks=[callback])
38
+ ```
39
+
40
+ ## 1.9.1 (07-18-2025)
41
+
42
+ ### Bug Fixes
43
+
44
+ - Registry: Fix a bug when trying to set the PAD token the HuggingFace `text-generation` model had multiple EOS tokens.
45
+ The handler picks the first EOS token as PAD token now.
46
+
47
+ ### New Features
48
+
49
+ - DataConnector: DataConnector objects can now be pickled
50
+ - Dataset: Dataset objects can now be pickled
51
+ - Registry (PrPr): Introducing `create_service` function in `snowflake/ml/model/models/huggingface_pipeline.py`
52
+ which creates a service to log a HF model and upon successful logging, an inference service is created.
53
+
54
+ ```python
55
+ from snowflake.ml.model.models import huggingface_pipeline
56
+
57
+ hf_model_ref = huggingface_pipeline.HuggingFacePipelineModel(
58
+ model="gpt2",
59
+ task="text-generation", # Optional
60
+ )
61
+
62
+
63
+ hf_model_ref.create_service(
64
+ session=session,
65
+ service_name="test_service",
66
+ service_compute_pool="test_compute_pool",
67
+ image_repo="test_repo",
68
+ ...
69
+ )
70
+ ```
71
+
72
+ - Experiment Tracking (PrPr): New module for managing and tracking ML experiments in Snowflake.
73
+
74
+ ```python
75
+ from snowflake.ml.experiment import ExperimentTracking
76
+
77
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
78
+
79
+ exp.set_experiment("MY_EXPERIMENT")
80
+
81
+ with exp.start_run():
82
+ exp.log_param("batch_size", 32)
83
+ exp.log_metrics("accuracy", 0.98, step=10)
84
+ exp.log_model(my_model, model_name="MY_MODEL")
85
+ ```
86
+
87
+ - Registry: Added support for wide input (500+ features) for inference done using SPCS
88
+
3
89
  ## 1.9.0
4
90
 
5
91
  ### Bug Fixes
@@ -7,6 +93,19 @@
7
93
  - Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
8
94
  parameter is enabled
9
95
  - Registry: Fixed duplicate UserWarning logs during model packaging
96
+ - Registry: If the huggingface pipeline text-generation model doesn't contain a default chat template, a ChatML template
97
+ is assigned to the tokenizer.
98
+
99
+ ```shell
100
+ {% for message in messages %}
101
+ {{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}
102
+ {% endfor %}
103
+ {% if add_generation_prompt %}
104
+ {{ '<|im_start|>assistant\n' }}
105
+ {% endif %}"
106
+ ```
107
+
108
+ - Registry: Fixed SQL queries during registry initialization that were forcing warehouse requirement
10
109
 
11
110
  ### Behavior Changes
12
111
 
@@ -116,7 +215,8 @@
116
215
  - Pre-created Snowpark Session is now available inside job payloads using
117
216
  `snowflake.snowpark.context.get_active_session()`
118
217
  - Registry: Introducing `save_location` to `log_model` using the `options` argument.
119
- User's can provide the path to write the model version's files that get stored in Snowflake's stage.
218
+ Users can use the `save_location` option to specify a local directory where the model files and configuration are written.
219
+ This is useful when the default temporary directory has space limitations.
120
220
 
121
221
  ```python
122
222
  reg.log_model(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.9.0
3
+ Version: 1.9.2
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:
@@ -240,9 +240,10 @@ Requires-Dist: cloudpickle>=2.0.0
240
240
  Requires-Dist: cryptography
241
241
  Requires-Dist: fsspec[http]<2026,>=2024.6.1
242
242
  Requires-Dist: importlib_resources<7,>=6.1.1
243
- Requires-Dist: numpy<2,>=1.23
243
+ Requires-Dist: numpy<3,>=1.23
244
244
  Requires-Dist: packaging<25,>=20.9
245
245
  Requires-Dist: pandas<3,>=2.1.4
246
+ Requires-Dist: platformdirs<5
246
247
  Requires-Dist: pyarrow
247
248
  Requires-Dist: pydantic<3,>=2.8.2
248
249
  Requires-Dist: pyjwt<3,>=2.0.0
@@ -257,6 +258,7 @@ Requires-Dist: snowflake-connector-python[pandas]<4,>=3.15.0
257
258
  Requires-Dist: snowflake-snowpark-python!=1.26.0,<2,>=1.17.0
258
259
  Requires-Dist: snowflake.core<2,>=1.0.2
259
260
  Requires-Dist: sqlparse<1,>=0.4
261
+ Requires-Dist: tqdm<5
260
262
  Requires-Dist: typing-extensions<5,>=4.1.0
261
263
  Requires-Dist: xgboost<3,>=1.7.3
262
264
  Provides-Extra: all
@@ -272,7 +274,7 @@ Requires-Dist: tensorflow<3,>=2.17.0; extra == "all"
272
274
  Requires-Dist: tokenizers<1,>=0.15.1; extra == "all"
273
275
  Requires-Dist: torch<3,>=2.0.1; extra == "all"
274
276
  Requires-Dist: torchdata<1,>=0.4; extra == "all"
275
- Requires-Dist: transformers<5,>=4.39.3; extra == "all"
277
+ Requires-Dist: transformers!=4.51.3,<5,>=4.39.3; extra == "all"
276
278
  Provides-Extra: altair
277
279
  Requires-Dist: altair<6,>=5; extra == "altair"
278
280
  Provides-Extra: catboost
@@ -297,7 +299,7 @@ Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "transformers"
297
299
  Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
298
300
  Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
299
301
  Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
300
- Requires-Dist: transformers<5,>=4.39.3; extra == "transformers"
302
+ Requires-Dist: transformers!=4.51.3,<5,>=4.39.3; extra == "transformers"
301
303
  Dynamic: license-file
302
304
 
303
305
  # Snowpark ML
@@ -408,6 +410,92 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
408
410
 
409
411
  # Release History
410
412
 
413
+ ## 1.9.2
414
+
415
+ ### Bug Fixes
416
+
417
+ - DataConnector: Fix `self._session` related errors inside Container Runtime.
418
+ - Registry: Fix a bug when trying to pass `None` to array (`pd.dtype('O')`) in signature and pandas data handler.
419
+
420
+ ### New Features
421
+
422
+ - Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training
423
+ XGBoost and LightGBM models.
424
+
425
+ ```python
426
+ from snowflake.ml.experiment import ExperimentTracking
427
+ from snowflake.ml.experiment.callback import SnowflakeXgboostCallback, SnowflakeLightgbmCallback
428
+
429
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
430
+
431
+ exp.set_experiment("MY_EXPERIMENT")
432
+
433
+ # XGBoost
434
+ callback = SnowflakeXgboostCallback(
435
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
436
+ )
437
+ model = XGBClassifier(callbacks=[callback])
438
+ with exp.start_run():
439
+ model.fit(X, y, eval_set=[(X_test, y_test)])
440
+
441
+ # LightGBM
442
+ callback = SnowflakeLightgbmCallback(
443
+ exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
444
+ )
445
+ model = LGBMClassifier()
446
+ with exp.start_run():
447
+ model.fit(X, y, eval_set=[(X_test, y_test)], callbacks=[callback])
448
+ ```
449
+
450
+ ## 1.9.1 (07-18-2025)
451
+
452
+ ### Bug Fixes
453
+
454
+ - Registry: Fix a bug when trying to set the PAD token the HuggingFace `text-generation` model had multiple EOS tokens.
455
+ The handler picks the first EOS token as PAD token now.
456
+
457
+ ### New Features
458
+
459
+ - DataConnector: DataConnector objects can now be pickled
460
+ - Dataset: Dataset objects can now be pickled
461
+ - Registry (PrPr): Introducing `create_service` function in `snowflake/ml/model/models/huggingface_pipeline.py`
462
+ which creates a service to log a HF model and upon successful logging, an inference service is created.
463
+
464
+ ```python
465
+ from snowflake.ml.model.models import huggingface_pipeline
466
+
467
+ hf_model_ref = huggingface_pipeline.HuggingFacePipelineModel(
468
+ model="gpt2",
469
+ task="text-generation", # Optional
470
+ )
471
+
472
+
473
+ hf_model_ref.create_service(
474
+ session=session,
475
+ service_name="test_service",
476
+ service_compute_pool="test_compute_pool",
477
+ image_repo="test_repo",
478
+ ...
479
+ )
480
+ ```
481
+
482
+ - Experiment Tracking (PrPr): New module for managing and tracking ML experiments in Snowflake.
483
+
484
+ ```python
485
+ from snowflake.ml.experiment import ExperimentTracking
486
+
487
+ exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
488
+
489
+ exp.set_experiment("MY_EXPERIMENT")
490
+
491
+ with exp.start_run():
492
+ exp.log_param("batch_size", 32)
493
+ exp.log_metrics("accuracy", 0.98, step=10)
494
+ exp.log_model(my_model, model_name="MY_MODEL")
495
+ ```
496
+
497
+ - Registry: Added support for wide input (500+ features) for inference done using SPCS
498
+
411
499
  ## 1.9.0
412
500
 
413
501
  ### Bug Fixes
@@ -415,6 +503,19 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
415
503
  - Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
416
504
  parameter is enabled
417
505
  - Registry: Fixed duplicate UserWarning logs during model packaging
506
+ - Registry: If the huggingface pipeline text-generation model doesn't contain a default chat template, a ChatML template
507
+ is assigned to the tokenizer.
508
+
509
+ ```shell
510
+ {% for message in messages %}
511
+ {{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}
512
+ {% endfor %}
513
+ {% if add_generation_prompt %}
514
+ {{ '<|im_start|>assistant\n' }}
515
+ {% endif %}"
516
+ ```
517
+
518
+ - Registry: Fixed SQL queries during registry initialization that were forcing warehouse requirement
418
519
 
419
520
  ### Behavior Changes
420
521
 
@@ -524,7 +625,8 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
524
625
  - Pre-created Snowpark Session is now available inside job payloads using
525
626
  `snowflake.snowpark.context.get_active_session()`
526
627
  - Registry: Introducing `save_location` to `log_model` using the `options` argument.
527
- User's can provide the path to write the model version's files that get stored in Snowflake's stage.
628
+ Users can use the `save_location` option to specify a local directory where the model files and configuration are written.
629
+ This is useful when the default temporary directory has space limitations.
528
630
 
529
631
  ```python
530
632
  reg.log_model(
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
8
8
  classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
9
9
  requires-python = ">=3.9, <3.13"
10
10
  dynamic = [ "version", "readme",]
11
- dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=2.1.4,<3", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.6", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.15.0,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
11
+ dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<25", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.6", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.15.0,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
12
12
  [[project.authors]]
13
13
  name = "Snowflake, Inc"
14
14
  email = "support@snowflake.com"
@@ -24,7 +24,7 @@ Issues = "https://github.com/snowflakedb/snowflake-ml-python/issues"
24
24
  Changelog = "https://github.com/snowflakedb/snowflake-ml-python/blob/master/CHANGELOG.md"
25
25
 
26
26
  [project.optional-dependencies]
27
- all = [ "altair>=5,<6", "catboost>=1.2.0, <2", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <3", "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "streamlit>=1.30.0,<2", "tensorflow>=2.17.0,<3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,<5",]
27
+ all = [ "altair>=5,<6", "catboost>=1.2.0, <2", "keras>=2.0.0,<4", "lightgbm>=4.1.0, <5", "mlflow>=2.16.0, <3", "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "streamlit>=1.30.0,<2", "tensorflow>=2.17.0,<3", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "torchdata>=0.4,<1", "transformers>=4.39.3,<5,!=4.51.3",]
28
28
  altair = [ "altair>=5,<6",]
29
29
  catboost = [ "catboost>=1.2.0, <2",]
30
30
  keras = [ "keras>=2.0.0,<4", "tensorflow>=2.17.0,<3", "torch>=2.0.1,<3",]
@@ -33,7 +33,7 @@ mlflow = [ "mlflow>=2.16.0, <3",]
33
33
  streamlit = [ "streamlit>=1.30.0,<2",]
34
34
  tensorflow = [ "tensorflow>=2.17.0,<3",]
35
35
  torch = [ "torch>=2.0.1,<3", "torchdata>=0.4,<1",]
36
- 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",]
36
+ 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",]
37
37
 
38
38
  [tool.setuptools.package-data]
39
39
  "*" = [ "*",]
@@ -337,13 +337,54 @@ def get_package_spec_with_supported_ops_only(req: requirements.Requirement) -> r
337
337
  Returns:
338
338
  A requirements.Requirement object with supported ops only
339
339
  """
340
+
341
+ if req.name == "numpy":
342
+ import numpy as np
343
+
344
+ package_specifiers = get_numpy_specifiers(req, version.Version(np.__version__).major)
345
+ else:
346
+ package_specifiers = [spec for spec in req.specifier if spec.operator in _SUPPORTED_PACKAGE_SPEC_OPS]
347
+
340
348
  new_req = copy.deepcopy(req)
341
- new_req.specifier = specifiers.SpecifierSet(
342
- specifiers=",".join([str(spec) for spec in req.specifier if spec.operator in _SUPPORTED_PACKAGE_SPEC_OPS])
343
- )
349
+ new_req.specifier = specifiers.SpecifierSet(specifiers=",".join([str(spec) for spec in package_specifiers]))
344
350
  return new_req
345
351
 
346
352
 
353
+ def get_numpy_specifiers(
354
+ req: requirements.Requirement,
355
+ client_numpy_major_version: int,
356
+ ) -> list[specifiers.Specifier]:
357
+ """Get the package spec with supported ops only including ==, >=, <=, > and < based on the client numpy
358
+ major version.
359
+
360
+ Args:
361
+ req: A requirements.Requirement object showing the requirement.
362
+ client_numpy_major_version: The major version of numpy to be used.
363
+
364
+ Returns:
365
+ A list of specifiers with supported ops only
366
+ """
367
+ req_specifiers = []
368
+ for org_spec in req.specifier:
369
+ # check specifier that provides upper bound
370
+ if org_spec.operator in ["<", "<="]:
371
+ client_version = version.Version(str(client_numpy_major_version))
372
+ org_spec_version = version.Version(org_spec.version)
373
+ # check if the client's numpy major version is less than the specifier's upper bound
374
+ # if so, pin to max possible client major version
375
+ if client_version.major < org_spec_version.major:
376
+ modified_spec = specifiers.Specifier(f"<{client_version.major + 1}")
377
+ req_specifiers.append(modified_spec)
378
+ else:
379
+ # use the original specifier
380
+ req_specifiers.append(org_spec)
381
+ else:
382
+ # use the original specifier
383
+ req_specifiers.append(org_spec)
384
+
385
+ return req_specifiers
386
+
387
+
347
388
  def _relax_specifier_set(
348
389
  specifier_set: specifiers.SpecifierSet, strategy: relax_version_strategy.RelaxVersionStrategy
349
390
  ) -> specifiers.SpecifierSet:
@@ -3,7 +3,9 @@ from contextlib import contextmanager
3
3
  from typing import Any, Optional
4
4
 
5
5
  from absl import logging
6
+ from packaging import version
6
7
 
8
+ from snowflake.ml import version as snowml_version
7
9
  from snowflake.ml._internal.exceptions import error_codes, exceptions
8
10
  from snowflake.ml._internal.utils import query_result_checker
9
11
  from snowflake.snowpark import (
@@ -12,7 +14,7 @@ from snowflake.snowpark import (
12
14
  )
13
15
 
14
16
  LIVE_COMMIT_PARAMETER = "ENABLE_LIVE_VERSION_IN_SDK"
15
- INLINE_DEPLOYMENT_SPEC_PARAMETER = "ENABLE_INLINE_DEPLOYMENT_SPEC"
17
+ INLINE_DEPLOYMENT_SPEC_PARAMETER = "ENABLE_INLINE_DEPLOYMENT_SPEC_FROM_CLIENT_VERSION"
16
18
 
17
19
 
18
20
  class PlatformCapabilities:
@@ -67,7 +69,7 @@ class PlatformCapabilities:
67
69
  cls.clear_mock_features()
68
70
 
69
71
  def is_inlined_deployment_spec_enabled(self) -> bool:
70
- return self._get_bool_feature(INLINE_DEPLOYMENT_SPEC_PARAMETER, False)
72
+ return self._is_version_feature_enabled(INLINE_DEPLOYMENT_SPEC_PARAMETER)
71
73
 
72
74
  def is_live_commit_enabled(self) -> bool:
73
75
  return self._get_bool_feature(LIVE_COMMIT_PARAMETER, False)
@@ -126,3 +128,51 @@ class PlatformCapabilities:
126
128
  else:
127
129
  raise ValueError(f"Invalid boolean string: {value} for feature {feature_name}")
128
130
  raise ValueError(f"Invalid boolean feature value: {value} for feature {feature_name}")
131
+
132
+ def _get_version_feature(self, feature_name: str) -> version.Version:
133
+ """Get a version feature value, returning a large version number on failure or missing feature.
134
+
135
+ Args:
136
+ feature_name: The name of the feature to retrieve.
137
+
138
+ Returns:
139
+ version.Version: The parsed version, or a large version number (999.999.999) if parsing fails
140
+ or the feature is missing.
141
+ """
142
+ # Large version number to use as fallback
143
+ large_version = version.Version("999.999.999")
144
+
145
+ value = self.features.get(feature_name)
146
+ if value is None:
147
+ logging.debug(f"Feature {feature_name} not found, returning large version number")
148
+ return large_version
149
+
150
+ try:
151
+ # Convert to string if it's not already
152
+ version_str = str(value)
153
+ return version.Version(version_str)
154
+ except (version.InvalidVersion, ValueError, TypeError) as e:
155
+ logging.debug(
156
+ f"Failed to parse version from feature {feature_name} with value '{value}': {e}. "
157
+ f"Returning large version number"
158
+ )
159
+ return large_version
160
+
161
+ def _is_version_feature_enabled(self, feature_name: str) -> bool:
162
+ """Check if the current package version is greater than or equal to the version feature.
163
+
164
+ Args:
165
+ feature_name: The name of the version feature to compare against.
166
+
167
+ Returns:
168
+ bool: True if current package version >= feature version, False otherwise.
169
+ """
170
+ current_version = version.Version(snowml_version.VERSION)
171
+ feature_version = self._get_version_feature(feature_name)
172
+
173
+ result = current_version >= feature_version
174
+ logging.debug(
175
+ f"Version comparison for feature {feature_name}: "
176
+ f"current={current_version}, feature={feature_version}, enabled={result}"
177
+ )
178
+ return result
@@ -66,4 +66,4 @@ class LazyType(Generic[T]):
66
66
  return False
67
67
 
68
68
 
69
- LiteralNDArrayType = Union[npt.NDArray[np.int_], npt.NDArray[np.float_], npt.NDArray[np.str_], npt.NDArray[np.bool_]]
69
+ LiteralNDArrayType = Union[npt.NDArray[np.int_], npt.NDArray[np.float64], npt.NDArray[np.str_], npt.NDArray[np.bool_]]
@@ -0,0 +1,73 @@
1
+ from typing import Any, Optional
2
+
3
+ from snowflake.ml._internal.utils import identifier
4
+ from snowflake.snowpark import session as snowpark_session
5
+
6
+ _SESSION_KEY = "_session"
7
+ _SESSION_ACCOUNT_KEY = "session$account"
8
+ _SESSION_ROLE_KEY = "session$role"
9
+ _SESSION_DATABASE_KEY = "session$database"
10
+ _SESSION_SCHEMA_KEY = "session$schema"
11
+
12
+
13
+ def _identifiers_match(saved: Optional[str], current: Optional[str]) -> bool:
14
+ saved_resolved = identifier.resolve_identifier(saved) if saved is not None else saved
15
+ current_resolved = identifier.resolve_identifier(current) if current is not None else current
16
+ return saved_resolved == current_resolved
17
+
18
+
19
+ class SerializableSessionMixin:
20
+ """Mixin that provides pickling capabilities for objects with Snowpark sessions."""
21
+
22
+ def __getstate__(self) -> dict[str, Any]:
23
+ """Customize pickling to exclude non-serializable session and related components."""
24
+ parent_state = (
25
+ super().__getstate__() # type: ignore[misc] # object.__getstate__ appears in 3.11
26
+ if hasattr(super(), "__getstate__")
27
+ else self.__dict__
28
+ )
29
+ state = dict(parent_state) # Create a copy so we can safely modify the state
30
+
31
+ # Save session metadata for validation during unpickling
32
+ session = state.pop(_SESSION_KEY, None)
33
+ if session is not None:
34
+ state[_SESSION_ACCOUNT_KEY] = session.get_current_account()
35
+ state[_SESSION_ROLE_KEY] = session.get_current_role()
36
+ state[_SESSION_DATABASE_KEY] = session.get_current_database()
37
+ state[_SESSION_SCHEMA_KEY] = session.get_current_schema()
38
+
39
+ return state
40
+
41
+ def __setstate__(self, state: dict[str, Any]) -> None:
42
+ """Restore session from context during unpickling."""
43
+ saved_account = state.pop(_SESSION_ACCOUNT_KEY, None)
44
+ saved_role = state.pop(_SESSION_ROLE_KEY, None)
45
+ saved_database = state.pop(_SESSION_DATABASE_KEY, None)
46
+ saved_schema = state.pop(_SESSION_SCHEMA_KEY, None)
47
+
48
+ if hasattr(super(), "__setstate__"):
49
+ super().__setstate__(state) # type: ignore[misc]
50
+ else:
51
+ self.__dict__.update(state)
52
+
53
+ if saved_account is not None:
54
+ active_sessions = snowpark_session._get_active_sessions()
55
+ if len(active_sessions) == 0:
56
+ raise RuntimeError("No active Snowpark session available. Please create a session.")
57
+
58
+ # Best effort match: Find the session with the most matching identifiers
59
+ setattr(
60
+ self,
61
+ _SESSION_KEY,
62
+ max(
63
+ active_sessions,
64
+ key=lambda s: sum(
65
+ (
66
+ _identifiers_match(saved_account, s.get_current_account()),
67
+ _identifiers_match(saved_role, s.get_current_role()),
68
+ _identifiers_match(saved_database, s.get_current_database()),
69
+ _identifiers_match(saved_schema, s.get_current_schema()),
70
+ )
71
+ ),
72
+ ),
73
+ )