snowflake-ml-python 1.30.0__tar.gz → 1.31.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.30.0 → snowflake_ml_python-1.31.0}/CHANGELOG.md +35 -0
- {snowflake_ml_python-1.30.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.31.0}/PKG-INFO +36 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_logging/experiment_logger.py +22 -11
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/experiment_tracking.py +11 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/__init__.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/constants.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/payload_utils.py +41 -36
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/stage_utils.py +2 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/decorators.py +0 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/job.py +16 -12
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/job_definition.py +43 -14
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/manager.py +0 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +4 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/model/model_version_impl.py +2 -6
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/ops/model_ops.py +5 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/ops/param_utils.py +144 -6
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/ops/service_ops.py +4 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +3 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +6 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_env/model_env.py +34 -13
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/custom.py +10 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +1 -3
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +4 -4
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +22 -11
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/core.py +102 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/pandas_handler.py +23 -3
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/utils.py +19 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/custom_model.py +25 -6
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0/snowflake_ml_python.egg-info}/PKG-INFO +36 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake_ml_python.egg-info/SOURCES.txt +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/README.md +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- /snowflake_ml_python-1.30.0/snowflake/ml/jobs/_utils/types.py → /snowflake_ml_python-1.31.0/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/huggingface.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/batch/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
+
## 1.31.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* Registry: Fixed custom model handler to explicitly persist `PARTITIONED=False` in model metadata for
|
|
10
|
+
`@inference_api` methods. Previously, custom models using `@inference_api` with `TABLE_FUNCTION` type
|
|
11
|
+
were incorrectly reported as partitioned.
|
|
12
|
+
* Registry: Fixed sklearn and SnowML model handlers to explicitly persist `PARTITIONED=False` metadata for
|
|
13
|
+
the `explain` method, preventing it from being incorrectly reported as partitioned at read time.
|
|
14
|
+
* Registry: Fixed inconsistent `infer_signature` for columns containing NaN values. Previously,
|
|
15
|
+
the inferred dtype (`DOUBLE` vs `INT64`) depended on whether NaN rows survived truncation, causing
|
|
16
|
+
downstream validation failures. Now, the original pandas column dtype is respected during `infer_signature`,
|
|
17
|
+
so columns with mix of integer and `np.nan` or `None` are consistently inferred as `DOUBLE` regardless of NaN position.
|
|
18
|
+
* Registry: Fixed a bug where invalid parameter types (e.g., passing a string to an integer parameter)
|
|
19
|
+
were silently coerced instead of raising an error. Parameters are now strictly validated against their
|
|
20
|
+
declared types before inference. This may break code that relied on the silent coercion behavior
|
|
21
|
+
(e.g., `model.run(max_tokens="100")` or `model.run(some_int_param=True)`).
|
|
22
|
+
* ML Job: Fixed explicitly named `MLJobDefinition` objects so they can be overwritten in place and invoked
|
|
23
|
+
repeatedly without job name collisions; the `generate_suffix` argument has been removed.
|
|
24
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug that generated too many lines of log that consist entirely of
|
|
25
|
+
whitespace.
|
|
26
|
+
|
|
27
|
+
### Behavior Changes
|
|
28
|
+
|
|
29
|
+
* Registry: Warehouse partitioned model inference no longer includes non-partition input columns (which were always
|
|
30
|
+
NULL) in the output. The output now contains only the model's output columns and the partition column.
|
|
31
|
+
|
|
32
|
+
### Deprecations
|
|
33
|
+
|
|
3
34
|
## 1.30.0
|
|
4
35
|
|
|
5
36
|
### New Features
|
|
@@ -319,6 +350,10 @@ mv = registry.log_model(
|
|
|
319
350
|
* Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
|
|
320
351
|
Note: Requires vLLM inference engine while creating the service.
|
|
321
352
|
|
|
353
|
+
* ML Job: Added support for custom command entrypoints. The `entrypoint` parameter now accepts a
|
|
354
|
+
`list[str]` (e.g., `["arctic_training", "run_causal.yml"]`), which is executed directly as a
|
|
355
|
+
command rather than being treated as a Python script.
|
|
356
|
+
|
|
322
357
|
### Bug Fixes
|
|
323
358
|
|
|
324
359
|
### Behavior Changes
|
{snowflake_ml_python-1.30.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.31.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.31.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:
|
|
@@ -416,6 +416,37 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
416
416
|
|
|
417
417
|
# Release History
|
|
418
418
|
|
|
419
|
+
## 1.31.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
### Bug Fixes
|
|
424
|
+
|
|
425
|
+
* Registry: Fixed custom model handler to explicitly persist `PARTITIONED=False` in model metadata for
|
|
426
|
+
`@inference_api` methods. Previously, custom models using `@inference_api` with `TABLE_FUNCTION` type
|
|
427
|
+
were incorrectly reported as partitioned.
|
|
428
|
+
* Registry: Fixed sklearn and SnowML model handlers to explicitly persist `PARTITIONED=False` metadata for
|
|
429
|
+
the `explain` method, preventing it from being incorrectly reported as partitioned at read time.
|
|
430
|
+
* Registry: Fixed inconsistent `infer_signature` for columns containing NaN values. Previously,
|
|
431
|
+
the inferred dtype (`DOUBLE` vs `INT64`) depended on whether NaN rows survived truncation, causing
|
|
432
|
+
downstream validation failures. Now, the original pandas column dtype is respected during `infer_signature`,
|
|
433
|
+
so columns with mix of integer and `np.nan` or `None` are consistently inferred as `DOUBLE` regardless of NaN position.
|
|
434
|
+
* Registry: Fixed a bug where invalid parameter types (e.g., passing a string to an integer parameter)
|
|
435
|
+
were silently coerced instead of raising an error. Parameters are now strictly validated against their
|
|
436
|
+
declared types before inference. This may break code that relied on the silent coercion behavior
|
|
437
|
+
(e.g., `model.run(max_tokens="100")` or `model.run(some_int_param=True)`).
|
|
438
|
+
* ML Job: Fixed explicitly named `MLJobDefinition` objects so they can be overwritten in place and invoked
|
|
439
|
+
repeatedly without job name collisions; the `generate_suffix` argument has been removed.
|
|
440
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug that generated too many lines of log that consist entirely of
|
|
441
|
+
whitespace.
|
|
442
|
+
|
|
443
|
+
### Behavior Changes
|
|
444
|
+
|
|
445
|
+
* Registry: Warehouse partitioned model inference no longer includes non-partition input columns (which were always
|
|
446
|
+
NULL) in the output. The output now contains only the model's output columns and the partition column.
|
|
447
|
+
|
|
448
|
+
### Deprecations
|
|
449
|
+
|
|
419
450
|
## 1.30.0
|
|
420
451
|
|
|
421
452
|
### New Features
|
|
@@ -735,6 +766,10 @@ mv = registry.log_model(
|
|
|
735
766
|
* Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
|
|
736
767
|
Note: Requires vLLM inference engine while creating the service.
|
|
737
768
|
|
|
769
|
+
* ML Job: Added support for custom command entrypoints. The `entrypoint` parameter now accepts a
|
|
770
|
+
`list[str]` (e.g., `["arctic_training", "run_causal.yml"]`), which is executed directly as a
|
|
771
|
+
command rather than being treated as a Python script.
|
|
772
|
+
|
|
738
773
|
### Bug Fixes
|
|
739
774
|
|
|
740
775
|
### Behavior Changes
|
|
@@ -20,14 +20,31 @@ class ExperimentLogger(TextIO):
|
|
|
20
20
|
self.exp_id = exp_id
|
|
21
21
|
self.run_id = run_id
|
|
22
22
|
self.stream = stream
|
|
23
|
+
self._buffer = "" # Buffer to store incomplete lines
|
|
24
|
+
|
|
25
|
+
def _write_line(self, line: str) -> None:
|
|
26
|
+
log_message = {
|
|
27
|
+
"body": line,
|
|
28
|
+
"attributes": {
|
|
29
|
+
"snow.experiment.id": self.exp_id,
|
|
30
|
+
"snow.experiment.run.id": self.run_id,
|
|
31
|
+
"snow.experiment.stream": self.stream,
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
json_data = json.dumps(log_message)
|
|
35
|
+
self.file.write(json_data + "\n")
|
|
23
36
|
|
|
24
37
|
def close(self) -> None:
|
|
38
|
+
self.flush()
|
|
25
39
|
self.file.close()
|
|
26
40
|
|
|
27
41
|
def fileno(self) -> int:
|
|
28
42
|
return self.file.fileno()
|
|
29
43
|
|
|
30
44
|
def flush(self) -> None:
|
|
45
|
+
if self._buffer:
|
|
46
|
+
self._write_line(self._buffer)
|
|
47
|
+
self._buffer = ""
|
|
31
48
|
self.file.flush()
|
|
32
49
|
|
|
33
50
|
def isatty(self) -> bool:
|
|
@@ -61,17 +78,11 @@ class ExperimentLogger(TextIO):
|
|
|
61
78
|
return True
|
|
62
79
|
|
|
63
80
|
def write(self, data: str) -> int:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"snow.experiment.stream": self.stream,
|
|
70
|
-
},
|
|
71
|
-
}
|
|
72
|
-
json_data = json.dumps(log_message)
|
|
73
|
-
self.file.write(json_data + "\n")
|
|
74
|
-
return len(data) # Return length of input, not JSON output
|
|
81
|
+
self._buffer += data
|
|
82
|
+
while "\n" in self._buffer:
|
|
83
|
+
line, self._buffer = self._buffer.split("\n", 1)
|
|
84
|
+
self._write_line(line)
|
|
85
|
+
return len(data)
|
|
75
86
|
|
|
76
87
|
def writelines(self, lines: Iterable[str]) -> None:
|
|
77
88
|
for line in lines:
|
|
@@ -128,10 +128,17 @@ class ExperimentTracking:
|
|
|
128
128
|
state["_session"] = None
|
|
129
129
|
state["_sql_client"] = None
|
|
130
130
|
state["_registry"] = None
|
|
131
|
+
# Save logger buffer state before clearing _logging_context
|
|
132
|
+
if self._logging_context:
|
|
133
|
+
state["_stdout_buffer"] = self._logging_context.stdout_logger._buffer
|
|
134
|
+
state["_stderr_buffer"] = self._logging_context.stderr_logger._buffer
|
|
131
135
|
state["_logging_context"] = None
|
|
132
136
|
return state
|
|
133
137
|
|
|
134
138
|
def __setstate__(self, state: dict[str, Any]) -> None:
|
|
139
|
+
stdout_buffer = state.pop("_stdout_buffer", "")
|
|
140
|
+
stderr_buffer = state.pop("_stderr_buffer", "")
|
|
141
|
+
|
|
135
142
|
if hasattr(super(), "__setstate__"):
|
|
136
143
|
super().__setstate__(state) # type: ignore[misc]
|
|
137
144
|
else:
|
|
@@ -153,6 +160,10 @@ class ExperimentTracking:
|
|
|
153
160
|
)
|
|
154
161
|
if self._run:
|
|
155
162
|
self._patch_stdout_and_stderr()
|
|
163
|
+
# _patch_stdout_and_stderr sets _logging_context if live logging is enabled
|
|
164
|
+
if self._logging_context:
|
|
165
|
+
self._logging_context.stdout_logger._buffer = stdout_buffer
|
|
166
|
+
self._logging_context.stderr_logger._buffer = stderr_buffer
|
|
156
167
|
|
|
157
168
|
def set_experiment(
|
|
158
169
|
self,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from snowflake.ml.jobs._interop.exception_utils import install_exception_display_hooks
|
|
2
|
-
from snowflake.ml.jobs._utils.
|
|
2
|
+
from snowflake.ml.jobs._utils.type_utils import JOB_STATUS
|
|
3
3
|
from snowflake.ml.jobs.decorators import remote
|
|
4
4
|
from snowflake.ml.jobs.job import MLJob
|
|
5
5
|
from snowflake.ml.jobs.job_definition import MLJobDefinition
|
{snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/constants.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from snowflake.ml._internal.utils.snowflake_env import SnowflakeCloudType
|
|
2
|
-
from snowflake.ml.jobs._utils.
|
|
2
|
+
from snowflake.ml.jobs._utils.type_utils import ComputeResources
|
|
3
3
|
|
|
4
4
|
# SPCS specification constants
|
|
5
5
|
DEFAULT_CONTAINER_NAME = "main"
|
{snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/payload_utils.py
RENAMED
|
@@ -17,7 +17,7 @@ import cloudpickle as cp
|
|
|
17
17
|
from packaging import version
|
|
18
18
|
|
|
19
19
|
from snowflake import snowpark
|
|
20
|
-
from snowflake.ml.jobs._utils import constants, query_helper, stage_utils,
|
|
20
|
+
from snowflake.ml.jobs._utils import constants, query_helper, stage_utils, type_utils
|
|
21
21
|
from snowflake.snowpark import exceptions as sp_exceptions
|
|
22
22
|
from snowflake.snowpark._internal import code_generation
|
|
23
23
|
from snowflake.snowpark._internal.utils import zip_file_or_directory_to_stream
|
|
@@ -87,7 +87,7 @@ def _upload_directory(
|
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
def upload_payloads(
|
|
90
|
-
session: snowpark.Session, stage_path: PurePath, *payload_specs:
|
|
90
|
+
session: snowpark.Session, stage_path: PurePath, *payload_specs: type_utils.PayloadSpec, overwrite: bool = True
|
|
91
91
|
) -> None:
|
|
92
92
|
for spec in payload_specs:
|
|
93
93
|
source_path = spec.source_path
|
|
@@ -156,11 +156,11 @@ def upload_system_resources(session: snowpark.Session, stage_path: PurePath) ->
|
|
|
156
156
|
|
|
157
157
|
|
|
158
158
|
def resolve_source(
|
|
159
|
-
source: Union[
|
|
160
|
-
) -> Union[
|
|
159
|
+
source: Union[type_utils.PayloadPath, Callable[..., Any]]
|
|
160
|
+
) -> Union[type_utils.PayloadPath, Callable[..., Any]]:
|
|
161
161
|
if callable(source):
|
|
162
162
|
return source
|
|
163
|
-
elif isinstance(source,
|
|
163
|
+
elif isinstance(source, type_utils.PayloadPath):
|
|
164
164
|
if not source.exists():
|
|
165
165
|
raise FileNotFoundError(f"{source} does not exist")
|
|
166
166
|
return source.absolute()
|
|
@@ -169,9 +169,9 @@ def resolve_source(
|
|
|
169
169
|
|
|
170
170
|
|
|
171
171
|
def resolve_entrypoint(
|
|
172
|
-
source: Union[
|
|
173
|
-
entrypoint: Optional[Union[
|
|
174
|
-
) -> Union[
|
|
172
|
+
source: Union[type_utils.PayloadPath, Callable[..., Any]],
|
|
173
|
+
entrypoint: Optional[Union[type_utils.PayloadPath, list[str]]],
|
|
174
|
+
) -> Union[type_utils.PayloadEntrypoint, list[str]]:
|
|
175
175
|
"""Resolve and validate the entrypoint for a job payload.
|
|
176
176
|
|
|
177
177
|
Args:
|
|
@@ -196,7 +196,7 @@ def resolve_entrypoint(
|
|
|
196
196
|
|
|
197
197
|
if callable(source):
|
|
198
198
|
# Entrypoint is generated for callable payloads
|
|
199
|
-
return
|
|
199
|
+
return type_utils.PayloadEntrypoint(
|
|
200
200
|
file_path=entrypoint or Path(constants.DEFAULT_ENTRYPOINT_PATH),
|
|
201
201
|
main_func=_ENTRYPOINT_FUNC_NAME,
|
|
202
202
|
)
|
|
@@ -235,13 +235,13 @@ def resolve_entrypoint(
|
|
|
235
235
|
f" supported={','.join(_SUPPORTED_ENTRYPOINT_EXTENSIONS)} got={entrypoint.suffix}"
|
|
236
236
|
)
|
|
237
237
|
|
|
238
|
-
return
|
|
238
|
+
return type_utils.PayloadEntrypoint(
|
|
239
239
|
file_path=entrypoint, # entrypoint is an absolute path at this point
|
|
240
240
|
main_func=None,
|
|
241
241
|
)
|
|
242
242
|
|
|
243
243
|
|
|
244
|
-
def get_zip_file_from_path(path:
|
|
244
|
+
def get_zip_file_from_path(path: type_utils.PayloadPath) -> type_utils.PayloadPath:
|
|
245
245
|
"""Finds the path of the outermost zip archive from a given file path.
|
|
246
246
|
|
|
247
247
|
Examples:
|
|
@@ -269,8 +269,8 @@ def get_zip_file_from_path(path: types.PayloadPath) -> types.PayloadPath:
|
|
|
269
269
|
|
|
270
270
|
|
|
271
271
|
def _finalize_payload_pair(
|
|
272
|
-
p:
|
|
273
|
-
) -> tuple[
|
|
272
|
+
p: type_utils.PayloadPath, base_import_path: Optional[str]
|
|
273
|
+
) -> tuple[type_utils.PayloadPath, Optional[str]]:
|
|
274
274
|
"""Finalize the `(payload_path, import_path)` pair based on source type.
|
|
275
275
|
|
|
276
276
|
- Zip file: ignore import path (returns `(p, None)`).
|
|
@@ -280,11 +280,11 @@ def _finalize_payload_pair(
|
|
|
280
280
|
- Other files: ignore import path (None).
|
|
281
281
|
|
|
282
282
|
Args:
|
|
283
|
-
p (
|
|
283
|
+
p (type_utils.PayloadPath): The resolved source path
|
|
284
284
|
base_import_path (Optional[str]): Slash-separated import path
|
|
285
285
|
|
|
286
286
|
Returns:
|
|
287
|
-
tuple[
|
|
287
|
+
tuple[type_utils.PayloadPath, Optional[str]]: `(p, final_import_path)` where:
|
|
288
288
|
- `final_import_path` is None for zip archives and non-Python files.
|
|
289
289
|
- `final_import_path` is `base_import_path + ".py"` for Python files when
|
|
290
290
|
`base_import_path` is provided; otherwise None.
|
|
@@ -308,14 +308,14 @@ def _finalize_payload_pair(
|
|
|
308
308
|
|
|
309
309
|
|
|
310
310
|
def resolve_import_path(
|
|
311
|
-
path: Union[
|
|
311
|
+
path: Union[type_utils.PayloadPath, ModuleType],
|
|
312
312
|
import_path: Optional[str] = None,
|
|
313
|
-
) -> list[tuple[
|
|
313
|
+
) -> list[tuple[type_utils.PayloadPath, Optional[str]]]:
|
|
314
314
|
"""
|
|
315
315
|
Resolve and normalize the import path for modules, Python files, or zip payloads.
|
|
316
316
|
|
|
317
317
|
Args:
|
|
318
|
-
path (Union[
|
|
318
|
+
path (Union[type_utils.PayloadPath, ModuleType]): The source path or module to resolve.
|
|
319
319
|
- If a directory is provided, it is compressed as a zip archive preserving its structure.
|
|
320
320
|
- If a single Python file is provided, the file itself is zipped.
|
|
321
321
|
- If a module is provided, it is treated as a directory or Python file.
|
|
@@ -325,7 +325,7 @@ def resolve_import_path(
|
|
|
325
325
|
the function infers it from `path`.
|
|
326
326
|
|
|
327
327
|
Returns:
|
|
328
|
-
list[tuple[
|
|
328
|
+
list[tuple[type_utils.PayloadPath, Optional[str]]]: A list of tuples where each tuple
|
|
329
329
|
contains the resolved payload path and its corresponding import path (if any).
|
|
330
330
|
|
|
331
331
|
Raises:
|
|
@@ -334,7 +334,7 @@ def resolve_import_path(
|
|
|
334
334
|
ValueError: If the import path cannot be resolved or is invalid.
|
|
335
335
|
"""
|
|
336
336
|
if import_path is None:
|
|
337
|
-
import_path = path.stem if isinstance(path,
|
|
337
|
+
import_path = path.stem if isinstance(path, type_utils.PayloadPath) else path.__name__
|
|
338
338
|
import_path = import_path.strip().replace(".", "/") if import_path else None
|
|
339
339
|
if isinstance(path, Path):
|
|
340
340
|
if not path.exists():
|
|
@@ -357,7 +357,7 @@ def resolve_import_path(
|
|
|
357
357
|
raise ValueError(f"Module {path} is not a valid imports")
|
|
358
358
|
|
|
359
359
|
|
|
360
|
-
def validate_import_path(source: Union[str,
|
|
360
|
+
def validate_import_path(source: Union[str, type_utils.PayloadPath], import_path: Optional[str]) -> None:
|
|
361
361
|
"""Validate the import path for local python file or directory."""
|
|
362
362
|
if import_path is None:
|
|
363
363
|
return
|
|
@@ -425,7 +425,7 @@ def upload_imports(
|
|
|
425
425
|
remote = None
|
|
426
426
|
compress = False
|
|
427
427
|
|
|
428
|
-
upload_payloads(session, stage_path,
|
|
428
|
+
upload_payloads(session, stage_path, type_utils.PayloadSpec(source_path, remote, compress=compress))
|
|
429
429
|
|
|
430
430
|
|
|
431
431
|
class JobPayload:
|
|
@@ -453,7 +453,7 @@ class JobPayload:
|
|
|
453
453
|
# for stage path like snow://domain....., Path(path) will remove duplicate /, it will become snow:/ domain...
|
|
454
454
|
self.source = stage_utils.resolve_path(source) if isinstance(source, str) else source
|
|
455
455
|
if isinstance(entrypoint, list):
|
|
456
|
-
self.entrypoint: Optional[Union[
|
|
456
|
+
self.entrypoint: Optional[Union[type_utils.PayloadPath, list[str]]] = entrypoint
|
|
457
457
|
else:
|
|
458
458
|
self.entrypoint = stage_utils.resolve_path(entrypoint) if isinstance(entrypoint, str) else entrypoint
|
|
459
459
|
self.pip_requirements = pip_requirements
|
|
@@ -461,7 +461,7 @@ class JobPayload:
|
|
|
461
461
|
|
|
462
462
|
def upload(
|
|
463
463
|
self, session: snowpark.Session, stage_path: Union[str, PurePath], overwrite: bool = False
|
|
464
|
-
) ->
|
|
464
|
+
) -> type_utils.UploadedPayload:
|
|
465
465
|
# Prepare local variables
|
|
466
466
|
stage_path = PurePath(stage_path) if isinstance(stage_path, str) else stage_path
|
|
467
467
|
source = resolve_source(self.source)
|
|
@@ -490,13 +490,13 @@ class JobPayload:
|
|
|
490
490
|
if isinstance(entrypoint, (list, tuple)):
|
|
491
491
|
# For list entrypoints, still upload source if it's a path
|
|
492
492
|
if isinstance(source, Path):
|
|
493
|
-
upload_payloads(session, app_stage_path,
|
|
493
|
+
upload_payloads(session, app_stage_path, type_utils.PayloadSpec(source, None))
|
|
494
494
|
elif isinstance(source, stage_utils.StagePath):
|
|
495
|
-
upload_payloads(session, app_stage_path,
|
|
495
|
+
upload_payloads(session, app_stage_path, type_utils.PayloadSpec(source, None))
|
|
496
496
|
python_entrypoint: list[Union[str, PurePath]] = list(entrypoint)
|
|
497
497
|
else:
|
|
498
498
|
# Standard file-based entrypoint handling
|
|
499
|
-
if not isinstance(source,
|
|
499
|
+
if not isinstance(source, type_utils.PayloadPath):
|
|
500
500
|
source_code = generate_python_code(source, source_code_display=True)
|
|
501
501
|
_ = session.file.put_stream(
|
|
502
502
|
io.BytesIO(source_code.encode()),
|
|
@@ -510,10 +510,10 @@ class JobPayload:
|
|
|
510
510
|
# copy payload to stage
|
|
511
511
|
if source == entrypoint.file_path:
|
|
512
512
|
source = source.parent
|
|
513
|
-
upload_payloads(session, app_stage_path,
|
|
513
|
+
upload_payloads(session, app_stage_path, type_utils.PayloadSpec(source, None), overwrite=overwrite)
|
|
514
514
|
|
|
515
515
|
elif isinstance(source, Path):
|
|
516
|
-
upload_payloads(session, app_stage_path,
|
|
516
|
+
upload_payloads(session, app_stage_path, type_utils.PayloadSpec(source, None), overwrite=overwrite)
|
|
517
517
|
if source.is_file():
|
|
518
518
|
source = source.parent
|
|
519
519
|
|
|
@@ -555,7 +555,7 @@ class JobPayload:
|
|
|
555
555
|
constants.PAYLOAD_DIR_ENV_VAR: constants.APP_STAGE_SUBPATH,
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
-
return
|
|
558
|
+
return type_utils.UploadedPayload(
|
|
559
559
|
stage_path=stage_path,
|
|
560
560
|
entrypoint=[
|
|
561
561
|
"bash",
|
|
@@ -733,15 +733,20 @@ if __name__ == '__main__':
|
|
|
733
733
|
"""
|
|
734
734
|
|
|
735
735
|
|
|
736
|
-
def get_payload_name(
|
|
736
|
+
def get_payload_name(
|
|
737
|
+
source: Union[str, Callable[..., Any]],
|
|
738
|
+
entrypoint: Optional[Union[str, list[str]]] = None,
|
|
739
|
+
generate_suffix: bool = True,
|
|
740
|
+
) -> str:
|
|
741
|
+
suffix = f"_{str(uuid4().hex)[:8]}" if generate_suffix else ""
|
|
737
742
|
|
|
738
743
|
if entrypoint and isinstance(entrypoint, (list, tuple)):
|
|
739
|
-
return entrypoint[0]
|
|
744
|
+
return entrypoint[0] + suffix
|
|
740
745
|
elif entrypoint and isinstance(entrypoint, str):
|
|
741
|
-
return
|
|
746
|
+
return PurePath(entrypoint).stem + suffix
|
|
742
747
|
elif source and not callable(source):
|
|
743
|
-
return
|
|
748
|
+
return PurePath(source).stem + suffix
|
|
744
749
|
elif callable(source):
|
|
745
|
-
return
|
|
750
|
+
return source.__name__ + suffix
|
|
746
751
|
else:
|
|
747
|
-
return f"{JOB_ID_PREFIX}{str(uuid4()).replace('-', '_').upper()}"
|
|
752
|
+
return f"{JOB_ID_PREFIX}{str(uuid4()).replace('-', '_').upper()}" # NOTE: Already includes a suffix
|
{snowflake_ml_python-1.30.0 → snowflake_ml_python-1.31.0}/snowflake/ml/jobs/_utils/stage_utils.py
RENAMED
|
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, Union
|
|
|
7
7
|
from snowflake.ml._internal.utils import identifier
|
|
8
8
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
|
-
from snowflake.ml.jobs._utils import
|
|
10
|
+
from snowflake.ml.jobs._utils import type_utils
|
|
11
11
|
|
|
12
12
|
PROTOCOL_NAME = "snow"
|
|
13
13
|
_SNOWURL_PATH_RE = re.compile(
|
|
@@ -155,7 +155,7 @@ class StagePath:
|
|
|
155
155
|
return path
|
|
156
156
|
|
|
157
157
|
|
|
158
|
-
def resolve_path(path: Union[str, Path]) -> "
|
|
158
|
+
def resolve_path(path: Union[str, Path]) -> "type_utils.PayloadPath":
|
|
159
159
|
"""
|
|
160
160
|
Resolve a path to either a StagePath or a local Path.
|
|
161
161
|
|
|
@@ -13,7 +13,7 @@ from snowflake.ml._internal import telemetry
|
|
|
13
13
|
from snowflake.ml._internal.utils import identifier
|
|
14
14
|
from snowflake.ml._internal.utils.mixins import SerializableSessionMixin
|
|
15
15
|
from snowflake.ml.jobs._interop import results as interop_result, utils as interop_utils
|
|
16
|
-
from snowflake.ml.jobs._utils import constants, query_helper, stage_utils,
|
|
16
|
+
from snowflake.ml.jobs._utils import constants, query_helper, stage_utils, type_utils
|
|
17
17
|
from snowflake.snowpark import Row, context as sp_context
|
|
18
18
|
from snowflake.snowpark.exceptions import SnowparkSQLException
|
|
19
19
|
|
|
@@ -38,11 +38,11 @@ class MLJob(Generic[T], SerializableSessionMixin):
|
|
|
38
38
|
self._service_spec_cached: Optional[dict[str, Any]] = service_spec
|
|
39
39
|
self._session = session or sp_context.get_active_session()
|
|
40
40
|
|
|
41
|
-
self._status:
|
|
41
|
+
self._status: type_utils.JOB_STATUS = "PENDING"
|
|
42
42
|
self._result: Optional[interop_result.ExecutionResult] = None
|
|
43
43
|
|
|
44
44
|
@cached_property
|
|
45
|
-
def _service_info(self) ->
|
|
45
|
+
def _service_info(self) -> type_utils.ServiceInfo:
|
|
46
46
|
"""Get the job's service info."""
|
|
47
47
|
return _resolve_service_info(self.id, self._session)
|
|
48
48
|
|
|
@@ -67,7 +67,7 @@ class MLJob(Generic[T], SerializableSessionMixin):
|
|
|
67
67
|
return self._id
|
|
68
68
|
|
|
69
69
|
@property
|
|
70
|
-
def status(self) ->
|
|
70
|
+
def status(self) -> type_utils.JOB_STATUS:
|
|
71
71
|
"""Get the job's execution status."""
|
|
72
72
|
if self._status not in TERMINAL_JOB_STATUSES:
|
|
73
73
|
# Query backend for job status if not in terminal state
|
|
@@ -232,7 +232,7 @@ class MLJob(Generic[T], SerializableSessionMixin):
|
|
|
232
232
|
print(self.get_logs(limit, instance_id, as_list=False, verbose=verbose)) # noqa: T201: we need to print here.
|
|
233
233
|
|
|
234
234
|
@telemetry.send_api_usage_telemetry(project=_PROJECT, func_params_to_log=["timeout"])
|
|
235
|
-
def wait(self, timeout: float = -1) ->
|
|
235
|
+
def wait(self, timeout: float = -1) -> type_utils.JOB_STATUS:
|
|
236
236
|
"""
|
|
237
237
|
Block until completion. Returns completion status.
|
|
238
238
|
|
|
@@ -282,6 +282,10 @@ class MLJob(Generic[T], SerializableSessionMixin):
|
|
|
282
282
|
def get_ray_dashboard_url(self) -> Optional[str]:
|
|
283
283
|
"""
|
|
284
284
|
Get the Ray dashboard URL for the job.
|
|
285
|
+
|
|
286
|
+
Returns:
|
|
287
|
+
Optional[str]: The Ray dashboard URL if the job is running and has a Ray dashboard endpoint,
|
|
288
|
+
None otherwise.
|
|
285
289
|
"""
|
|
286
290
|
if self.status != JOB_RUNNING_STATUS:
|
|
287
291
|
logger.warning("Ray dashboard is not available for non-running jobs")
|
|
@@ -334,7 +338,7 @@ class MLJob(Generic[T], SerializableSessionMixin):
|
|
|
334
338
|
|
|
335
339
|
|
|
336
340
|
@telemetry.send_api_usage_telemetry(project=_PROJECT, func_params_to_log=["job_id", "instance_id"])
|
|
337
|
-
def _get_status(session: snowpark.Session, job_id: str, instance_id: Optional[int] = None) ->
|
|
341
|
+
def _get_status(session: snowpark.Session, job_id: str, instance_id: Optional[int] = None) -> type_utils.JOB_STATUS:
|
|
338
342
|
"""Retrieve job or job instance execution status."""
|
|
339
343
|
try:
|
|
340
344
|
if instance_id is not None:
|
|
@@ -342,15 +346,15 @@ def _get_status(session: snowpark.Session, job_id: str, instance_id: Optional[in
|
|
|
342
346
|
rows = query_helper.run_query(session, "SHOW SERVICE INSTANCES IN SERVICE IDENTIFIER(?)", params=(job_id,))
|
|
343
347
|
for row in rows:
|
|
344
348
|
if row["instance_id"] == str(instance_id):
|
|
345
|
-
return cast(
|
|
349
|
+
return cast(type_utils.JOB_STATUS, row["status"])
|
|
346
350
|
raise ValueError(f"Instance {instance_id} not found in job {job_id}")
|
|
347
351
|
else:
|
|
348
352
|
row = _get_service_info(session, job_id)
|
|
349
|
-
return cast(
|
|
353
|
+
return cast(type_utils.JOB_STATUS, row["status"])
|
|
350
354
|
except SnowparkSQLException as e:
|
|
351
355
|
if e.sql_error_code == 2003:
|
|
352
356
|
row = _get_service_info_spcs(session, job_id)
|
|
353
|
-
return cast(
|
|
357
|
+
return cast(type_utils.JOB_STATUS, row["STATUS"])
|
|
354
358
|
raise
|
|
355
359
|
|
|
356
360
|
|
|
@@ -708,7 +712,7 @@ def _get_service_info_spcs(session: snowpark.Session, job_id: str) -> Any:
|
|
|
708
712
|
raise SnowparkSQLException(f"Job {job_id} does not exist or could not be retrieved", sql_error_code=2003)
|
|
709
713
|
|
|
710
714
|
|
|
711
|
-
def _resolve_service_info(id: str, session: snowpark.Session) ->
|
|
715
|
+
def _resolve_service_info(id: str, session: snowpark.Session) -> type_utils.ServiceInfo:
|
|
712
716
|
try:
|
|
713
717
|
row = _get_service_info(session, id)
|
|
714
718
|
except SnowparkSQLException as e:
|
|
@@ -751,10 +755,10 @@ def _resolve_service_info(id: str, session: snowpark.Session) -> types.ServiceIn
|
|
|
751
755
|
database_name = row["database_name"] if "database_name" in row else row["DATABASE_NAME"]
|
|
752
756
|
schema_name = row["schema_name"] if "schema_name" in row else row["SCHEMA_NAME"]
|
|
753
757
|
|
|
754
|
-
return
|
|
758
|
+
return type_utils.ServiceInfo(
|
|
755
759
|
database_name=database_name,
|
|
756
760
|
schema_name=schema_name,
|
|
757
|
-
status=cast(
|
|
761
|
+
status=cast(type_utils.JOB_STATUS, status),
|
|
758
762
|
compute_pool=cast(str, compute_pool),
|
|
759
763
|
target_instances=target_instances,
|
|
760
764
|
)
|