snowflake-ml-python 1.24.0__tar.gz → 1.25.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 (483) hide show
  1. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/CHANGELOG.md +40 -1
  2. {snowflake_ml_python-1.24.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.25.0}/PKG-INFO +41 -2
  3. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/mixins.py +26 -1
  4. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/_internal/arrow_ingestor.py +5 -1
  5. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/data_connector.py +2 -2
  6. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/data_ingestor.py +2 -1
  7. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_experiment_info.py +3 -3
  8. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/data_utils.py +8 -8
  9. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/dto_schema.py +52 -7
  10. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/protocols.py +124 -7
  11. snowflake_ml_python-1.25.0/snowflake/ml/jobs/_interop/utils.py +203 -0
  12. snowflake_ml_python-1.25.0/snowflake/ml/jobs/_utils/arg_protocol.py +7 -0
  13. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/constants.py +4 -0
  14. snowflake_ml_python-1.25.0/snowflake/ml/jobs/_utils/feature_flags.py +133 -0
  15. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/payload_utils.py +6 -40
  16. snowflake_ml_python-1.25.0/snowflake/ml/jobs/_utils/runtime_env_utils.py +18 -0
  17. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +204 -27
  18. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/decorators.py +17 -22
  19. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/job.py +25 -10
  20. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/job_definition.py +100 -8
  21. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/model/model_version_impl.py +25 -14
  22. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/ops/service_ops.py +6 -6
  23. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +3 -0
  24. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
  25. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/models/huggingface_pipeline.py +3 -0
  26. snowflake_ml_python-1.25.0/snowflake/ml/model/openai_signatures.py +308 -0
  27. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +2 -3
  28. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/version.py +1 -1
  29. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0/snowflake_ml_python.egg-info}/PKG-INFO +41 -2
  30. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake_ml_python.egg-info/SOURCES.txt +1 -2
  31. snowflake_ml_python-1.24.0/snowflake/ml/jobs/_interop/utils.py +0 -144
  32. snowflake_ml_python-1.24.0/snowflake/ml/jobs/_utils/feature_flags.py +0 -49
  33. snowflake_ml_python-1.24.0/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -43
  34. snowflake_ml_python-1.24.0/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -117
  35. snowflake_ml_python-1.24.0/snowflake/ml/jobs/_utils/spec_utils.py +0 -22
  36. snowflake_ml_python-1.24.0/snowflake/ml/model/openai_signatures.py +0 -154
  37. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/LICENSE.txt +0 -0
  38. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/README.md +0 -0
  39. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/pyproject.toml +0 -0
  40. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/setup.cfg +0 -0
  41. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/__init__.py +0 -0
  42. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_classify_text.py +0 -0
  43. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_complete.py +0 -0
  44. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  45. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_embed_text_768.py +0 -0
  46. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_extract_answer.py +0 -0
  47. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_finetune.py +0 -0
  48. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_sentiment.py +0 -0
  49. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_sse_client.py +0 -0
  50. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_summarize.py +0 -0
  51. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_translate.py +0 -0
  52. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/cortex/_util.py +0 -0
  53. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/env.py +0 -0
  54. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/env_utils.py +0 -0
  55. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  56. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  57. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  58. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  59. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  60. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  61. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  62. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  63. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  64. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/file_utils.py +0 -0
  65. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  66. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  67. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  68. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  69. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/init_utils.py +0 -0
  70. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  71. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  72. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  73. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  74. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/telemetry.py +0 -0
  75. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/type_utils.py +0 -0
  76. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  77. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  78. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  79. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
  80. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  81. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  82. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  83. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  84. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  85. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/result.py +0 -0
  86. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  87. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  88. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  89. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  90. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  91. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  92. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/_internal/utils/url.py +0 -0
  93. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/__init__.py +0 -0
  94. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/data_source.py +0 -0
  95. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  96. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/data/torch_utils.py +0 -0
  97. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/dataset/__init__.py +0 -0
  98. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/dataset/dataset.py +0 -0
  99. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  100. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  101. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  102. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/__init__.py +0 -0
  103. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
  104. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
  105. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
  106. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
  107. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_entities/run.py +0 -0
  108. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
  109. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/callback/keras.py +0 -0
  110. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
  111. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
  112. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/experiment_tracking.py +0 -0
  113. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/experiment/utils.py +0 -0
  114. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/__init__.py +0 -0
  115. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  116. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/aggregation.py +0 -0
  117. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/entity.py +0 -0
  118. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  119. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  120. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  121. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  122. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  123. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  124. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  125. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  126. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  127. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  128. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  129. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  130. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  131. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  132. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  133. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  134. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  135. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  136. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  137. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  138. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  139. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  140. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/feature.py +0 -0
  141. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/feature_store.py +0 -0
  142. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/feature_view.py +0 -0
  143. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
  144. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
  145. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  146. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/fileset/fileset.py +0 -0
  147. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  148. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/fileset/snowfs.py +0 -0
  149. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  150. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/__init__.py +0 -0
  151. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
  152. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
  153. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
  154. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_interop/results.py +0 -0
  155. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
  156. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
  157. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  158. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  159. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  160. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
  161. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
  162. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  163. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  164. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/_utils/types.py +0 -0
  165. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/jobs/manager.py +0 -0
  166. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/lineage/__init__.py +0 -0
  167. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  168. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/__init__.py +0 -0
  169. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
  170. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
  171. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  172. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
  173. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  174. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
  175. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
  176. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
  177. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  178. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  179. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  180. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/service.py +0 -0
  181. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  182. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  183. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  184. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
  185. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  186. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  187. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  188. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  189. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  190. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  191. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  192. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
  193. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  194. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
  195. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  196. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  197. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  198. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  199. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  200. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/huggingface.py +0 -0
  201. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  202. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  203. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  204. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
  205. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
  206. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  207. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  208. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  209. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  210. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  211. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  212. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  213. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  214. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  215. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  216. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  217. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  218. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
  219. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  220. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  221. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  222. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  223. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  224. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  225. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  226. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  227. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  228. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  229. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/core.py +0 -0
  230. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  231. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  232. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  233. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  234. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
  235. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  236. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  237. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/code_path.py +0 -0
  238. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/compute_pool.py +0 -0
  239. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/custom_model.py +0 -0
  240. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/event_handler.py +0 -0
  241. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/inference_engine.py +0 -0
  242. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/model_signature.py +0 -0
  243. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/models/huggingface.py +0 -0
  244. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/target_platform.py +0 -0
  245. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/task.py +0 -0
  246. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/type_hints.py +0 -0
  247. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/model/volatility.py +0 -0
  248. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  249. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  250. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  251. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  252. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  253. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  254. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  255. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  256. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  257. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  258. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  259. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  260. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  261. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  262. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  263. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  264. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  265. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  266. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  267. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  268. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  269. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  270. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  271. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  272. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  273. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  274. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  275. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  276. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  277. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  278. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  279. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  280. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  281. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  282. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  283. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  284. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  285. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  286. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  287. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  288. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  289. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  290. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  291. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  292. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  293. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  294. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  295. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  296. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  297. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  298. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  299. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  300. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  301. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  302. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  303. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  304. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  305. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  306. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  307. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  308. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  309. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  310. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  311. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  312. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  313. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  314. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  315. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  316. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  317. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  318. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  319. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  320. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  321. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  322. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  323. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  324. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  325. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  326. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  327. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  328. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  329. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  330. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/framework/base.py +0 -0
  331. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  332. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  333. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  334. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  335. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  336. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  337. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  338. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  339. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  340. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  341. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  342. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  343. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  344. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  345. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  346. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  347. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  348. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  349. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  350. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  351. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  352. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  353. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  354. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  355. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  356. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  357. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  358. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  359. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  360. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  361. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  362. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  363. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  364. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  365. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  366. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  367. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  368. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  369. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  370. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  371. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  372. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  373. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  374. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  375. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  376. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  377. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  378. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  379. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  380. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  381. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  382. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  383. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  384. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  385. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  386. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  387. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  388. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  389. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  390. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  391. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  392. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  393. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  394. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  395. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
  396. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  397. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  398. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  399. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  400. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  401. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  402. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  403. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  404. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  405. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  406. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  407. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  408. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  409. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  410. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  411. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  412. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  413. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  414. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  415. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  416. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  417. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  418. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  419. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  420. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  421. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  422. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  423. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  424. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  425. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  426. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  427. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  428. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  429. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  430. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  431. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  432. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  433. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  434. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  435. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  436. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  437. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  438. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  439. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  440. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  441. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  442. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  443. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  444. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  445. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  446. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  447. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  448. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  449. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  450. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  451. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  452. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  453. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  454. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  455. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  456. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  457. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  458. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  459. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  460. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  461. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  462. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  463. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  464. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  465. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
  466. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  467. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  468. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
  469. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  470. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  471. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  472. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/monitoring/shap.py +0 -0
  473. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/registry/__init__.py +0 -0
  474. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
  475. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/registry/registry.py +0 -0
  476. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/utils/authentication.py +0 -0
  477. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/utils/connection_params.py +0 -0
  478. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/utils/html_utils.py +0 -0
  479. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/utils/sparse.py +0 -0
  480. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake/ml/utils/sql_client.py +0 -0
  481. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  482. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
  483. {snowflake_ml_python-1.24.0 → snowflake_ml_python-1.25.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,5 +1,36 @@
1
1
  # Release History
2
2
 
3
+ ## 1.25.0
4
+
5
+ ### New Features
6
+
7
+ * ML Job: Added support for creating ML job definitions and launching jobs with different
8
+ arguments without re-uploading payloads.
9
+
10
+ * Inference Autocapture (PuPr): The `create_service` API will now accept `autocapture` as a new argument to indicate
11
+ whether inference data will be captured.
12
+
13
+ * Model serving: Introduced the `min_instances` field in the `mv.create_service()` and
14
+ `HuggingFacePipelineModel.log_model_and_create_service()` APIs (defaulting to 0). The service now launches
15
+ with the `min_instances` and automatically scales between `min_instances` and `max_instances` based on
16
+ traffic and hardware utilization. When `min_instances` is set to 0, the service will automatically suspend
17
+ if no traffic is detected for a period of time.
18
+
19
+ ### Bug Fixes
20
+
21
+ ### Behavior Changes
22
+
23
+ * Inference Autocapture (PuPr): `list_services()` now shows `autocapture_enabled` column to indicate if model
24
+ service has autocapture enabled.
25
+
26
+ * Model serving: The `mv.create_service()` and `HuggingFacePipelineModel.log_model_and_create_service()` APIs now
27
+ include a `min_instances` field (defaulting to 0). When these APIs are called without specifying `min_instances`,
28
+ the system will now launch the service with 1 instance and enable auto scaling. This replaces the previous behavior,
29
+ where `min_instances` was automatically set to match `max_instances`, resulting in the immediate launch of the
30
+ maximum number of instances.
31
+
32
+ ### Deprecations
33
+
3
34
  ## 1.24.0
4
35
 
5
36
  ### New Features
@@ -103,7 +134,15 @@ x_df = pd.DataFrame.from_records(
103
134
  [
104
135
  {
105
136
  "messages": [
106
- {"role": "system", "content": "Complete the sentence."},
137
+ {
138
+ "role": "system",
139
+ "content": [
140
+ {
141
+ "type": "text",
142
+ "text": "Complete the sentence."
143
+ },
144
+ ]
145
+ },
107
146
  {
108
147
  "role": "user",
109
148
  "content": [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.24.0
3
+ Version: 1.25.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:
@@ -417,6 +417,37 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
417
417
 
418
418
  # Release History
419
419
 
420
+ ## 1.25.0
421
+
422
+ ### New Features
423
+
424
+ * ML Job: Added support for creating ML job definitions and launching jobs with different
425
+ arguments without re-uploading payloads.
426
+
427
+ * Inference Autocapture (PuPr): The `create_service` API will now accept `autocapture` as a new argument to indicate
428
+ whether inference data will be captured.
429
+
430
+ * Model serving: Introduced the `min_instances` field in the `mv.create_service()` and
431
+ `HuggingFacePipelineModel.log_model_and_create_service()` APIs (defaulting to 0). The service now launches
432
+ with the `min_instances` and automatically scales between `min_instances` and `max_instances` based on
433
+ traffic and hardware utilization. When `min_instances` is set to 0, the service will automatically suspend
434
+ if no traffic is detected for a period of time.
435
+
436
+ ### Bug Fixes
437
+
438
+ ### Behavior Changes
439
+
440
+ * Inference Autocapture (PuPr): `list_services()` now shows `autocapture_enabled` column to indicate if model
441
+ service has autocapture enabled.
442
+
443
+ * Model serving: The `mv.create_service()` and `HuggingFacePipelineModel.log_model_and_create_service()` APIs now
444
+ include a `min_instances` field (defaulting to 0). When these APIs are called without specifying `min_instances`,
445
+ the system will now launch the service with 1 instance and enable auto scaling. This replaces the previous behavior,
446
+ where `min_instances` was automatically set to match `max_instances`, resulting in the immediate launch of the
447
+ maximum number of instances.
448
+
449
+ ### Deprecations
450
+
420
451
  ## 1.24.0
421
452
 
422
453
  ### New Features
@@ -520,7 +551,15 @@ x_df = pd.DataFrame.from_records(
520
551
  [
521
552
  {
522
553
  "messages": [
523
- {"role": "system", "content": "Complete the sentence."},
554
+ {
555
+ "role": "system",
556
+ "content": [
557
+ {
558
+ "type": "text",
559
+ "text": "Complete the sentence."
560
+ },
561
+ ]
562
+ },
524
563
  {
525
564
  "role": "user",
526
565
  "content": [
@@ -9,6 +9,7 @@ _SESSION_ACCOUNT_KEY = "session$account"
9
9
  _SESSION_ROLE_KEY = "session$role"
10
10
  _SESSION_DATABASE_KEY = "session$database"
11
11
  _SESSION_SCHEMA_KEY = "session$schema"
12
+ _SESSION_STATE_ATTR = "_session_state"
12
13
 
13
14
 
14
15
  def _identifiers_match(saved: Optional[str], current: Optional[str]) -> bool:
@@ -61,7 +62,7 @@ class SerializableSessionMixin:
61
62
  else:
62
63
  self.__dict__.update(state)
63
64
 
64
- self._set_session(session_state)
65
+ setattr(self, _SESSION_STATE_ATTR, session_state)
65
66
 
66
67
  def _set_session(self, session_state: _SessionState) -> None:
67
68
 
@@ -86,3 +87,27 @@ class SerializableSessionMixin:
86
87
  ),
87
88
  ),
88
89
  )
90
+
91
+ @property
92
+ def session(self) -> Optional[snowpark_session.Session]:
93
+ if _SESSION_KEY not in self.__dict__:
94
+ session_state = getattr(self, _SESSION_STATE_ATTR, None)
95
+ if session_state is not None:
96
+ self._set_session(session_state)
97
+ return self.__dict__.get(_SESSION_KEY)
98
+
99
+ @session.setter
100
+ def session(self, value: Optional[snowpark_session.Session]) -> None:
101
+ self.__dict__[_SESSION_KEY] = value
102
+
103
+ # _getattr__ is only called when an attribute is NOT found through normal lookup.
104
+ # 1. Data descriptors (like @property with setter) from the class hierarchy
105
+ # 2. Instance __dict__ (e.g., self.x = 10)
106
+ # 3. Non-data descriptors (methods, `@property without setter) from the class hierarchy
107
+ # __getattr__ — only called if steps 1-3 all fail
108
+ def __getattr__(self, name: str) -> Any:
109
+ if name == _SESSION_KEY:
110
+ return self.session
111
+ if hasattr(super(), "__getattr__"):
112
+ return super().__getattr__(name) # type: ignore[misc]
113
+ raise AttributeError(f"{type(self).__name__!s} object has no attribute {name!r}")
@@ -73,15 +73,19 @@ class ArrowIngestor(data_ingestor.DataIngestor, mixins.SerializableSessionMixin)
73
73
  self._schema: Optional[pa.Schema] = None
74
74
 
75
75
  @classmethod
76
- def from_sources(cls, session: snowpark.Session, sources: Sequence[data_source.DataSource]) -> "ArrowIngestor":
76
+ def from_sources(
77
+ cls, session: snowpark.Session, sources: Sequence[data_source.DataSource], **kwargs: Any
78
+ ) -> "ArrowIngestor":
77
79
  if session is None:
78
80
  raise ValueError("Session is required")
81
+ # Skipping kwargs until needed to avoid impact other workflows.
79
82
  return cls(session, sources)
80
83
 
81
84
  @classmethod
82
85
  def from_ray_dataset(
83
86
  cls,
84
87
  ray_ds: "ray.data.Dataset",
88
+ **kwargs: Any,
85
89
  ) -> "ArrowIngestor":
86
90
  raise NotImplementedError
87
91
 
@@ -94,7 +94,7 @@ class DataConnector:
94
94
  **kwargs: Any,
95
95
  ) -> DataConnectorType:
96
96
  ingestor_class = ingestor_class or cls.DEFAULT_INGESTOR_CLASS
97
- ray_ingestor = ingestor_class.from_ray_dataset(ray_ds=ray_ds)
97
+ ray_ingestor = ingestor_class.from_ray_dataset(ray_ds=ray_ds, **kwargs)
98
98
  return cls(ray_ingestor, **kwargs)
99
99
 
100
100
  @classmethod
@@ -111,7 +111,7 @@ class DataConnector:
111
111
  **kwargs: Any,
112
112
  ) -> DataConnectorType:
113
113
  ingestor_class = ingestor_class or cls.DEFAULT_INGESTOR_CLASS
114
- ingestor = ingestor_class.from_sources(session, sources)
114
+ ingestor = ingestor_class.from_sources(session, sources, **kwargs)
115
115
  return cls(ingestor, **kwargs)
116
116
 
117
117
  @property
@@ -16,7 +16,7 @@ DataIngestorType = TypeVar("DataIngestorType", bound="DataIngestor")
16
16
  class DataIngestor(Protocol):
17
17
  @classmethod
18
18
  def from_sources(
19
- cls: type[DataIngestorType], session: snowpark.Session, sources: Sequence[data_source.DataSource]
19
+ cls: type[DataIngestorType], session: snowpark.Session, sources: Sequence[data_source.DataSource], **kwargs: Any
20
20
  ) -> DataIngestorType:
21
21
  raise NotImplementedError
22
22
 
@@ -24,6 +24,7 @@ class DataIngestor(Protocol):
24
24
  def from_ray_dataset(
25
25
  cls: type[DataIngestorType],
26
26
  ray_ds: "ray.data.Dataset",
27
+ **kwargs: Any,
27
28
  ) -> DataIngestorType:
28
29
  raise NotImplementedError
29
30
 
@@ -3,7 +3,7 @@ import functools
3
3
  import types
4
4
  from typing import Callable, Optional
5
5
 
6
- from snowflake.ml import model
6
+ from snowflake.ml.model._client.model import model_version_impl
7
7
  from snowflake.ml.registry._manager import model_manager
8
8
 
9
9
 
@@ -23,7 +23,7 @@ class ExperimentInfoPatcher:
23
23
  """
24
24
 
25
25
  # Store original method at class definition time to avoid recursive patching
26
- _original_log_model: Callable[..., model.ModelVersion] = model_manager.ModelManager.log_model
26
+ _original_log_model: Callable[..., model_version_impl.ModelVersion] = model_manager.ModelManager.log_model
27
27
 
28
28
  # Stack of active experiment_info contexts for nested experiment support
29
29
  _experiment_info_stack: list[ExperimentInfo] = []
@@ -36,7 +36,7 @@ class ExperimentInfoPatcher:
36
36
  if not ExperimentInfoPatcher._experiment_info_stack:
37
37
 
38
38
  @functools.wraps(ExperimentInfoPatcher._original_log_model)
39
- def patched(*args, **kwargs) -> model.ModelVersion: # type: ignore[no-untyped-def]
39
+ def patched(*args, **kwargs) -> model_version_impl.ModelVersion: # type: ignore[no-untyped-def]
40
40
  # Use the most recent (top of stack) experiment_info for nested contexts
41
41
  current_experiment_info = ExperimentInfoPatcher._experiment_info_stack[-1]
42
42
  return ExperimentInfoPatcher._original_log_model(
@@ -31,7 +31,7 @@ class StageFileWriter(io.IOBase):
31
31
  # Only upload if buffer has content and no exception occurred
32
32
  if write_contents and self._buffer.tell() > 0:
33
33
  self._buffer.seek(0)
34
- self._session.file.put_stream(self._buffer, self._path)
34
+ self._session.file.put_stream(self._buffer, self._path, auto_compress=False)
35
35
  self._buffer.close()
36
36
  self._closed = True
37
37
 
@@ -84,15 +84,15 @@ class DtoCodec(Protocol):
84
84
 
85
85
  @overload
86
86
  @staticmethod
87
- def decode(stream: io.IOBase, as_dict: Literal[False] = False) -> dto_schema.ResultDTO:
87
+ def decode(stream: io.IOBase, as_dict: Literal[False] = False) -> dto_schema.PayloadDTO:
88
88
  ...
89
89
 
90
90
  @staticmethod
91
- def decode(stream: io.IOBase, as_dict: bool = False) -> Union[dto_schema.ResultDTO, dict[str, Any]]:
91
+ def decode(stream: io.IOBase, as_dict: bool = False) -> Union[dto_schema.PayloadDTO, dict[str, Any]]:
92
92
  pass
93
93
 
94
94
  @staticmethod
95
- def encode(dto: dto_schema.ResultDTO) -> bytes:
95
+ def encode(dto: dto_schema.PayloadDTO) -> bytes:
96
96
  pass
97
97
 
98
98
 
@@ -104,18 +104,18 @@ class JsonDtoCodec(DtoCodec):
104
104
 
105
105
  @overload
106
106
  @staticmethod
107
- def decode(stream: io.IOBase, as_dict: Literal[False] = False) -> dto_schema.ResultDTO:
107
+ def decode(stream: io.IOBase, as_dict: Literal[False] = False) -> dto_schema.PayloadDTO:
108
108
  ...
109
109
 
110
110
  @staticmethod
111
- def decode(stream: io.IOBase, as_dict: bool = False) -> Union[dto_schema.ResultDTO, dict[str, Any]]:
111
+ def decode(stream: io.IOBase, as_dict: bool = False) -> Union[dto_schema.PayloadDTO, dict[str, Any]]:
112
112
  data = cast(dict[str, Any], json.load(stream))
113
113
  if as_dict:
114
114
  return data
115
- return dto_schema.ResultDTO.model_validate(data)
115
+ return dto_schema.ResultDTOAdapter.validate_python(data)
116
116
 
117
117
  @staticmethod
118
- def encode(dto: dto_schema.ResultDTO) -> bytes:
118
+ def encode(dto: dto_schema.PayloadDTO) -> bytes:
119
119
  # Temporarily extract the value to avoid accidentally applying model_dump() on it
120
120
  result_value = dto.value
121
121
  dto.value = None # Clear value to avoid serializing it in the model_dump
@@ -1,7 +1,7 @@
1
- from typing import Any, Optional, Union
1
+ from typing import Any, Literal, Optional, Union
2
2
 
3
- from pydantic import BaseModel, model_validator
4
- from typing_extensions import NotRequired, TypedDict
3
+ from pydantic import BaseModel, Discriminator, Tag, TypeAdapter, model_validator
4
+ from typing_extensions import Annotated, NotRequired, TypedDict
5
5
 
6
6
 
7
7
  class BinaryManifest(TypedDict):
@@ -67,22 +67,47 @@ class ExceptionMetadata(ResultMetadata):
67
67
  traceback: str
68
68
 
69
69
 
70
- class ResultDTO(BaseModel):
70
+ class PayloadDTO(BaseModel):
71
+ """
72
+ Base class for serializable payloads.
73
+
74
+ Args:
75
+ kind: Discriminator field for DTO type dispatch.
76
+ value: The payload value (if JSON-serializable).
77
+ protocol: The protocol used to serialize the payload (if not JSON-serializable).
78
+ """
79
+
80
+ kind: Literal["base"] = "base"
81
+ value: Optional[Any] = None
82
+ protocol: Optional[ProtocolInfo] = None
83
+ serialize_error: Optional[str] = None
84
+
85
+ @model_validator(mode="before")
86
+ @classmethod
87
+ def validate_fields(cls, data: Any) -> Any:
88
+ """Ensure at least one of value or protocol keys is specified."""
89
+ if cls is PayloadDTO and isinstance(data, dict):
90
+ required_fields = {"value", "protocol"}
91
+ if not any(field in data for field in required_fields):
92
+ raise ValueError("At least one of 'value' or 'protocol' must be specified")
93
+ return data
94
+
95
+
96
+ class ResultDTO(PayloadDTO):
71
97
  """
72
98
  A JSON representation of an execution result.
73
99
 
74
100
  Args:
101
+ kind: Discriminator field for DTO type dispatch.
75
102
  success: Whether the execution was successful.
76
103
  value: The value of the execution or the exception if the execution failed.
77
104
  protocol: The protocol used to serialize the result.
78
105
  metadata: The metadata of the result.
79
106
  """
80
107
 
108
+ kind: Literal["result"] = "result" # type: ignore[assignment]
81
109
  success: bool
82
- value: Optional[Any] = None
83
- protocol: Optional[ProtocolInfo] = None
84
110
  metadata: Optional[Union[ResultMetadata, ExceptionMetadata]] = None
85
- serialize_error: Optional[str] = None
86
111
 
87
112
  @model_validator(mode="before")
88
113
  @classmethod
@@ -93,3 +118,23 @@ class ResultDTO(BaseModel):
93
118
  if not any(field in data for field in required_fields):
94
119
  raise ValueError("At least one of 'value', 'protocol', or 'metadata' must be specified")
95
120
  return data
121
+
122
+
123
+ def _get_dto_kind(data: Any) -> str:
124
+ """Extract the 'kind' discriminator from input, defaulting to 'result' for backward compatibility."""
125
+ if isinstance(data, dict):
126
+ kind = data.get("kind", "result")
127
+ else:
128
+ kind = getattr(data, "kind", "result")
129
+ return str(kind)
130
+
131
+
132
+ AnyResultDTO = Annotated[
133
+ Union[
134
+ Annotated[ResultDTO, Tag("result")],
135
+ Annotated[PayloadDTO, Tag("base")],
136
+ ],
137
+ Discriminator(_get_dto_kind),
138
+ ]
139
+
140
+ ResultDTOAdapter: TypeAdapter[AnyResultDTO] = TypeAdapter(AnyResultDTO)
@@ -17,6 +17,8 @@ Condition = Union[type, tuple[type, ...], Callable[[Any], bool], None]
17
17
 
18
18
  logger = logging.getLogger(__name__)
19
19
 
20
+ SESSION_KEY_PREFIX = "session@"
21
+
20
22
 
21
23
  class SerializationError(TypeError):
22
24
  """Exception raised when a serialization protocol fails."""
@@ -136,9 +138,10 @@ class CloudPickleProtocol(SerializationProtocol):
136
138
 
137
139
  def save(self, obj: Any, dest_dir: str, session: Optional[snowpark.Session] = None) -> ProtocolInfo:
138
140
  """Save the object to the destination directory."""
141
+ replaced_obj = self._pack_obj(obj)
139
142
  result_path = posixpath.join(dest_dir, self.DEFAULT_PATH)
140
143
  with data_utils.open_stream(result_path, "wb", session=session) as f:
141
- self._backend.dump(obj, f)
144
+ self._backend.dump(replaced_obj, f)
142
145
  manifest: BinaryManifest = {"path": result_path}
143
146
  return self.protocol_info.with_manifest(manifest)
144
147
 
@@ -157,12 +160,15 @@ class CloudPickleProtocol(SerializationProtocol):
157
160
  payload_manifest = cast(BinaryManifest, payload_info.manifest)
158
161
  try:
159
162
  if payload_bytes := payload_manifest.get("bytes"):
160
- return self._backend.loads(payload_bytes)
161
- if payload_b64 := payload_manifest.get("base64"):
162
- return self._backend.loads(base64.b64decode(payload_b64))
163
- result_path = path_transform(payload_manifest["path"]) if path_transform else payload_manifest["path"]
164
- with data_utils.open_stream(result_path, "rb", session=session) as f:
165
- return self._backend.load(f)
163
+ result = self._backend.loads(payload_bytes)
164
+ elif payload_b64 := payload_manifest.get("base64"):
165
+ result = self._backend.loads(base64.b64decode(payload_b64))
166
+ else:
167
+ result_path = path_transform(payload_manifest["path"]) if path_transform else payload_manifest["path"]
168
+ with data_utils.open_stream(result_path, "rb", session=session) as f:
169
+ result = self._backend.load(f)
170
+
171
+ return self._unpack_obj(result, session=session)
166
172
  except (
167
173
  pickle.UnpicklingError,
168
174
  TypeError,
@@ -173,6 +179,117 @@ class CloudPickleProtocol(SerializationProtocol):
173
179
  raise error from pickle_error
174
180
  raise
175
181
 
182
+ def _pack_obj(self, obj: Any) -> Any:
183
+ """Pack objects into JSON-safe dicts using reserved marker keys.
184
+
185
+ Markers:
186
+ - "type@": container type for list/tuple (list or tuple)
187
+ - "#<i>": positional element for list/tuple at index i
188
+ - "session@": placeholder for snowpark.Session values
189
+ - "session@#<i>" for list/tuple entries
190
+ - "session@<key>" for dict entries
191
+ - {"session@": None} for a bare Session object
192
+
193
+ Example:
194
+ obj = {"x": [1, session], "s": session}
195
+ packed = {
196
+ "x": {"type@": list, "#0": 1, "session@#1": None},
197
+ "session@s": None,
198
+ }
199
+ _unpack_obj(packed, session) == obj
200
+
201
+ Args:
202
+ obj: Object to pack into JSON-safe marker dictionaries.
203
+
204
+ Returns:
205
+ Packed representation with markers for session references.
206
+ """
207
+ arguments: dict[str, Any] = {}
208
+ if isinstance(obj, tuple) or isinstance(obj, list):
209
+ arguments = {"type@": type(obj)}
210
+ for i, arg in enumerate(obj):
211
+ if isinstance(arg, snowpark.Session):
212
+ arguments[f"{SESSION_KEY_PREFIX}#{i}"] = None
213
+ else:
214
+ arguments[f"#{i}"] = self._pack_obj(arg)
215
+ return arguments
216
+ elif isinstance(obj, dict):
217
+ for k, v in obj.items():
218
+ if isinstance(v, snowpark.Session):
219
+ arguments[f"{SESSION_KEY_PREFIX}{k}"] = None
220
+ else:
221
+ arguments[k] = self._pack_obj(v)
222
+ return arguments
223
+ elif isinstance(obj, snowpark.Session):
224
+ # Box session into a dict marker so we can distinguish it from other plain objects.
225
+ arguments[f"{SESSION_KEY_PREFIX}"] = None
226
+ return arguments
227
+ else:
228
+ return obj
229
+
230
+ def _unpack_obj(self, obj: Any, session: Optional[snowpark.Session] = None) -> Any:
231
+ """Unpack dict markers back into containers and Session references.
232
+
233
+ Markers:
234
+ - "type@": container type for list/tuple (list or tuple)
235
+ - "#<i>": positional element for list/tuple at index i
236
+ - "session@": placeholder for snowpark.Session values
237
+ - "session@#<i>" for list/tuple entries
238
+ - "session@<key>" for dict entries
239
+ - {"session@": None} for a bare Session object
240
+
241
+ Example:
242
+ packed = {
243
+ "x": {"type@": list, "#0": 1, "session@#1": None},
244
+ "session@s": None,
245
+ }
246
+ obj = _unpack_obj(packed, session)
247
+ # obj == {"x": [1, session], "s": session}
248
+
249
+ Args:
250
+ obj: Packed object with marker dictionaries.
251
+ session: Session to inject for session markers.
252
+
253
+ Returns:
254
+ Unpacked object with session references restored.
255
+ """
256
+ if not isinstance(obj, dict):
257
+ return obj
258
+ elif len(obj) == 1 and SESSION_KEY_PREFIX in obj:
259
+ return session
260
+ else:
261
+ type = obj.get("type@", None)
262
+ # If type is None, we are unpacking a dict
263
+ if type is None:
264
+ result_dict = {}
265
+ for k, v in obj.items():
266
+ if k.startswith(SESSION_KEY_PREFIX):
267
+ result_key = k[len(SESSION_KEY_PREFIX) :]
268
+ result_dict[result_key] = session
269
+ else:
270
+ result_dict[k] = self._unpack_obj(v, session)
271
+ return result_dict
272
+ # If type is not None, we are unpacking a tuple or list
273
+ else:
274
+ indexes = []
275
+ for k, _ in obj.items():
276
+ if "#" in k:
277
+ indexes.append(int(k.split("#")[-1]))
278
+
279
+ if not indexes:
280
+ return tuple() if type is tuple else []
281
+ result_list: list[Any] = [None] * (max(indexes) + 1)
282
+
283
+ for k, v in obj.items():
284
+ if k == "type@":
285
+ continue
286
+ idx = int(k.split("#")[-1])
287
+ if k.startswith(SESSION_KEY_PREFIX):
288
+ result_list[idx] = session
289
+ else:
290
+ result_list[idx] = self._unpack_obj(v, session)
291
+ return tuple(result_list) if type is tuple else result_list
292
+
176
293
 
177
294
  class ArrowTableProtocol(SerializationProtocol):
178
295
  """