snowflake-ml-python 1.8.6__tar.gz → 1.9.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 (432) hide show
  1. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/CHANGELOG.md +51 -15
  2. {snowflake_ml_python-1.8.6/snowflake_ml_python.egg-info → snowflake_ml_python-1.9.0}/PKG-INFO +52 -16
  3. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/identifier.py +1 -1
  4. snowflake_ml_python-1.9.0/snowflake/ml/_internal/utils/mixins.py +61 -0
  5. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/constants.py +1 -1
  6. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/interop_utils.py +63 -4
  7. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/payload_utils.py +6 -5
  8. snowflake_ml_python-1.9.0/snowflake/ml/jobs/_utils/query_helper.py +9 -0
  9. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/spec_utils.py +6 -4
  10. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/decorators.py +18 -25
  11. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/job.py +179 -58
  12. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/manager.py +194 -145
  13. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/model_ops.py +12 -3
  14. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/service_ops.py +4 -2
  15. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +2 -0
  16. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +38 -10
  17. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_env/model_env.py +35 -27
  18. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +5 -1
  19. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +3 -1
  20. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/snowpark_handler.py +55 -3
  21. snowflake_ml_python-1.9.0/snowflake/ml/model/target_platform.py +11 -0
  22. snowflake_ml_python-1.9.0/snowflake/ml/model/task.py +9 -0
  23. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/type_hints.py +5 -13
  24. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/metrics_utils.py +2 -0
  25. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/_manager/model_manager.py +30 -15
  26. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/registry.py +119 -42
  27. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/version.py +1 -1
  28. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0/snowflake_ml_python.egg-info}/PKG-INFO +52 -16
  29. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/SOURCES.txt +4 -0
  30. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/LICENSE.txt +0 -0
  31. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/README.md +0 -0
  32. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/pyproject.toml +0 -0
  33. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/setup.cfg +0 -0
  34. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/__init__.py +0 -0
  35. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_classify_text.py +0 -0
  36. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_complete.py +0 -0
  37. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_embed_text_1024.py +0 -0
  38. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_embed_text_768.py +0 -0
  39. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_extract_answer.py +0 -0
  40. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_finetune.py +0 -0
  41. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_sentiment.py +0 -0
  42. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_sse_client.py +0 -0
  43. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_summarize.py +0 -0
  44. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_translate.py +0 -0
  45. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_util.py +0 -0
  46. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/env.py +0 -0
  47. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/env_utils.py +0 -0
  48. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
  49. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
  50. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
  51. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
  52. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
  53. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
  54. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
  55. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
  56. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
  57. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/file_utils.py +0 -0
  58. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
  59. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
  60. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
  61. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
  62. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/init_utils.py +0 -0
  63. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
  64. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
  65. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
  66. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
  67. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/telemetry.py +0 -0
  68. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/type_utils.py +0 -0
  69. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
  70. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
  71. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
  72. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
  73. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
  74. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
  75. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
  76. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
  77. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/result.py +0 -0
  78. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
  79. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
  80. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
  81. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
  82. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
  83. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
  84. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/__init__.py +0 -0
  85. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
  86. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_connector.py +0 -0
  87. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_ingestor.py +0 -0
  88. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_source.py +0 -0
  89. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/ingestor_utils.py +0 -0
  90. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/torch_utils.py +0 -0
  91. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/__init__.py +0 -0
  92. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset.py +0 -0
  93. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
  94. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
  95. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
  96. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/__init__.py +0 -0
  97. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/access_manager.py +0 -0
  98. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/entity.py +0 -0
  99. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
  100. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
  101. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
  102. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
  103. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
  104. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
  105. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
  106. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
  107. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
  108. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
  109. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
  110. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
  111. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
  112. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
  113. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
  114. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
  115. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
  116. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
  117. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
  118. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
  119. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
  120. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
  121. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/feature_store.py +0 -0
  122. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/feature_view.py +0 -0
  123. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
  124. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/fileset.py +0 -0
  125. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/sfcfs.py +0 -0
  126. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/snowfs.py +0 -0
  127. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/stage_fs.py +0 -0
  128. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/__init__.py +0 -0
  129. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
  130. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
  131. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
  132. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
  133. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
  134. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
  135. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
  136. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/types.py +0 -0
  137. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/lineage/__init__.py +0 -0
  138. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/lineage/lineage_node.py +0 -0
  139. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/__init__.py +0 -0
  140. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
  141. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/model/model_version_impl.py +0 -0
  142. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
  143. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
  144. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
  145. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/model.py +0 -0
  146. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
  147. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/service.py +0 -0
  148. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
  149. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
  150. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
  151. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
  152. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
  153. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
  154. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
  155. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
  156. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
  157. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
  158. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
  159. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
  160. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
  161. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
  162. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
  163. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
  164. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +0 -0
  165. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
  166. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
  167. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
  168. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
  169. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
  170. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
  171. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
  172. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
  173. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
  174. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
  175. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
  176. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
  177. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
  178. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
  179. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
  180. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
  181. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
  182. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
  183. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
  184. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
  185. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
  186. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
  187. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
  188. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
  189. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
  190. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/core.py +0 -0
  191. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
  192. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
  193. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
  194. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
  195. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
  196. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/utils.py +0 -0
  197. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/custom_model.py +0 -0
  198. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/model_signature.py +0 -0
  199. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
  200. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
  201. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
  202. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
  203. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
  204. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
  205. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
  206. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
  207. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
  208. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
  209. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
  210. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
  211. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
  212. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
  213. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
  214. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
  215. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
  216. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
  217. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
  218. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
  219. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
  220. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
  221. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
  222. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
  223. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
  224. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
  225. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
  226. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
  227. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
  228. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
  229. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
  230. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
  231. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
  232. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
  233. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
  234. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
  235. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
  236. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
  237. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
  238. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
  239. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
  240. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
  241. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
  242. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
  243. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
  244. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
  245. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
  246. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
  247. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
  248. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
  249. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
  250. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
  251. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
  252. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
  253. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
  254. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
  255. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
  256. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
  257. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
  258. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
  259. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
  260. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
  261. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
  262. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
  263. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
  264. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
  265. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
  266. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
  267. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
  268. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
  269. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
  270. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
  271. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
  272. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
  273. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
  274. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
  275. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
  276. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
  277. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
  278. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
  279. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
  280. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
  281. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
  282. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/framework/base.py +0 -0
  283. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
  284. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
  285. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
  286. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
  287. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
  288. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
  289. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
  290. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
  291. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
  292. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
  293. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
  294. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
  295. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
  296. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
  297. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
  298. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
  299. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
  300. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
  301. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
  302. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
  303. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
  304. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
  305. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
  306. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
  307. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
  308. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
  309. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
  310. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
  311. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
  312. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
  313. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
  314. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
  315. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
  316. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
  317. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
  318. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
  319. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
  320. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
  321. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
  322. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
  323. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
  324. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
  325. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
  326. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
  327. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
  328. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
  329. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
  330. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
  331. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
  332. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
  333. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
  334. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
  335. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
  336. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
  337. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
  338. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
  339. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
  340. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
  341. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
  342. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
  343. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
  344. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
  345. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
  346. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
  347. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
  348. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
  349. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
  350. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
  351. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
  352. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
  353. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
  354. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
  355. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
  356. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
  357. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
  358. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
  359. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
  360. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
  361. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
  362. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
  363. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
  364. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
  365. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
  366. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
  367. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
  368. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
  369. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
  370. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
  371. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
  372. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
  373. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
  374. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
  375. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
  376. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
  377. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
  378. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
  379. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
  380. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
  381. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
  382. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
  383. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
  384. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
  385. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
  386. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
  387. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
  388. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
  389. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
  390. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
  391. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
  392. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
  393. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
  394. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
  395. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
  396. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
  397. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
  398. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
  399. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
  400. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
  401. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
  402. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
  403. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
  404. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/svc.py +0 -0
  405. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/svr.py +0 -0
  406. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
  407. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
  408. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
  409. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
  410. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
  411. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
  412. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
  413. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
  414. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
  415. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
  416. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
  417. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
  418. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
  419. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
  420. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
  421. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
  422. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
  423. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/shap.py +0 -0
  424. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/__init__.py +0 -0
  425. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/authentication.py +0 -0
  426. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/connection_params.py +0 -0
  427. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/html_utils.py +0 -0
  428. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/sparse.py +0 -0
  429. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/sql_client.py +0 -0
  430. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
  431. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
  432. {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,12 +1,47 @@
1
1
  # Release History
2
2
 
3
+ ## 1.9.0
4
+
5
+ ### Bug Fixes
6
+
7
+ - Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
8
+ parameter is enabled
9
+ - Registry: Fixed duplicate UserWarning logs during model packaging
10
+
11
+ ### Behavior Changes
12
+
13
+ - ML Job: The `list_jobs()` API has been modified. The `scope` parameter has been removed,
14
+ optional `database` and `schema` parameters have been added, the return type has changed
15
+ from `snowpark.DataFrame` to `pandas.DataFrame`, and the returned columns have been updated
16
+ to `name`, `status`, `message`, `database_name`, `schema_name`, `owner`, `compute_pool`,
17
+ `target_instances`, `created_time`, and `completed_time`.
18
+ - Registry: Set `relax_version` to false when pip_requirements are specified while logging model
19
+ - Registry: UserWarning will now be raised based on specified target_platforms (addresses spurious warnings)
20
+
21
+ ### New Features
22
+
23
+ - Registry: `target_platforms` supports `TargetPlatformMode`: `WAREHOUSE_ONLY`, `SNOWPARK_CONTAINER_SERVICES_ONLY`,
24
+ or `BOTH_WAREHOUSE_AND_SNOWPARK_CONTAINER_SERVICES`.
25
+ - Registry: Introduce `snowflake.ml.model.target_platform.TargetPlatform`, target platform constants, and
26
+ `snowflake.ml.model.task.Task`.
27
+ - ML Job: Single-node ML Jobs are now in GA. Multi-node support is now in PuPr
28
+ - Moved less frequently used job submission parameters to `**kwargs`
29
+ - Platform metrics are now enabled by default
30
+ - `list_jobs()` behavior changed, see [Behavior Changes](#behavior-changes) for more info
31
+
3
32
  ## 1.8.6
4
33
 
5
34
  ### Bug Fixes
6
35
 
36
+ - Fixed fatal errors from internal telemetry wrappers.
37
+
7
38
  ### New Features
8
39
 
9
40
  - Registry: Add service container info to logs.
41
+ - ML Job (PuPr): Add new `submit_from_stage()` API for submitting a payload from an existing stage path.
42
+ - ML Job (PuPr): Add support for `snowpark.Session` objects in the argument list of
43
+ `@remote` decorated functions. `Session` object will be injected from context in
44
+ the job execution environment.
10
45
 
11
46
  ## 1.8.5
12
47
 
@@ -17,17 +52,17 @@
17
52
  - Explainability: bump minimum streamlit version down to 1.30
18
53
  - Modeling: Make XGBoost a required dependency (xgboost is not a required dependency in snowflake-ml-python 1.8.4).
19
54
 
20
- ### Breaking change
55
+ ### Behavior Changes
21
56
 
22
- - ML Job: Rename argument `num_instances` to `target_instances` in job submission APIs and
57
+ - ML Job (Multi-node PrPr): Rename argument `num_instances` to `target_instances` in job submission APIs and
23
58
  change type from `Optional[int]` to `int`
24
59
 
25
60
  ### New Features
26
61
 
27
62
  - Registry: No longer checks if the snowflake-ml-python version is available in the Snowflake Conda channel when logging
28
63
  an SPCS-only model.
29
- - ML Job: Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
30
- - ML Job: Adjust polling behavior to reduce number of SQL calls.
64
+ - ML Job (PuPr): Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
65
+ - ML Job (PuPr): Adjust polling behavior to reduce number of SQL calls.
31
66
 
32
67
  ### Deprecations
33
68
 
@@ -42,18 +77,19 @@
42
77
  - Registry: Fixed a bug when logging pytroch and tensorflow models that caused
43
78
  `UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
44
79
 
45
- ### Breaking change
80
+ ### Behavior Changes
46
81
 
47
- - ML Job: Updated property `id` to be fully qualified name; Introduced new property `name` to represent the ML Job name
48
- - ML Job: Modified `list_jobs()` to return ML Job `name` instead of `id`
82
+ - ML Job (PuPr) Updated property `id` to be fully qualified name; Introduced new property `name`
83
+ to represent the ML Job name
84
+ - ML Job (PuPr) Modified `list_jobs()` to return ML Job `name` instead of `id`
49
85
  - Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
50
86
  Snowpark Container Services, instead of just user warning.
51
87
 
52
88
  ### New Features
53
89
 
54
- - ML Job: Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
90
+ - ML Job (PuPr): Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
55
91
  `schema` parameters
56
- - ML Job: Support querying by fully qualified name in `get_job()`
92
+ - ML Job (PuPr): Support querying by fully qualified name in `get_job()`
57
93
  - Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
58
94
  - Explainability: Support explain for categorical transforms for sklearn pipeline
59
95
  - Support categorical type for `xgboost.DMatrix` inputs.
@@ -63,7 +99,7 @@
63
99
  ### New Features
64
100
 
65
101
  - Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
66
- - ML Job: Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
102
+ - ML Job (PuPr): Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
67
103
  as a list of strings
68
104
  - Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
69
105
  - DataConnector: Removed PrPr decorators
@@ -74,11 +110,11 @@
74
110
  ### New Features
75
111
 
76
112
  - ML Job now available as a PuPr feature
77
- - ML Job: Add ability to retrieve results for `@remote` decorated functions using
78
- new `MLJobWithResult.result()` API, which will return the unpickled result
79
- or raise an exception if the job execution failed.
80
- - ML Job: Pre-created Snowpark Session is now available inside job payloads using
81
- `snowflake.snowpark.context.get_active_session()`
113
+ - Add ability to retrieve results for `@remote` decorated functions using
114
+ new `MLJobWithResult.result()` API, which will return the unpickled result
115
+ or raise an exception if the job execution failed.
116
+ - Pre-created Snowpark Session is now available inside job payloads using
117
+ `snowflake.snowpark.context.get_active_session()`
82
118
  - Registry: Introducing `save_location` to `log_model` using the `options` argument.
83
119
  User's can provide the path to write the model version's files that get stored in Snowflake's stage.
84
120
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-ml-python
3
- Version: 1.8.6
3
+ Version: 1.9.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:
@@ -408,13 +408,48 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
408
408
 
409
409
  # Release History
410
410
 
411
+ ## 1.9.0
412
+
413
+ ### Bug Fixes
414
+
415
+ - Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
416
+ parameter is enabled
417
+ - Registry: Fixed duplicate UserWarning logs during model packaging
418
+
419
+ ### Behavior Changes
420
+
421
+ - ML Job: The `list_jobs()` API has been modified. The `scope` parameter has been removed,
422
+ optional `database` and `schema` parameters have been added, the return type has changed
423
+ from `snowpark.DataFrame` to `pandas.DataFrame`, and the returned columns have been updated
424
+ to `name`, `status`, `message`, `database_name`, `schema_name`, `owner`, `compute_pool`,
425
+ `target_instances`, `created_time`, and `completed_time`.
426
+ - Registry: Set `relax_version` to false when pip_requirements are specified while logging model
427
+ - Registry: UserWarning will now be raised based on specified target_platforms (addresses spurious warnings)
428
+
429
+ ### New Features
430
+
431
+ - Registry: `target_platforms` supports `TargetPlatformMode`: `WAREHOUSE_ONLY`, `SNOWPARK_CONTAINER_SERVICES_ONLY`,
432
+ or `BOTH_WAREHOUSE_AND_SNOWPARK_CONTAINER_SERVICES`.
433
+ - Registry: Introduce `snowflake.ml.model.target_platform.TargetPlatform`, target platform constants, and
434
+ `snowflake.ml.model.task.Task`.
435
+ - ML Job: Single-node ML Jobs are now in GA. Multi-node support is now in PuPr
436
+ - Moved less frequently used job submission parameters to `**kwargs`
437
+ - Platform metrics are now enabled by default
438
+ - `list_jobs()` behavior changed, see [Behavior Changes](#behavior-changes) for more info
439
+
411
440
  ## 1.8.6
412
441
 
413
442
  ### Bug Fixes
414
443
 
444
+ - Fixed fatal errors from internal telemetry wrappers.
445
+
415
446
  ### New Features
416
447
 
417
448
  - Registry: Add service container info to logs.
449
+ - ML Job (PuPr): Add new `submit_from_stage()` API for submitting a payload from an existing stage path.
450
+ - ML Job (PuPr): Add support for `snowpark.Session` objects in the argument list of
451
+ `@remote` decorated functions. `Session` object will be injected from context in
452
+ the job execution environment.
418
453
 
419
454
  ## 1.8.5
420
455
 
@@ -425,17 +460,17 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
425
460
  - Explainability: bump minimum streamlit version down to 1.30
426
461
  - Modeling: Make XGBoost a required dependency (xgboost is not a required dependency in snowflake-ml-python 1.8.4).
427
462
 
428
- ### Breaking change
463
+ ### Behavior Changes
429
464
 
430
- - ML Job: Rename argument `num_instances` to `target_instances` in job submission APIs and
465
+ - ML Job (Multi-node PrPr): Rename argument `num_instances` to `target_instances` in job submission APIs and
431
466
  change type from `Optional[int]` to `int`
432
467
 
433
468
  ### New Features
434
469
 
435
470
  - Registry: No longer checks if the snowflake-ml-python version is available in the Snowflake Conda channel when logging
436
471
  an SPCS-only model.
437
- - ML Job: Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
438
- - ML Job: Adjust polling behavior to reduce number of SQL calls.
472
+ - ML Job (PuPr): Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
473
+ - ML Job (PuPr): Adjust polling behavior to reduce number of SQL calls.
439
474
 
440
475
  ### Deprecations
441
476
 
@@ -450,18 +485,19 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
450
485
  - Registry: Fixed a bug when logging pytroch and tensorflow models that caused
451
486
  `UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
452
487
 
453
- ### Breaking change
488
+ ### Behavior Changes
454
489
 
455
- - ML Job: Updated property `id` to be fully qualified name; Introduced new property `name` to represent the ML Job name
456
- - ML Job: Modified `list_jobs()` to return ML Job `name` instead of `id`
490
+ - ML Job (PuPr) Updated property `id` to be fully qualified name; Introduced new property `name`
491
+ to represent the ML Job name
492
+ - ML Job (PuPr) Modified `list_jobs()` to return ML Job `name` instead of `id`
457
493
  - Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
458
494
  Snowpark Container Services, instead of just user warning.
459
495
 
460
496
  ### New Features
461
497
 
462
- - ML Job: Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
498
+ - ML Job (PuPr): Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
463
499
  `schema` parameters
464
- - ML Job: Support querying by fully qualified name in `get_job()`
500
+ - ML Job (PuPr): Support querying by fully qualified name in `get_job()`
465
501
  - Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
466
502
  - Explainability: Support explain for categorical transforms for sklearn pipeline
467
503
  - Support categorical type for `xgboost.DMatrix` inputs.
@@ -471,7 +507,7 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
471
507
  ### New Features
472
508
 
473
509
  - Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
474
- - ML Job: Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
510
+ - ML Job (PuPr): Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
475
511
  as a list of strings
476
512
  - Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
477
513
  - DataConnector: Removed PrPr decorators
@@ -482,11 +518,11 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
482
518
  ### New Features
483
519
 
484
520
  - ML Job now available as a PuPr feature
485
- - ML Job: Add ability to retrieve results for `@remote` decorated functions using
486
- new `MLJobWithResult.result()` API, which will return the unpickled result
487
- or raise an exception if the job execution failed.
488
- - ML Job: Pre-created Snowpark Session is now available inside job payloads using
489
- `snowflake.snowpark.context.get_active_session()`
521
+ - Add ability to retrieve results for `@remote` decorated functions using
522
+ new `MLJobWithResult.result()` API, which will return the unpickled result
523
+ or raise an exception if the job execution failed.
524
+ - Pre-created Snowpark Session is now available inside job payloads using
525
+ `snowflake.snowpark.context.get_active_session()`
490
526
  - Registry: Introducing `save_location` to `log_model` using the `options` argument.
491
527
  User's can provide the path to write the model version's files that get stored in Snowflake's stage.
492
528
 
@@ -240,7 +240,7 @@ def get_schema_level_object_identifier(
240
240
  """
241
241
 
242
242
  for identifier in (db, schema, object_name):
243
- if identifier is not None and SF_IDENTIFIER_RE.match(identifier) is None:
243
+ if identifier is not None and SF_IDENTIFIER_RE.fullmatch(identifier) is None:
244
244
  raise ValueError(f"Invalid identifier {identifier}")
245
245
 
246
246
  if others is None:
@@ -0,0 +1,61 @@
1
+ from typing import Any, Optional
2
+
3
+ from snowflake.ml._internal.utils import identifier
4
+ from snowflake.snowpark import session
5
+
6
+
7
+ class SerializableSessionMixin:
8
+ """Mixin that provides pickling capabilities for objects with Snowpark sessions."""
9
+
10
+ def __getstate__(self) -> dict[str, Any]:
11
+ """Customize pickling to exclude non-serializable session and related components."""
12
+ state = self.__dict__.copy()
13
+
14
+ # Save session metadata for validation during unpickling
15
+ if hasattr(self, "_session") and self._session is not None:
16
+ try:
17
+ state["__session-account__"] = self._session.get_current_account()
18
+ state["__session-role__"] = self._session.get_current_role()
19
+ state["__session-database__"] = self._session.get_current_database()
20
+ state["__session-schema__"] = self._session.get_current_schema()
21
+ except Exception:
22
+ pass
23
+
24
+ state["_session"] = None
25
+ return state
26
+
27
+ def __setstate__(self, state: dict[str, Any]) -> None:
28
+ """Restore session from context during unpickling."""
29
+ saved_account = state.pop("__session-account__", None)
30
+ saved_role = state.pop("__session-role__", None)
31
+ saved_database = state.pop("__session-database__", None)
32
+ saved_schema = state.pop("__session-schema__", None)
33
+ self.__dict__.update(state)
34
+
35
+ if saved_account is not None:
36
+
37
+ def identifiers_match(saved: Optional[str], current: Optional[str]) -> bool:
38
+ saved_resolved = identifier.resolve_identifier(saved) if saved is not None else saved
39
+ current_resolved = identifier.resolve_identifier(current) if current is not None else current
40
+ return saved_resolved == current_resolved
41
+
42
+ for active_session in session._get_active_sessions():
43
+ try:
44
+ current_account = active_session.get_current_account()
45
+ current_role = active_session.get_current_role()
46
+ current_database = active_session.get_current_database()
47
+ current_schema = active_session.get_current_schema()
48
+
49
+ if (
50
+ identifiers_match(saved_account, current_account)
51
+ and identifiers_match(saved_role, current_role)
52
+ and identifiers_match(saved_database, current_database)
53
+ and identifiers_match(saved_schema, current_schema)
54
+ ):
55
+ self._session = active_session
56
+ return
57
+ except Exception:
58
+ continue
59
+
60
+ # No matching session found or no metadata available
61
+ raise RuntimeError("No active Snowpark session available. Please create a session.")
@@ -15,7 +15,7 @@ STAGE_VOLUME_MOUNT_PATH = "/mnt/app"
15
15
  DEFAULT_IMAGE_REPO = "/snowflake/images/snowflake_images"
16
16
  DEFAULT_IMAGE_CPU = "st_plat/runtime/x86/runtime_image/snowbooks"
17
17
  DEFAULT_IMAGE_GPU = "st_plat/runtime/x86/generic_gpu/runtime_image/snowbooks"
18
- DEFAULT_IMAGE_TAG = "1.4.2"
18
+ DEFAULT_IMAGE_TAG = "1.5.0"
19
19
  DEFAULT_ENTRYPOINT_PATH = "func.py"
20
20
 
21
21
  # Percent of container memory to allocate for /dev/shm volume
@@ -75,16 +75,75 @@ def fetch_result(session: snowpark.Session, result_path: str) -> ExecutionResult
75
75
 
76
76
  Returns:
77
77
  A dictionary containing the execution result if available, None otherwise.
78
+
79
+ Raises:
80
+ RuntimeError: If both pickle and JSON result retrieval fail.
78
81
  """
79
82
  try:
80
83
  # TODO: Check if file exists
81
84
  with session.file.get_stream(result_path) as result_stream:
82
85
  return ExecutionResult.from_dict(pickle.load(result_stream))
83
- except (sp_exceptions.SnowparkSQLException, pickle.UnpicklingError, TypeError, ImportError):
86
+ except (
87
+ sp_exceptions.SnowparkSQLException,
88
+ pickle.UnpicklingError,
89
+ TypeError,
90
+ ImportError,
91
+ AttributeError,
92
+ MemoryError,
93
+ ) as pickle_error:
84
94
  # Fall back to JSON result if loading pickled result fails for any reason
85
- result_json_path = os.path.splitext(result_path)[0] + ".json"
86
- with session.file.get_stream(result_json_path) as result_stream:
87
- return ExecutionResult.from_dict(json.load(result_stream))
95
+ try:
96
+ result_json_path = os.path.splitext(result_path)[0] + ".json"
97
+ with session.file.get_stream(result_json_path) as result_stream:
98
+ return ExecutionResult.from_dict(json.load(result_stream))
99
+ except Exception as json_error:
100
+ # Both pickle and JSON failed - provide helpful error message
101
+ raise RuntimeError(_fetch_result_error_message(pickle_error, result_path, json_error)) from pickle_error
102
+
103
+
104
+ def _fetch_result_error_message(error: Exception, result_path: str, json_error: Optional[Exception] = None) -> str:
105
+ """Create helpful error messages for common result retrieval failures."""
106
+
107
+ # Package import issues
108
+ if isinstance(error, ImportError):
109
+ return f"Failed to retrieve job result: Package not installed in your local environment. Error: {str(error)}"
110
+
111
+ # Package versions differ between runtime and local environment
112
+ if isinstance(error, AttributeError):
113
+ return f"Failed to retrieve job result: Package version mismatch. Error: {str(error)}"
114
+
115
+ # Serialization issues
116
+ if isinstance(error, TypeError):
117
+ return f"Failed to retrieve job result: Non-serializable objects were returned. Error: {str(error)}"
118
+
119
+ # Python version pickling incompatibility
120
+ if isinstance(error, pickle.UnpicklingError) and "protocol" in str(error).lower():
121
+ # TODO: Update this once we support different Python versions
122
+ client_version = f"Python {sys.version_info.major}.{sys.version_info.minor}"
123
+ runtime_version = "Python 3.10"
124
+ return (
125
+ f"Failed to retrieve job result: Python version mismatch - job ran on {runtime_version}, "
126
+ f"local environment using Python {client_version}. Error: {str(error)}"
127
+ )
128
+
129
+ # File access issues
130
+ if isinstance(error, sp_exceptions.SnowparkSQLException):
131
+ if "not found" in str(error).lower() or "does not exist" in str(error).lower():
132
+ return (
133
+ f"Failed to retrieve job result: No result file found. Check job.get_logs() for execution "
134
+ f"errors. Error: {str(error)}"
135
+ )
136
+ else:
137
+ return f"Failed to retrieve job result: Cannot access result file. Error: {str(error)}"
138
+
139
+ if isinstance(error, MemoryError):
140
+ return f"Failed to retrieve job result: Result too large for memory. Error: {str(error)}"
141
+
142
+ # Generic fallback
143
+ base_message = f"Failed to retrieve job result: {str(error)}"
144
+ if json_error:
145
+ base_message += f" (JSON fallback also failed: {str(json_error)})"
146
+ return base_message
88
147
 
89
148
 
90
149
  def load_exception(exc_type_name: str, exc_value: Union[Exception, str], exc_tb: str) -> Exception:
@@ -12,13 +12,13 @@ import cloudpickle as cp
12
12
  from packaging import version
13
13
 
14
14
  from snowflake import snowpark
15
+ from snowflake.connector import errors
15
16
  from snowflake.ml.jobs._utils import (
16
17
  constants,
17
18
  function_payload_utils,
18
19
  stage_utils,
19
20
  types,
20
21
  )
21
- from snowflake.snowpark import exceptions as sp_exceptions
22
22
  from snowflake.snowpark._internal import code_generation
23
23
 
24
24
  cp.register_pickle_by_value(function_payload_utils)
@@ -312,14 +312,15 @@ class JobPayload:
312
312
  stage_name = stage_path.parts[0].lstrip("@")
313
313
  # Explicitly check if stage exists first since we may not have CREATE STAGE privilege
314
314
  try:
315
- session.sql("describe stage identifier(?)", params=[stage_name]).collect()
316
- except sp_exceptions.SnowparkSQLException:
317
- session.sql(
315
+ session._conn.run_query("describe stage identifier(?)", params=[stage_name], _force_qmark_paramstyle=True)
316
+ except errors.ProgrammingError:
317
+ session._conn.run_query(
318
318
  "create stage if not exists identifier(?)"
319
319
  " encryption = ( type = 'SNOWFLAKE_SSE' )"
320
320
  " comment = 'Created by snowflake.ml.jobs Python API'",
321
321
  params=[stage_name],
322
- ).collect()
322
+ _force_qmark_paramstyle=True,
323
+ )
323
324
 
324
325
  # Upload payload to stage
325
326
  if not isinstance(source, (Path, stage_utils.StagePath)):
@@ -0,0 +1,9 @@
1
+ from snowflake import snowpark
2
+
3
+
4
+ def get_attribute_map(session: snowpark.Session, requested_attributes: dict[str, int]) -> dict[str, int]:
5
+ metadata = session._conn._cursor.description
6
+ for index in range(len(metadata)):
7
+ if metadata[index].name in requested_attributes.keys():
8
+ requested_attributes[metadata[index].name] = index
9
+ return requested_attributes
@@ -6,16 +6,18 @@ from typing import Any, Optional, Union
6
6
 
7
7
  from snowflake import snowpark
8
8
  from snowflake.ml._internal.utils import snowflake_env
9
- from snowflake.ml.jobs._utils import constants, types
9
+ from snowflake.ml.jobs._utils import constants, query_helper, types
10
10
 
11
11
 
12
12
  def _get_node_resources(session: snowpark.Session, compute_pool: str) -> types.ComputeResources:
13
13
  """Extract resource information for the specified compute pool"""
14
14
  # Get the instance family
15
- rows = session.sql("show compute pools like ?", params=[compute_pool]).collect()
16
- if not rows:
15
+ rows = session._conn.run_query("show compute pools like ?", params=[compute_pool], _force_qmark_paramstyle=True)
16
+ if not rows or not isinstance(rows, dict) or not rows.get("data"):
17
17
  raise ValueError(f"Compute pool '{compute_pool}' not found")
18
- instance_family: str = rows[0]["instance_family"]
18
+ requested_attributes = query_helper.get_attribute_map(session, {"instance_family": 4})
19
+ compute_pool_info = rows["data"]
20
+ instance_family: str = compute_pool_info[0][requested_attributes["instance_family"]]
19
21
  cloud = snowflake_env.get_current_cloud(session, default=snowflake_env.SnowflakeCloudType.AWS)
20
22
 
21
23
  return (
@@ -1,6 +1,6 @@
1
1
  import copy
2
2
  import functools
3
- from typing import Callable, Optional, TypeVar
3
+ from typing import Any, Callable, Optional, TypeVar
4
4
 
5
5
  from typing_extensions import ParamSpec
6
6
 
@@ -20,16 +20,11 @@ def remote(
20
20
  compute_pool: str,
21
21
  *,
22
22
  stage_name: str,
23
+ target_instances: int = 1,
23
24
  pip_requirements: Optional[list[str]] = None,
24
25
  external_access_integrations: Optional[list[str]] = None,
25
- query_warehouse: Optional[str] = None,
26
- env_vars: Optional[dict[str, str]] = None,
27
- target_instances: int = 1,
28
- min_instances: Optional[int] = None,
29
- enable_metrics: bool = False,
30
- database: Optional[str] = None,
31
- schema: Optional[str] = None,
32
26
  session: Optional[snowpark.Session] = None,
27
+ **kwargs: Any,
33
28
  ) -> Callable[[Callable[_Args, _ReturnValue]], Callable[_Args, jb.MLJob[_ReturnValue]]]:
34
29
  """
35
30
  Submit a job to the compute pool.
@@ -37,17 +32,20 @@ def remote(
37
32
  Args:
38
33
  compute_pool: The compute pool to use for the job.
39
34
  stage_name: The name of the stage where the job payload will be uploaded.
35
+ target_instances: The number of nodes in the job. If none specified, create a single node job.
40
36
  pip_requirements: A list of pip requirements for the job.
41
37
  external_access_integrations: A list of external access integrations.
42
- query_warehouse: The query warehouse to use. Defaults to session warehouse.
43
- env_vars: Environment variables to set in container
44
- target_instances: The number of nodes in the job. If none specified, create a single node job.
45
- min_instances: The minimum number of nodes required to start the job. If none specified,
46
- defaults to target_instances. If set, the job will not start until the minimum number of nodes is available.
47
- enable_metrics: Whether to enable metrics publishing for the job.
48
- database: The database to use for the job.
49
- schema: The schema to use for the job.
50
38
  session: The Snowpark session to use. If none specified, uses active session.
39
+ kwargs: Additional keyword arguments. Supported arguments:
40
+ database (str): The database to use for the job.
41
+ schema (str): The schema to use for the job.
42
+ min_instances (int): The minimum number of nodes required to start the job.
43
+ If none specified, defaults to target_instances. If set, the job
44
+ will not start until the minimum number of nodes is available.
45
+ env_vars (dict): Environment variables to set in container.
46
+ enable_metrics (bool): Whether to enable metrics publishing for the job.
47
+ query_warehouse (str): The query warehouse to use. Defaults to session warehouse.
48
+ spec_overrides (dict): A dictionary of overrides for the service spec.
51
49
 
52
50
  Returns:
53
51
  Decorator that dispatches invocations of the decorated function as remote jobs.
@@ -61,22 +59,17 @@ def remote(
61
59
  wrapped_func.__code__ = wrapped_func.__code__.replace(co_firstlineno=func.__code__.co_firstlineno + 1)
62
60
 
63
61
  @functools.wraps(func)
64
- def wrapper(*args: _Args.args, **kwargs: _Args.kwargs) -> jb.MLJob[_ReturnValue]:
65
- payload = payload_utils.create_function_payload(func, *args, **kwargs)
62
+ def wrapper(*_args: _Args.args, **_kwargs: _Args.kwargs) -> jb.MLJob[_ReturnValue]:
63
+ payload = payload_utils.create_function_payload(func, *_args, **_kwargs)
66
64
  job = jm._submit_job(
67
65
  source=payload,
68
66
  stage_name=stage_name,
69
67
  compute_pool=compute_pool,
68
+ target_instances=target_instances,
70
69
  pip_requirements=pip_requirements,
71
70
  external_access_integrations=external_access_integrations,
72
- query_warehouse=query_warehouse,
73
- env_vars=env_vars,
74
- target_instances=target_instances,
75
- min_instances=min_instances,
76
- enable_metrics=enable_metrics,
77
- database=database,
78
- schema=schema,
79
71
  session=payload.session or session,
72
+ **kwargs,
80
73
  )
81
74
  assert isinstance(job, jb.MLJob), f"Unexpected job type: {type(job)}"
82
75
  return job