snowflake-ml-python 1.30.0__tar.gz → 1.32.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.32.0}/CHANGELOG.md +58 -0
- {snowflake_ml_python-1.30.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.32.0}/PKG-INFO +59 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_logging/experiment_logger.py +22 -11
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +3 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/experiment_tracking.py +59 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/feature_store.py +48 -18
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/__init__.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/constants.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/payload_utils.py +41 -36
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/stage_utils.py +2 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/decorators.py +0 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/job.py +24 -13
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/job_definition.py +43 -14
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/manager.py +0 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +4 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/model/model_version_impl.py +18 -4
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/ops/model_ops.py +5 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/ops/param_utils.py +144 -6
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/ops/service_ops.py +4 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +3 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +1 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +6 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_env/model_env.py +49 -16
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +4 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/custom.py +10 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/huggingface.py +28 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +27 -15
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +1 -3
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +4 -4
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +22 -11
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/core.py +102 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/pandas_handler.py +23 -3
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/utils.py +137 -2
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/custom_model.py +43 -6
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/model_signature.py +24 -3
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0/snowflake_ml_python.egg-info}/PKG-INFO +59 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake_ml_python.egg-info/SOURCES.txt +1 -1
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/README.md +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.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.32.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.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.32.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.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.32.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.0/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.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.32.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.32.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.32.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.32.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/batch/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-1.30.0 → snowflake_ml_python-1.32.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
+
## 1.32.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Registry: Extended `ParamSpec` support to scikit-learn models. Parameters declared in the model signature
|
|
8
|
+
can now be passed at inference time, matching the existing support for custom models.
|
|
9
|
+
* Registry: `infer_signature()` now accepts a `dict` for the `params` argument (e.g.,
|
|
10
|
+
`params={"temperature": 0.7, "max_tokens": 100}`), automatically inferring `ParamSpec` objects
|
|
11
|
+
from the Python value types. The existing `Sequence[BaseParamSpec]` form is still supported.
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug where the tracebacks for uncaught exceptions were not logged
|
|
16
|
+
when the code was running inside Snowflake notebooks.
|
|
17
|
+
|
|
18
|
+
### Behavior Changes
|
|
19
|
+
|
|
20
|
+
* Registry: The models from `huggingface.TransformersPipeline` and `transformers.Pipeline` will default to safetensors
|
|
21
|
+
file format by default by using `safe_serialization=True` parameter to the `save_pretrained` call. This creates
|
|
22
|
+
safetensors files instead of PyTorch binaries or pt files, addressing security vulnerability CVE-2025-32434.
|
|
23
|
+
|
|
24
|
+
### Deprecations
|
|
25
|
+
|
|
26
|
+
## 1.31.0 (2026-03-19)
|
|
27
|
+
|
|
28
|
+
### New Features
|
|
29
|
+
|
|
30
|
+
### Bug Fixes
|
|
31
|
+
|
|
32
|
+
* Registry: Fixed custom model handler to explicitly persist `PARTITIONED=False` in model metadata for
|
|
33
|
+
`@inference_api` methods. Previously, custom models using `@inference_api` with `TABLE_FUNCTION` type
|
|
34
|
+
were incorrectly reported as partitioned.
|
|
35
|
+
* Registry: Fixed sklearn and SnowML model handlers to explicitly persist `PARTITIONED=False` metadata for
|
|
36
|
+
the `explain` method, preventing it from being incorrectly reported as partitioned at read time.
|
|
37
|
+
* Registry: Fixed inconsistent `infer_signature` for columns containing NaN values. Previously,
|
|
38
|
+
the inferred dtype (`DOUBLE` vs `INT64`) depended on whether NaN rows survived truncation, causing
|
|
39
|
+
downstream validation failures. Now, the original pandas column dtype is respected during `infer_signature`,
|
|
40
|
+
so columns with mix of integer and `np.nan` or `None` are consistently inferred as `DOUBLE` regardless of NaN position.
|
|
41
|
+
* Registry: Fixed a bug where invalid parameter types (e.g., passing a string to an integer parameter)
|
|
42
|
+
were silently coerced instead of raising an error. Parameters are now strictly validated against their
|
|
43
|
+
declared types before inference. This may break code that relied on the silent coercion behavior
|
|
44
|
+
(e.g., `mv.run(..., params={"max_tokens": "100"})` or `mv.run(..., params={"some_int_param": True})`).
|
|
45
|
+
* ML Job: Fixed explicitly named `MLJobDefinition` objects so they can be overwritten in place and invoked
|
|
46
|
+
repeatedly without job name collisions; the `generate_suffix` argument has been removed.
|
|
47
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug that generated too many lines of log that consist entirely of
|
|
48
|
+
whitespace.
|
|
49
|
+
|
|
50
|
+
### Behavior Changes
|
|
51
|
+
|
|
52
|
+
* Registry: Warehouse partitioned model inference no longer includes non-partition input columns (which were always
|
|
53
|
+
NULL) in the output. The output now contains only the model's output columns and the partition column.
|
|
54
|
+
|
|
55
|
+
### Deprecations
|
|
56
|
+
|
|
3
57
|
## 1.30.0
|
|
4
58
|
|
|
5
59
|
### New Features
|
|
@@ -319,6 +373,10 @@ mv = registry.log_model(
|
|
|
319
373
|
* Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
|
|
320
374
|
Note: Requires vLLM inference engine while creating the service.
|
|
321
375
|
|
|
376
|
+
* ML Job: Added support for custom command entrypoints. The `entrypoint` parameter now accepts a
|
|
377
|
+
`list[str]` (e.g., `["arctic_training", "run_causal.yml"]`), which is executed directly as a
|
|
378
|
+
command rather than being treated as a Python script.
|
|
379
|
+
|
|
322
380
|
### Bug Fixes
|
|
323
381
|
|
|
324
382
|
### Behavior Changes
|
{snowflake_ml_python-1.30.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.32.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.32.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,60 @@ 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.32.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
* Registry: Extended `ParamSpec` support to scikit-learn models. Parameters declared in the model signature
|
|
424
|
+
can now be passed at inference time, matching the existing support for custom models.
|
|
425
|
+
* Registry: `infer_signature()` now accepts a `dict` for the `params` argument (e.g.,
|
|
426
|
+
`params={"temperature": 0.7, "max_tokens": 100}`), automatically inferring `ParamSpec` objects
|
|
427
|
+
from the Python value types. The existing `Sequence[BaseParamSpec]` form is still supported.
|
|
428
|
+
|
|
429
|
+
### Bug Fixes
|
|
430
|
+
|
|
431
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug where the tracebacks for uncaught exceptions were not logged
|
|
432
|
+
when the code was running inside Snowflake notebooks.
|
|
433
|
+
|
|
434
|
+
### Behavior Changes
|
|
435
|
+
|
|
436
|
+
* Registry: The models from `huggingface.TransformersPipeline` and `transformers.Pipeline` will default to safetensors
|
|
437
|
+
file format by default by using `safe_serialization=True` parameter to the `save_pretrained` call. This creates
|
|
438
|
+
safetensors files instead of PyTorch binaries or pt files, addressing security vulnerability CVE-2025-32434.
|
|
439
|
+
|
|
440
|
+
### Deprecations
|
|
441
|
+
|
|
442
|
+
## 1.31.0 (2026-03-19)
|
|
443
|
+
|
|
444
|
+
### New Features
|
|
445
|
+
|
|
446
|
+
### Bug Fixes
|
|
447
|
+
|
|
448
|
+
* Registry: Fixed custom model handler to explicitly persist `PARTITIONED=False` in model metadata for
|
|
449
|
+
`@inference_api` methods. Previously, custom models using `@inference_api` with `TABLE_FUNCTION` type
|
|
450
|
+
were incorrectly reported as partitioned.
|
|
451
|
+
* Registry: Fixed sklearn and SnowML model handlers to explicitly persist `PARTITIONED=False` metadata for
|
|
452
|
+
the `explain` method, preventing it from being incorrectly reported as partitioned at read time.
|
|
453
|
+
* Registry: Fixed inconsistent `infer_signature` for columns containing NaN values. Previously,
|
|
454
|
+
the inferred dtype (`DOUBLE` vs `INT64`) depended on whether NaN rows survived truncation, causing
|
|
455
|
+
downstream validation failures. Now, the original pandas column dtype is respected during `infer_signature`,
|
|
456
|
+
so columns with mix of integer and `np.nan` or `None` are consistently inferred as `DOUBLE` regardless of NaN position.
|
|
457
|
+
* Registry: Fixed a bug where invalid parameter types (e.g., passing a string to an integer parameter)
|
|
458
|
+
were silently coerced instead of raising an error. Parameters are now strictly validated against their
|
|
459
|
+
declared types before inference. This may break code that relied on the silent coercion behavior
|
|
460
|
+
(e.g., `mv.run(..., params={"max_tokens": "100"})` or `mv.run(..., params={"some_int_param": True})`).
|
|
461
|
+
* ML Job: Fixed explicitly named `MLJobDefinition` objects so they can be overwritten in place and invoked
|
|
462
|
+
repeatedly without job name collisions; the `generate_suffix` argument has been removed.
|
|
463
|
+
* Experiment Tracking live logging (PrPr): Fixed a bug that generated too many lines of log that consist entirely of
|
|
464
|
+
whitespace.
|
|
465
|
+
|
|
466
|
+
### Behavior Changes
|
|
467
|
+
|
|
468
|
+
* Registry: Warehouse partitioned model inference no longer includes non-partition input columns (which were always
|
|
469
|
+
NULL) in the output. The output now contains only the model's output columns and the partition column.
|
|
470
|
+
|
|
471
|
+
### Deprecations
|
|
472
|
+
|
|
419
473
|
## 1.30.0
|
|
420
474
|
|
|
421
475
|
### New Features
|
|
@@ -735,6 +789,10 @@ mv = registry.log_model(
|
|
|
735
789
|
* Registry: Added support for `image-text-to-text` task type in `huggingface.TransformersPipeline`.
|
|
736
790
|
Note: Requires vLLM inference engine while creating the service.
|
|
737
791
|
|
|
792
|
+
* ML Job: Added support for custom command entrypoints. The `entrypoint` parameter now accepts a
|
|
793
|
+
`list[str]` (e.g., `["arctic_training", "run_causal.yml"]`), which is executed directly as a
|
|
794
|
+
command rather than being treated as a Python script.
|
|
795
|
+
|
|
738
796
|
### Bug Fixes
|
|
739
797
|
|
|
740
798
|
### 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:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import contextlib
|
|
2
2
|
from dataclasses import dataclass
|
|
3
|
+
from typing import Any, Callable, Optional
|
|
3
4
|
|
|
4
5
|
from snowflake.ml._internal.utils import tee
|
|
5
6
|
from snowflake.ml.experiment._logging.experiment_logger import ExperimentLogger
|
|
@@ -11,3 +12,5 @@ class ExperimentLoggingContext:
|
|
|
11
12
|
stderr_logger: ExperimentLogger
|
|
12
13
|
stdout_ctx: contextlib.redirect_stdout[tee.OutputTee]
|
|
13
14
|
stderr_ctx: contextlib.redirect_stderr[tee.OutputTee]
|
|
15
|
+
ipython_instance: Optional[Any]
|
|
16
|
+
original_showtraceback: Optional[Callable[..., None]]
|
|
@@ -3,6 +3,7 @@ import functools
|
|
|
3
3
|
import json
|
|
4
4
|
import sys
|
|
5
5
|
import warnings
|
|
6
|
+
from collections.abc import Callable
|
|
6
7
|
from typing import Any, Optional, Union
|
|
7
8
|
from urllib.parse import quote
|
|
8
9
|
|
|
@@ -128,10 +129,17 @@ class ExperimentTracking:
|
|
|
128
129
|
state["_session"] = None
|
|
129
130
|
state["_sql_client"] = None
|
|
130
131
|
state["_registry"] = None
|
|
132
|
+
# Save logger buffer state before clearing _logging_context
|
|
133
|
+
if self._logging_context:
|
|
134
|
+
state["_stdout_buffer"] = self._logging_context.stdout_logger._buffer
|
|
135
|
+
state["_stderr_buffer"] = self._logging_context.stderr_logger._buffer
|
|
131
136
|
state["_logging_context"] = None
|
|
132
137
|
return state
|
|
133
138
|
|
|
134
139
|
def __setstate__(self, state: dict[str, Any]) -> None:
|
|
140
|
+
stdout_buffer = state.pop("_stdout_buffer", "")
|
|
141
|
+
stderr_buffer = state.pop("_stderr_buffer", "")
|
|
142
|
+
|
|
135
143
|
if hasattr(super(), "__setstate__"):
|
|
136
144
|
super().__setstate__(state) # type: ignore[misc]
|
|
137
145
|
else:
|
|
@@ -153,6 +161,10 @@ class ExperimentTracking:
|
|
|
153
161
|
)
|
|
154
162
|
if self._run:
|
|
155
163
|
self._patch_stdout_and_stderr()
|
|
164
|
+
# _patch_stdout_and_stderr sets _logging_context if live logging is enabled
|
|
165
|
+
if self._logging_context:
|
|
166
|
+
self._logging_context.stdout_logger._buffer = stdout_buffer
|
|
167
|
+
self._logging_context.stderr_logger._buffer = stderr_buffer
|
|
156
168
|
|
|
157
169
|
def set_experiment(
|
|
158
170
|
self,
|
|
@@ -606,6 +618,39 @@ class ExperimentTracking:
|
|
|
606
618
|
self._run = None
|
|
607
619
|
self._unpatch_stdout_and_stderr()
|
|
608
620
|
|
|
621
|
+
def _try_patch_ipython_showtraceback(
|
|
622
|
+
self, stderr_logger: experiment_logging.ExperimentLogger
|
|
623
|
+
) -> tuple[Any, Optional[Callable[..., None]]]:
|
|
624
|
+
try:
|
|
625
|
+
from IPython import get_ipython
|
|
626
|
+
|
|
627
|
+
ip = get_ipython()
|
|
628
|
+
if ip:
|
|
629
|
+
original_showtraceback = ip._showtraceback
|
|
630
|
+
|
|
631
|
+
def _patched_showtraceback(
|
|
632
|
+
etype: type[BaseException],
|
|
633
|
+
evalue: Optional[BaseException],
|
|
634
|
+
stb: list[str],
|
|
635
|
+
) -> None:
|
|
636
|
+
try:
|
|
637
|
+
text = ip.InteractiveTB.stb2text(stb)
|
|
638
|
+
stderr_logger.write(text + "\n")
|
|
639
|
+
stderr_logger.flush()
|
|
640
|
+
except Exception:
|
|
641
|
+
pass
|
|
642
|
+
if original_showtraceback is not None: # for mypy
|
|
643
|
+
original_showtraceback(etype, evalue, stb)
|
|
644
|
+
|
|
645
|
+
ip._showtraceback = _patched_showtraceback
|
|
646
|
+
|
|
647
|
+
return ip, original_showtraceback
|
|
648
|
+
|
|
649
|
+
except Exception:
|
|
650
|
+
pass # Never let IPython patching break logging setup
|
|
651
|
+
|
|
652
|
+
return None, None
|
|
653
|
+
|
|
609
654
|
def _patch_stdout_and_stderr(self) -> None:
|
|
610
655
|
if not self._live_logging_enabled:
|
|
611
656
|
return
|
|
@@ -615,6 +660,8 @@ class ExperimentTracking:
|
|
|
615
660
|
|
|
616
661
|
assert self._experiment is not None and self._run is not None # for mypy
|
|
617
662
|
stdout_logger, stderr_logger, stdout_ctx, stderr_ctx = None, None, None, None # for exception handling
|
|
663
|
+
ip: Any = None
|
|
664
|
+
original_showtraceback: Optional[Callable[..., None]] = None
|
|
618
665
|
try:
|
|
619
666
|
exp_id = self._sql_client.get_experiment_id(self._experiment.name)
|
|
620
667
|
run_id = self._sql_client.get_run_id(
|
|
@@ -625,15 +672,23 @@ class ExperimentTracking:
|
|
|
625
672
|
stderr_logger = experiment_logging.ExperimentLogger(exp_id=exp_id, run_id=run_id, stream="STDERR")
|
|
626
673
|
stdout_ctx = contextlib.redirect_stdout(tee.OutputTee(sys.stdout, stdout_logger))
|
|
627
674
|
stderr_ctx = contextlib.redirect_stderr(tee.OutputTee(sys.stderr, stderr_logger))
|
|
675
|
+
stdout_ctx.__enter__()
|
|
676
|
+
stderr_ctx.__enter__()
|
|
677
|
+
|
|
678
|
+
ip, original_showtraceback = self._try_patch_ipython_showtraceback(stderr_logger)
|
|
679
|
+
|
|
628
680
|
self._logging_context = experiment_logging.ExperimentLoggingContext(
|
|
629
681
|
stdout_logger=stdout_logger,
|
|
630
682
|
stderr_logger=stderr_logger,
|
|
631
683
|
stdout_ctx=stdout_ctx,
|
|
632
684
|
stderr_ctx=stderr_ctx,
|
|
685
|
+
ipython_instance=ip,
|
|
686
|
+
original_showtraceback=original_showtraceback,
|
|
633
687
|
)
|
|
634
|
-
|
|
635
|
-
stderr_ctx.__enter__()
|
|
688
|
+
|
|
636
689
|
except Exception as e:
|
|
690
|
+
if ip:
|
|
691
|
+
ip._showtraceback = original_showtraceback
|
|
637
692
|
if stdout_ctx:
|
|
638
693
|
stdout_ctx.__exit__(None, None, None)
|
|
639
694
|
if stderr_ctx:
|
|
@@ -650,6 +705,8 @@ class ExperimentTracking:
|
|
|
650
705
|
|
|
651
706
|
def _unpatch_stdout_and_stderr(self) -> None:
|
|
652
707
|
if self._logging_context:
|
|
708
|
+
if self._logging_context.ipython_instance:
|
|
709
|
+
self._logging_context.ipython_instance._showtraceback = self._logging_context.original_showtraceback
|
|
653
710
|
self._logging_context.stdout_ctx.__exit__(None, None, None)
|
|
654
711
|
self._logging_context.stderr_ctx.__exit__(None, None, None)
|
|
655
712
|
self._logging_context.stdout_logger.close()
|
|
@@ -2772,7 +2772,7 @@ class FeatureStore:
|
|
|
2772
2772
|
|
|
2773
2773
|
# Build SELECT and WHERE clauses using helper methods
|
|
2774
2774
|
select_clause = self._build_select_clause_and_validate(feature_view, feature_names, include_join_keys=True)
|
|
2775
|
-
where_clause = self._build_where_clause_for_keys(feature_view, keys)
|
|
2775
|
+
where_clause, _ = self._build_where_clause_for_keys(feature_view, keys)
|
|
2776
2776
|
|
|
2777
2777
|
query = f"SELECT {select_clause} FROM {table_name}{where_clause}"
|
|
2778
2778
|
return self._session.sql(query)
|
|
@@ -2804,7 +2804,7 @@ class FeatureStore:
|
|
|
2804
2804
|
quoted_keys_str = ", ".join(quoted_keys)
|
|
2805
2805
|
|
|
2806
2806
|
# Build WHERE clause for key filtering (if any)
|
|
2807
|
-
where_clause = self._build_where_clause_for_keys(feature_view, keys)
|
|
2807
|
+
where_clause, _ = self._build_where_clause_for_keys(feature_view, keys)
|
|
2808
2808
|
|
|
2809
2809
|
# Step 1: Create spine CTE with unique entities + CURRENT_TIMESTAMP
|
|
2810
2810
|
spine_cte = f"""
|
|
@@ -2850,10 +2850,27 @@ class FeatureStore:
|
|
|
2850
2850
|
return self._session.sql(full_query)
|
|
2851
2851
|
|
|
2852
2852
|
def _read_from_online_store(
|
|
2853
|
-
self,
|
|
2853
|
+
self,
|
|
2854
|
+
feature_view: FeatureView,
|
|
2855
|
+
keys: Optional[list[list[str]]],
|
|
2856
|
+
feature_names: Optional[list[str]],
|
|
2854
2857
|
) -> DataFrame:
|
|
2855
|
-
"""Read feature values from the online store with optional key filtering.
|
|
2856
|
-
|
|
2858
|
+
"""Read feature values from the online store with optional key filtering.
|
|
2859
|
+
|
|
2860
|
+
Uses bind variables for single-key lookups and literal interpolation
|
|
2861
|
+
for batch lookups.
|
|
2862
|
+
|
|
2863
|
+
Args:
|
|
2864
|
+
feature_view: The registered feature view to read from.
|
|
2865
|
+
keys: Optional list of key value lists to filter by.
|
|
2866
|
+
feature_names: Optional list of feature names to return.
|
|
2867
|
+
|
|
2868
|
+
Returns:
|
|
2869
|
+
Snowpark DataFrame containing the feature view data.
|
|
2870
|
+
|
|
2871
|
+
Raises:
|
|
2872
|
+
SnowflakeMLException: If online store is not enabled.
|
|
2873
|
+
"""
|
|
2857
2874
|
if not feature_view.online:
|
|
2858
2875
|
raise snowml_exceptions.SnowflakeMLException(
|
|
2859
2876
|
error_code=error_codes.INVALID_ARGUMENT,
|
|
@@ -2864,11 +2881,16 @@ class FeatureStore:
|
|
|
2864
2881
|
|
|
2865
2882
|
fully_qualified_online_name = feature_view.fully_qualified_online_table_name()
|
|
2866
2883
|
|
|
2867
|
-
# Build SELECT and WHERE clauses using helper methods
|
|
2868
2884
|
select_clause = self._build_select_clause_and_validate(feature_view, feature_names, include_join_keys=True)
|
|
2869
|
-
|
|
2885
|
+
# NOTE: We use snowflake sql query binds for single-point lookups to ensure the best performance.
|
|
2886
|
+
# We don't use binds for multi-point lookups because we don't have any evidence that it improves
|
|
2887
|
+
# performance, but we may need to revisit this in the future.
|
|
2888
|
+
use_binds = keys is not None and len(keys) == 1
|
|
2889
|
+
where_clause, params = self._build_where_clause_for_keys(feature_view, keys, use_binds=use_binds)
|
|
2870
2890
|
|
|
2871
2891
|
query = f"SELECT {select_clause} FROM {fully_qualified_online_name}{where_clause}"
|
|
2892
|
+
if params:
|
|
2893
|
+
return self._session.sql(query, params=params)
|
|
2872
2894
|
return self._session.sql(query)
|
|
2873
2895
|
|
|
2874
2896
|
@dispatch_decorator()
|
|
@@ -5050,28 +5072,31 @@ FROM SPINE{' '.join(join_clauses)}
|
|
|
5050
5072
|
# Select all columns
|
|
5051
5073
|
return "*"
|
|
5052
5074
|
|
|
5053
|
-
def _build_where_clause_for_keys(
|
|
5075
|
+
def _build_where_clause_for_keys(
|
|
5076
|
+
self, feature_view: FeatureView, keys: Optional[list[list[Any]]], use_binds: bool = False
|
|
5077
|
+
) -> tuple[str, list[Any]]:
|
|
5054
5078
|
"""Build WHERE clause for key filtering.
|
|
5055
5079
|
|
|
5056
5080
|
Args:
|
|
5057
|
-
feature_view: The feature view to build the clause for
|
|
5058
|
-
keys: Optional list of key value lists to filter by
|
|
5081
|
+
feature_view: The feature view to build the clause for.
|
|
5082
|
+
keys: Optional list of key value lists to filter by.
|
|
5083
|
+
use_binds: If True, use ``?`` placeholders and return bind params.
|
|
5084
|
+
If False, interpolate values as string literals.
|
|
5059
5085
|
|
|
5060
5086
|
Returns:
|
|
5061
|
-
WHERE clause string
|
|
5087
|
+
Tuple of (WHERE clause string, bind params list). Params is empty
|
|
5088
|
+
when use_binds is False or no keys are provided.
|
|
5062
5089
|
|
|
5063
5090
|
Raises:
|
|
5064
|
-
SnowflakeMLException: If key structure is invalid
|
|
5091
|
+
SnowflakeMLException: If key structure is invalid.
|
|
5065
5092
|
"""
|
|
5066
5093
|
if not keys:
|
|
5067
|
-
return ""
|
|
5094
|
+
return "", []
|
|
5068
5095
|
|
|
5069
|
-
# Get join keys from entities for key filtering
|
|
5070
5096
|
all_join_keys = []
|
|
5071
5097
|
for entity in feature_view.entities:
|
|
5072
5098
|
all_join_keys.extend([key.resolved() for key in entity.join_keys])
|
|
5073
5099
|
|
|
5074
|
-
# Validate key structure
|
|
5075
5100
|
for key_values in keys:
|
|
5076
5101
|
if len(key_values) != len(all_join_keys):
|
|
5077
5102
|
raise snowml_exceptions.SnowflakeMLException(
|
|
@@ -5082,15 +5107,20 @@ FROM SPINE{' '.join(join_clauses)}
|
|
|
5082
5107
|
),
|
|
5083
5108
|
)
|
|
5084
5109
|
|
|
5110
|
+
params: list[Any] = []
|
|
5085
5111
|
where_conditions = []
|
|
5086
5112
|
for key_values in keys:
|
|
5087
5113
|
key_conditions = []
|
|
5088
5114
|
for join_key, value in zip(all_join_keys, key_values):
|
|
5089
|
-
|
|
5090
|
-
|
|
5115
|
+
if use_binds:
|
|
5116
|
+
key_conditions.append(f'"{join_key}" = ?')
|
|
5117
|
+
params.append(value)
|
|
5118
|
+
else:
|
|
5119
|
+
safe_value = str(value).replace("'", "''")
|
|
5120
|
+
key_conditions.append(f"\"{join_key}\" = '{safe_value}'")
|
|
5091
5121
|
where_conditions.append(f"({' AND '.join(key_conditions)})")
|
|
5092
5122
|
|
|
5093
|
-
return f" WHERE {' OR '.join(where_conditions)}"
|
|
5123
|
+
return f" WHERE {' OR '.join(where_conditions)}", params
|
|
5094
5124
|
|
|
5095
5125
|
def _get_store_type(self, store_type: Union[fv_mod.StoreType, str]) -> fv_mod.StoreType:
|
|
5096
5126
|
"""Return a StoreType enum from a Union[StoreType, str].
|
|
@@ -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.32.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"
|