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.
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/CHANGELOG.md +51 -15
- {snowflake_ml_python-1.8.6/snowflake_ml_python.egg-info → snowflake_ml_python-1.9.0}/PKG-INFO +52 -16
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/identifier.py +1 -1
- snowflake_ml_python-1.9.0/snowflake/ml/_internal/utils/mixins.py +61 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/constants.py +1 -1
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/interop_utils.py +63 -4
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/payload_utils.py +6 -5
- snowflake_ml_python-1.9.0/snowflake/ml/jobs/_utils/query_helper.py +9 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/spec_utils.py +6 -4
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/decorators.py +18 -25
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/job.py +179 -58
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/manager.py +194 -145
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/model_ops.py +12 -3
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/service_ops.py +4 -2
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +2 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +38 -10
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_env/model_env.py +35 -27
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +5 -1
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +3 -1
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/snowpark_handler.py +55 -3
- snowflake_ml_python-1.9.0/snowflake/ml/model/target_platform.py +11 -0
- snowflake_ml_python-1.9.0/snowflake/ml/model/task.py +9 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/type_hints.py +5 -13
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/metrics_utils.py +2 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/_manager/model_manager.py +30 -15
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/registry.py +119 -42
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0/snowflake_ml_python.egg-info}/PKG-INFO +52 -16
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/SOURCES.txt +4 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/README.md +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {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
- {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
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/types.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/model/model_version_impl.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {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
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {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
- {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
- {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
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {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
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {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
|
-
###
|
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
|
-
###
|
80
|
+
### Behavior Changes
|
46
81
|
|
47
|
-
- ML Job
|
48
|
-
|
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
|
-
-
|
78
|
-
|
79
|
-
|
80
|
-
-
|
81
|
-
|
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
|
|
{snowflake_ml_python-1.8.6/snowflake_ml_python.egg-info → snowflake_ml_python-1.9.0}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.
|
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
|
-
###
|
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
|
-
###
|
488
|
+
### Behavior Changes
|
454
489
|
|
455
|
-
- ML Job
|
456
|
-
|
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
|
-
-
|
486
|
-
|
487
|
-
|
488
|
-
-
|
489
|
-
|
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
|
|
{snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/_internal/utils/identifier.py
RENAMED
@@ -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.
|
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.")
|
{snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/constants.py
RENAMED
@@ -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.
|
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
|
{snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/interop_utils.py
RENAMED
@@ -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 (
|
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
|
-
|
86
|
-
|
87
|
-
|
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:
|
{snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/payload_utils.py
RENAMED
@@ -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.
|
316
|
-
except
|
317
|
-
session.
|
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
|
-
|
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
|
{snowflake_ml_python-1.8.6 → snowflake_ml_python-1.9.0}/snowflake/ml/jobs/_utils/spec_utils.py
RENAMED
@@ -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.
|
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
|
-
|
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(*
|
65
|
-
payload = payload_utils.create_function_payload(func, *
|
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
|