snowflake-ml-python 1.45.0__tar.gz → 1.46.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.45.0 → snowflake_ml_python-1.46.0}/CHANGELOG.md +17 -1
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/PKG-INFO +18 -2
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/jwt_generator.py +6 -2
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_store.py +83 -10
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_view.py +6 -1
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/metadata_manager.py +10 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/builder.py +26 -6
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/stream_config.py +34 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/streaming_registration.py +2 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/model_version_impl.py +6 -1
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +25 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +1 -5
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +1 -4
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +8 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/authentication.py +3 -1
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/PKG-INFO +18 -2
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/README.md +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/experiment_tracking.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/online_service.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/realtime_registration.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/job.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/job_definition.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/batch_inference_serialization.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/ops/service_ops.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/batch/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.46.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
### Behavior Changes
|
|
10
|
+
|
|
11
|
+
* Registry: For Snowpark ML Pipeline models with explainability enabled, explanations now cover only the columns the
|
|
12
|
+
final estimator was actually trained on (its `input_cols`). Untransformed passthrough columns (e.g. raw string
|
|
13
|
+
columns left in place by an encoder using new `output_cols`, or the label column) are no longer included in the
|
|
14
|
+
explain output. This also fixes a failure where such passthrough columns could reach the SHAP explainer and raise an
|
|
15
|
+
error during `log_model(..., enable_explainability=True)`.
|
|
16
|
+
|
|
17
|
+
### Deprecations
|
|
18
|
+
|
|
19
|
+
## 1.45.0 (2026-07-01)
|
|
4
20
|
|
|
5
21
|
### New Features
|
|
6
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.46.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,7 +416,23 @@ 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.
|
|
419
|
+
## 1.46.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
### Bug Fixes
|
|
424
|
+
|
|
425
|
+
### Behavior Changes
|
|
426
|
+
|
|
427
|
+
* Registry: For Snowpark ML Pipeline models with explainability enabled, explanations now cover only the columns the
|
|
428
|
+
final estimator was actually trained on (its `input_cols`). Untransformed passthrough columns (e.g. raw string
|
|
429
|
+
columns left in place by an encoder using new `output_cols`, or the label column) are no longer included in the
|
|
430
|
+
explain output. This also fixes a failure where such passthrough columns could reach the SHAP explainer and raise an
|
|
431
|
+
error during `log_model(..., enable_explainability=True)`.
|
|
432
|
+
|
|
433
|
+
### Deprecations
|
|
434
|
+
|
|
435
|
+
## 1.45.0 (2026-07-01)
|
|
420
436
|
|
|
421
437
|
### New Features
|
|
422
438
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# Annotations are lazy so ``types.PrivateKeyTypes`` (added in cryptography 40.0, replacing the
|
|
2
|
+
# now-removed ``PRIVATE_KEY_TYPES``) is never evaluated at runtime and stays version-tolerant.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
1
5
|
import base64
|
|
2
6
|
import hashlib
|
|
3
7
|
import logging
|
|
@@ -30,7 +34,7 @@ class JWTGenerator:
|
|
|
30
34
|
self,
|
|
31
35
|
account: str,
|
|
32
36
|
user: str,
|
|
33
|
-
private_key: types.
|
|
37
|
+
private_key: types.PrivateKeyTypes,
|
|
34
38
|
lifetime: Optional[timedelta] = None,
|
|
35
39
|
renewal_delay: Optional[timedelta] = None,
|
|
36
40
|
) -> None:
|
|
@@ -125,7 +129,7 @@ class JWTGenerator:
|
|
|
125
129
|
return token
|
|
126
130
|
|
|
127
131
|
@staticmethod
|
|
128
|
-
def _calculate_public_key_fingerprint(private_key: types.
|
|
132
|
+
def _calculate_public_key_fingerprint(private_key: types.PrivateKeyTypes) -> str:
|
|
129
133
|
# Get the raw bytes of public key.
|
|
130
134
|
public_key_raw = private_key.public_key().public_bytes(
|
|
131
135
|
serialization.Encoding.DER, serialization.PublicFormat.SubjectPublicKeyInfo
|
|
@@ -97,6 +97,7 @@ from snowflake.ml.feature_store.spec.models import (
|
|
|
97
97
|
validate_spec_oft_offline_table_schema,
|
|
98
98
|
validate_spec_oft_tiled_offline_table_schema,
|
|
99
99
|
)
|
|
100
|
+
from snowflake.ml.feature_store.stream_config import StreamConfig
|
|
100
101
|
from snowflake.ml.feature_store.stream_source import (
|
|
101
102
|
_LIST_STREAM_SOURCE_SCHEMA,
|
|
102
103
|
StreamSource,
|
|
@@ -1323,11 +1324,16 @@ class FeatureStore:
|
|
|
1323
1324
|
"""Update a registered feature view.
|
|
1324
1325
|
Check feature_view.py for which fields are allowed to be updated after registration.
|
|
1325
1326
|
|
|
1327
|
+
``RealtimeFeatureView`` does not support ``refresh_freq`` or ``warehouse``
|
|
1328
|
+
updates. Recreate-only fields (``stream_source``, ``transformation_fn``,
|
|
1329
|
+
``feature_granularity``, ``aggregation_secondary_keys``, ``backfill_table``,
|
|
1330
|
+
``source_refs``) require :meth:`delete_feature_view` + :meth:`register_feature_view`.
|
|
1331
|
+
|
|
1326
1332
|
Args:
|
|
1327
1333
|
name: FeatureView object or name to suspend.
|
|
1328
1334
|
version: Optional version of feature view. Must set when argument feature_view is a str.
|
|
1329
|
-
refresh_freq: updated refresh frequency.
|
|
1330
|
-
warehouse: updated warehouse.
|
|
1335
|
+
refresh_freq: updated refresh frequency. Not applicable to ``RealtimeFeatureView``.
|
|
1336
|
+
warehouse: updated warehouse. Not applicable to ``RealtimeFeatureView``.
|
|
1331
1337
|
initialization_warehouse: updated initialization warehouse, used for the initial build and
|
|
1332
1338
|
reinitializations of the backing dynamic table. Pass a warehouse name to set it, or ``None`` to clear
|
|
1333
1339
|
it (all refreshes then run on ``warehouse``). When omitted, the existing value is left unchanged.
|
|
@@ -1341,7 +1347,7 @@ class FeatureStore:
|
|
|
1341
1347
|
updated_feature_df: Optional replacement Snowpark ``DataFrame`` for the feature view
|
|
1342
1348
|
definition. When set, the returned :class:`~snowflake.ml.feature_store.feature_view.FeatureView`
|
|
1343
1349
|
is reinitialized from this dataframe (same session as the ``FeatureStore``). Not supported for
|
|
1344
|
-
streaming or rollup feature views.
|
|
1350
|
+
streaming, realtime, or rollup feature views.
|
|
1345
1351
|
|
|
1346
1352
|
Returns:
|
|
1347
1353
|
Updated FeatureView.
|
|
@@ -1435,6 +1441,18 @@ class FeatureStore:
|
|
|
1435
1441
|
),
|
|
1436
1442
|
)
|
|
1437
1443
|
|
|
1444
|
+
# RTFVs are OFT-only — no Dynamic Table or refresh Task.
|
|
1445
|
+
if feature_view.is_realtime_feature_view and (actual_refresh_freq is not None or warehouse is not None):
|
|
1446
|
+
full_name = f"{feature_view.name}/{feature_view.version}"
|
|
1447
|
+
raise snowml_exceptions.SnowflakeMLException(
|
|
1448
|
+
error_code=error_codes.INVALID_ARGUMENT,
|
|
1449
|
+
original_exception=RuntimeError(
|
|
1450
|
+
f"Realtime feature view '{full_name}' does not support refresh_freq or warehouse "
|
|
1451
|
+
"updates; the underlying online feature table has no Dynamic Table or refresh Task. "
|
|
1452
|
+
"Only desc and online_config are alterable for realtime feature views."
|
|
1453
|
+
),
|
|
1454
|
+
)
|
|
1455
|
+
|
|
1438
1456
|
# Fail fast on an online store type that cannot back this feature view (e.g. HYBRID_TABLE
|
|
1439
1457
|
# for a tiled FV) before any planning/resource work, so it surfaces as a clean
|
|
1440
1458
|
# INVALID_ARGUMENT rather than being wrapped by the update-failure rollback handler. The
|
|
@@ -1542,6 +1560,16 @@ class FeatureStore:
|
|
|
1542
1560
|
# Step 3: Execute atomically
|
|
1543
1561
|
self._execute_atomic_operations(operations)
|
|
1544
1562
|
|
|
1563
|
+
# RTFVs have no offline resources (DT/task); their desc lives in the
|
|
1564
|
+
# REALTIME_CONFIG metadata row and must be updated separately.
|
|
1565
|
+
if feature_view.is_realtime_feature_view and new_desc != feature_view.desc:
|
|
1566
|
+
rt_meta = self._metadata_manager.get_realtime_config(
|
|
1567
|
+
feature_view.name.resolved(), str(feature_view.version)
|
|
1568
|
+
)
|
|
1569
|
+
if rt_meta is not None:
|
|
1570
|
+
rt_meta.desc = new_desc
|
|
1571
|
+
self._metadata_manager.save_realtime_config(rt_meta)
|
|
1572
|
+
|
|
1545
1573
|
except Exception as e:
|
|
1546
1574
|
# Step 4: Rollback on failure
|
|
1547
1575
|
self._handle_update_failure(e, rollback_operations, feature_view)
|
|
@@ -4181,16 +4209,31 @@ class FeatureStore:
|
|
|
4181
4209
|
desc: str,
|
|
4182
4210
|
online_config: Optional[fv_mod.OnlineConfig],
|
|
4183
4211
|
) -> tuple[list[tuple[str, Union[str, FeatureView]]], list[tuple[str, Union[str, FeatureView]]],]:
|
|
4184
|
-
"""Plan all update operations and their rollbacks.
|
|
4212
|
+
"""Plan all update operations and their rollbacks.
|
|
4213
|
+
|
|
4214
|
+
Args:
|
|
4215
|
+
feature_view: The registered ``FeatureView`` to update.
|
|
4216
|
+
refresh_freq: New refresh frequency, or ``None`` to leave it unchanged.
|
|
4217
|
+
warehouse: New warehouse identifier, or ``None`` to leave it unchanged.
|
|
4218
|
+
initialization_warehouse: Warehouse used for the initial backfill task,
|
|
4219
|
+
or ``None`` to leave it unchanged.
|
|
4220
|
+
desc: New description.
|
|
4221
|
+
online_config: Online configuration update, or ``None`` to leave
|
|
4222
|
+
online state unchanged.
|
|
4223
|
+
|
|
4224
|
+
Returns:
|
|
4225
|
+
A tuple ``(operations, rollback_operations)`` of ``(op_type, op_data)`` pairs.
|
|
4226
|
+
"""
|
|
4185
4227
|
operations: list[tuple[str, Union[str, FeatureView]]] = []
|
|
4186
4228
|
rollback_operations: list[tuple[str, Union[str, FeatureView]]] = []
|
|
4187
4229
|
|
|
4188
|
-
#
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4230
|
+
# RealtimeFeatureViews have no offline resources to update.
|
|
4231
|
+
if not feature_view.is_realtime_feature_view:
|
|
4232
|
+
offline_ops, offline_rollback_ops = self._build_offline_update_queries(
|
|
4233
|
+
feature_view, refresh_freq, warehouse, initialization_warehouse, desc
|
|
4234
|
+
)
|
|
4235
|
+
operations.extend(offline_ops)
|
|
4236
|
+
rollback_operations.extend(offline_rollback_ops)
|
|
4194
4237
|
|
|
4195
4238
|
# Plan online updates
|
|
4196
4239
|
online_strategy = self._plan_online_update(feature_view, online_config)
|
|
@@ -7681,6 +7724,12 @@ FROM {batch_cte_names[0]}{''.join(merge_join_parts)}
|
|
|
7681
7724
|
source_refs_meta = self._metadata_manager.get_feature_view_source_refs(name, version)
|
|
7682
7725
|
source_refs_json = json.dumps(source_refs_meta.sources) if source_refs_meta is not None else None
|
|
7683
7726
|
|
|
7727
|
+
# Surface the authored source-ref list (JSON-encoded) when a
|
|
7728
|
+
# ``FV_SOURCE_REFS`` row exists; otherwise leave the column null.
|
|
7729
|
+
# Verbose-only: goes into output_values_extra alongside backup_source.
|
|
7730
|
+
source_refs_meta = self._metadata_manager.get_feature_view_source_refs(name, version)
|
|
7731
|
+
source_refs_json = json.dumps(source_refs_meta.sources) if source_refs_meta is not None else None
|
|
7732
|
+
|
|
7684
7733
|
backup_source: Optional[str] = None
|
|
7685
7734
|
if fv_metadata.is_append_only:
|
|
7686
7735
|
append_only_meta = self._metadata_manager.get_append_only_metadata(name, version)
|
|
@@ -7864,6 +7913,11 @@ FROM {batch_cte_names[0]}{''.join(merge_join_parts)}
|
|
|
7864
7913
|
source_refs_meta = self._metadata_manager.get_feature_view_source_refs(name.identifier(), version)
|
|
7865
7914
|
restored_source_refs = source_refs_meta.sources if source_refs_meta is not None else None
|
|
7866
7915
|
|
|
7916
|
+
# Rehydrate the authored source-ref list onto the reconstructed
|
|
7917
|
+
# FV when a ``FV_SOURCE_REFS`` row was persisted at register time.
|
|
7918
|
+
source_refs_meta = self._metadata_manager.get_feature_view_source_refs(name.identifier(), version)
|
|
7919
|
+
restored_source_refs = source_refs_meta.sources if source_refs_meta is not None else None
|
|
7920
|
+
|
|
7867
7921
|
if obj_type == _FeatureStoreObjTypes.MANAGED_FEATURE_VIEW:
|
|
7868
7922
|
df = self._session.sql(query)
|
|
7869
7923
|
entities = [find_and_compose_entity(n) for n in fv_metadata.entities]
|
|
@@ -7950,6 +8004,25 @@ FROM {batch_cte_names[0]}{''.join(merge_join_parts)}
|
|
|
7950
8004
|
streaming_meta = self._metadata_manager.get_streaming_metadata(name.identifier(), version)
|
|
7951
8005
|
if streaming_meta and streaming_meta.transformation_fn_source:
|
|
7952
8006
|
fv._transformation_fn_source = streaming_meta.transformation_fn_source
|
|
8007
|
+
# Restore a metadata-only ``StreamConfig`` so callers see the
|
|
8008
|
+
# authored ``backfill_table`` / ``backfill_start_time`` /
|
|
8009
|
+
# ``stream_source`` values rather than ``None``.
|
|
8010
|
+
# ``transformation_fn`` and ``backfill_df`` are not
|
|
8011
|
+
# rehydrated — the live callable is unavailable on the
|
|
8012
|
+
# read path and the source DataFrame is not re-executable
|
|
8013
|
+
# from a fresh session.
|
|
8014
|
+
if streaming_meta is not None:
|
|
8015
|
+
parsed_backfill_start: Optional[datetime.datetime] = None
|
|
8016
|
+
if streaming_meta.backfill_start_time is not None:
|
|
8017
|
+
try:
|
|
8018
|
+
parsed_backfill_start = datetime.datetime.fromisoformat(streaming_meta.backfill_start_time)
|
|
8019
|
+
except (TypeError, ValueError):
|
|
8020
|
+
parsed_backfill_start = None
|
|
8021
|
+
fv._stream_config = StreamConfig._for_reconstruction(
|
|
8022
|
+
stream_source=streaming_meta.stream_source_name,
|
|
8023
|
+
backfill_table=streaming_meta.backfill_table,
|
|
8024
|
+
backfill_start_time=parsed_backfill_start,
|
|
8025
|
+
)
|
|
7953
8026
|
|
|
7954
8027
|
# Load rollup metadata if this is a rollup FV
|
|
7955
8028
|
if fv_metadata.is_rollup:
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/feature_view.py
RENAMED
|
@@ -1544,7 +1544,7 @@ class FeatureView(lineage_node.LineageNode):
|
|
|
1544
1544
|
df["is_large"] = df["amount"] > 1000
|
|
1545
1545
|
return df
|
|
1546
1546
|
"""
|
|
1547
|
-
if self._stream_config is not None:
|
|
1547
|
+
if self._stream_config is not None and self._stream_config.transformation_fn is not None:
|
|
1548
1548
|
return self._stream_config.get_function_source()
|
|
1549
1549
|
return self._transformation_fn_source
|
|
1550
1550
|
|
|
@@ -2469,6 +2469,7 @@ Got {len(self._feature_df.queries['queries'])}: {self._feature_df.queries['queri
|
|
|
2469
2469
|
),
|
|
2470
2470
|
feature_granularity=json_dict.get("_feature_granularity"),
|
|
2471
2471
|
aggregation_specs=aggregation_specs,
|
|
2472
|
+
aggregation_secondary_keys=json_dict.get("_aggregation_secondary_keys"),
|
|
2472
2473
|
feature_aggregation_method=feature_aggregation_method,
|
|
2473
2474
|
storage_config=(
|
|
2474
2475
|
StorageConfig.from_json(json_dict["_storage_config"]) if json_dict.get("_storage_config") else None
|
|
@@ -2580,6 +2581,7 @@ Got {len(self._feature_df.queries['queries'])}: {self._feature_df.queries['queri
|
|
|
2580
2581
|
is_realtime: bool = False,
|
|
2581
2582
|
realtime_config: Optional[RealtimeConfig] = None,
|
|
2582
2583
|
source_refs: Optional[list[dict[str, Any]]] = None,
|
|
2584
|
+
stream_config: Optional[StreamConfig] = None,
|
|
2583
2585
|
) -> FeatureView:
|
|
2584
2586
|
if is_realtime:
|
|
2585
2587
|
# Realtime FVs have no feature_df, no DT/View, no schema inference.
|
|
@@ -2620,6 +2622,9 @@ Got {len(self._feature_df.queries['queries'])}: {self._feature_df.queries['queri
|
|
|
2620
2622
|
append_only=append_only,
|
|
2621
2623
|
backup_source=backup_source,
|
|
2622
2624
|
)
|
|
2625
|
+
# Restore the rehydrated stream_config on the reconstructed FV.
|
|
2626
|
+
if stream_config is not None:
|
|
2627
|
+
fv._stream_config = stream_config
|
|
2623
2628
|
fv._version = FeatureViewVersion(version) if version is not None else None
|
|
2624
2629
|
fv._status = status
|
|
2625
2630
|
fv._database = SqlIdentifier(database) if database is not None else None
|
|
@@ -145,6 +145,13 @@ class StreamingMetadata:
|
|
|
145
145
|
# ``FAILED`` once the finalizer has observed terminal state. ``None`` for
|
|
146
146
|
# streaming FVs registered before this field existed.
|
|
147
147
|
backfill_state: Optional[str] = None
|
|
148
|
+
# Pre-expansion FQN of the operator-supplied backfill table (e.g.
|
|
149
|
+
# ``MY_DB.MY_SCH.HISTORICAL_TXNS``). Captured at register time so the
|
|
150
|
+
# round-trip can restore ``StreamConfig.backfill_table`` losslessly
|
|
151
|
+
# (Plan section A3). ``None`` for streaming FVs registered before
|
|
152
|
+
# this field existed and for callers that supplied an inline
|
|
153
|
+
# ``backfill_df`` rather than a table reference.
|
|
154
|
+
backfill_table: Optional[str] = None
|
|
148
155
|
|
|
149
156
|
def to_dict(self) -> dict[str, Any]:
|
|
150
157
|
"""Convert to dictionary for JSON serialization."""
|
|
@@ -168,6 +175,8 @@ class StreamingMetadata:
|
|
|
168
175
|
d["backfill_udtf_signature"] = self.backfill_udtf_signature
|
|
169
176
|
if self.backfill_state is not None:
|
|
170
177
|
d["backfill_state"] = self.backfill_state
|
|
178
|
+
if self.backfill_table is not None:
|
|
179
|
+
d["backfill_table"] = self.backfill_table
|
|
171
180
|
return d
|
|
172
181
|
|
|
173
182
|
@classmethod
|
|
@@ -198,6 +207,7 @@ class StreamingMetadata:
|
|
|
198
207
|
backfill_udtf_name=data.get("backfill_udtf_name"),
|
|
199
208
|
backfill_udtf_signature=data.get("backfill_udtf_signature"),
|
|
200
209
|
backfill_state=raw_backfill_state,
|
|
210
|
+
backfill_table=data.get("backfill_table"),
|
|
201
211
|
)
|
|
202
212
|
|
|
203
213
|
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/feature_store/spec/builder.py
RENAMED
|
@@ -174,9 +174,11 @@ _PG_DISTINCT_N_SOURCE_TYPES: frozenset[str] = frozenset(
|
|
|
174
174
|
# Aggregation functions whose output type is predetermined regardless of source type.
|
|
175
175
|
# Functions not listed here (SUM, MIN, MAX, LAST_N, etc.) preserve the source type.
|
|
176
176
|
_AGG_PREDETERMINED_OUTPUT: dict[AggregationType, FSColumn] = {
|
|
177
|
-
# COUNT / APPROX_COUNT_DISTINCT
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
# COUNT / APPROX_COUNT_DISTINCT produce NUMBER(38,0), which Snowpark
|
|
178
|
+
# surfaces as LongType. DecimalType here would mismatch the upstream FV's
|
|
179
|
+
# stored ArrayType<LongType> and be rejected by the exact-shape check.
|
|
180
|
+
AggregationType.COUNT: FSColumn(name="", type="LongType"),
|
|
181
|
+
AggregationType.APPROX_COUNT_DISTINCT: FSColumn(name="", type="LongType"),
|
|
180
182
|
# AVG / STD / VAR / APPROX_PERCENTILE always produce a float.
|
|
181
183
|
AggregationType.AVG: FSColumn(name="", type="DoubleType"),
|
|
182
184
|
AggregationType.STD: FSColumn(name="", type="DoubleType"),
|
|
@@ -801,9 +803,11 @@ class FeatureViewSpecBuilder:
|
|
|
801
803
|
For tiled FVs the columns are derived from ``aggregation_specs`` because
|
|
802
804
|
``output_schema`` exposes ``_PARTIAL_*`` tile columns, not the FV's logical
|
|
803
805
|
aggregation outputs. A secondary-key FV (``aggregation_secondary_keys``)
|
|
804
|
-
additionally wraps each value aggregation as ``ArrayType<scalar>``
|
|
805
|
-
|
|
806
|
-
|
|
806
|
+
additionally wraps each value aggregation as ``ArrayType<scalar>`` and emits
|
|
807
|
+
the companion ``<SK>_KEYS_<window>`` keys array (also ``ArrayType<scalar>``)
|
|
808
|
+
so the columns match the upstream FV's stored ``OutputColumn`` for the Online
|
|
809
|
+
Service exact-shape check. Without the keys array the value arrays cannot be
|
|
810
|
+
mapped back to their secondary-key values.
|
|
807
811
|
|
|
808
812
|
For non-tiled, non-RTFV sources, when ``materialized_schema`` is
|
|
809
813
|
provided, column shapes are read from it instead of the authoring-time
|
|
@@ -817,6 +821,10 @@ class FeatureViewSpecBuilder:
|
|
|
817
821
|
|
|
818
822
|
Returns:
|
|
819
823
|
FSColumns for the source's feature columns, in declaration order.
|
|
824
|
+
|
|
825
|
+
Raises:
|
|
826
|
+
ValueError: If a tiled secondary-key FV's keys array references a
|
|
827
|
+
secondary-key column absent from the tiled schema.
|
|
820
828
|
"""
|
|
821
829
|
if fv.realtime_config is not None:
|
|
822
830
|
entity_names = set(fv.ordered_entity_columns)
|
|
@@ -831,6 +839,18 @@ class FeatureViewSpecBuilder:
|
|
|
831
839
|
columns: list[FSColumn] = []
|
|
832
840
|
for spec in fv.aggregation_specs:
|
|
833
841
|
if spec.function.is_secondary_key_array():
|
|
842
|
+
# Keys array has no _PARTIAL_* companion; its element type is
|
|
843
|
+
# the secondary-key column, which the tiled DT exposes directly.
|
|
844
|
+
sk_column = partials_by_name.get(spec.source_column)
|
|
845
|
+
if sk_column is None:
|
|
846
|
+
raise ValueError(
|
|
847
|
+
f"feature retrieval: secondary aggregation key column "
|
|
848
|
+
f"'{spec.source_column}' was not found in feature view "
|
|
849
|
+
f"'{fv.name.resolved()}'; its keys array cannot be built."
|
|
850
|
+
)
|
|
851
|
+
columns.append(
|
|
852
|
+
_as_secondary_key_array_column(sk_column.model_copy(update={"name": spec.output_column}))
|
|
853
|
+
)
|
|
834
854
|
continue
|
|
835
855
|
resolved = _resolve_tiled_fv_output_column(spec, partials_by_name)
|
|
836
856
|
if has_secondary_key:
|
|
@@ -178,6 +178,8 @@ class StreamConfig:
|
|
|
178
178
|
transformation_fn: Callable[[pd.DataFrame], pd.DataFrame]
|
|
179
179
|
backfill_df: Any # DataFrame — Any avoids circular import
|
|
180
180
|
backfill_start_time: Optional[datetime.datetime] = None
|
|
181
|
+
# FQN of the backfill table; persisted so get_feature_view can restore it.
|
|
182
|
+
backfill_table: Optional[str] = None
|
|
181
183
|
|
|
182
184
|
def __post_init__(self) -> None:
|
|
183
185
|
fn = self.transformation_fn
|
|
@@ -239,6 +241,38 @@ class StreamConfig:
|
|
|
239
241
|
"""Return the ``__name__`` of ``transformation_fn``."""
|
|
240
242
|
return self.transformation_fn.__name__
|
|
241
243
|
|
|
244
|
+
@classmethod
|
|
245
|
+
def _for_reconstruction(
|
|
246
|
+
cls,
|
|
247
|
+
stream_source: Union[str, Any],
|
|
248
|
+
backfill_table: Optional[str] = None,
|
|
249
|
+
backfill_start_time: Optional[datetime.datetime] = None,
|
|
250
|
+
) -> StreamConfig:
|
|
251
|
+
"""Build a metadata-only ``StreamConfig`` for round-trip reconstruction.
|
|
252
|
+
|
|
253
|
+
Bypasses ``__post_init__`` validation so ``StreamConfig`` can be
|
|
254
|
+
rehydrated from ``StreamingMetadata`` without a live
|
|
255
|
+
``transformation_fn`` or ``backfill_df``. Do not call
|
|
256
|
+
``get_function_source`` or ``get_function_name`` on the result.
|
|
257
|
+
|
|
258
|
+
Args:
|
|
259
|
+
stream_source: ``StreamSource`` object or registered name string.
|
|
260
|
+
backfill_table: FQN of the backfill table, or ``None`` for legacy
|
|
261
|
+
streaming FVs registered before this field existed.
|
|
262
|
+
backfill_start_time: Authored ``backfill_start_time``, if any.
|
|
263
|
+
|
|
264
|
+
Returns:
|
|
265
|
+
A frozen ``StreamConfig`` with ``transformation_fn`` and
|
|
266
|
+
``backfill_df`` set to ``None``.
|
|
267
|
+
"""
|
|
268
|
+
instance = cls.__new__(cls)
|
|
269
|
+
object.__setattr__(instance, "stream_source", stream_source)
|
|
270
|
+
object.__setattr__(instance, "transformation_fn", None)
|
|
271
|
+
object.__setattr__(instance, "backfill_df", None)
|
|
272
|
+
object.__setattr__(instance, "backfill_start_time", backfill_start_time)
|
|
273
|
+
object.__setattr__(instance, "backfill_table", backfill_table)
|
|
274
|
+
return instance
|
|
275
|
+
|
|
242
276
|
def get_stream_source_name(self) -> str:
|
|
243
277
|
"""Return the stream source name as a string.
|
|
244
278
|
|
|
@@ -623,6 +623,8 @@ def run_streaming_postamble(
|
|
|
623
623
|
backfill_udtf_name=fq_udtf,
|
|
624
624
|
backfill_udtf_signature=udtf_signature,
|
|
625
625
|
backfill_state=BACKFILL_STATE_RUNNING,
|
|
626
|
+
# Persist backfill_table so get_feature_view can restore it.
|
|
627
|
+
backfill_table=stream_config.backfill_table,
|
|
626
628
|
),
|
|
627
629
|
)
|
|
628
630
|
|
|
@@ -1338,7 +1338,12 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1338
1338
|
func_name: core.ModelSignature.from_dict(sig_dict) for func_name, sig_dict in signatures_dict.items()
|
|
1339
1339
|
}
|
|
1340
1340
|
|
|
1341
|
-
if
|
|
1341
|
+
# Check if the model is logged with OpenAI compatible signature that contains messages feature group.
|
|
1342
|
+
if not any(
|
|
1343
|
+
isinstance(spec, core.FeatureGroupSpec) and spec.name == "messages"
|
|
1344
|
+
for sig in deserialized_signatures.values()
|
|
1345
|
+
for spec in sig.inputs
|
|
1346
|
+
):
|
|
1342
1347
|
raise ValueError(
|
|
1343
1348
|
"Inference engine requires the model to be logged with one of the following signatures: "
|
|
1344
1349
|
f"{VALID_OPENAI_SIGNATURES}. Please log the model again with one of these supported signatures."
|
|
@@ -26,6 +26,7 @@ from snowflake.snowpark import DataFrame as SnowparkDataFrame
|
|
|
26
26
|
logger = logging.getLogger(__name__)
|
|
27
27
|
|
|
28
28
|
EXPLAIN_BACKGROUND_DATA_ROWS_COUNT_LIMIT = 1000
|
|
29
|
+
_WRITABLE_HF_CACHE_DIR = "/tmp"
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
class NumpyEncoder(json.JSONEncoder):
|
|
@@ -278,6 +279,30 @@ def get_explain_target_method(
|
|
|
278
279
|
return None
|
|
279
280
|
|
|
280
281
|
|
|
282
|
+
def redirect_hf_cache_to_writable_dir() -> None:
|
|
283
|
+
"""Point HuggingFace cache env vars at a writable directory in sandboxed runtimes.
|
|
284
|
+
|
|
285
|
+
Warehouse stored procedures and SPCS inference containers often run with a
|
|
286
|
+
non-writable home cache (for example ``/root/.cache``). Models that load
|
|
287
|
+
transformers remote code need a writable HuggingFace modules cache.
|
|
288
|
+
"""
|
|
289
|
+
from snowflake.snowpark._internal import utils as snowpark_utils
|
|
290
|
+
|
|
291
|
+
if snowpark_utils.is_in_stored_procedure(): # type: ignore[no-untyped-call]
|
|
292
|
+
os.environ["TRANSFORMERS_CACHE"] = _WRITABLE_HF_CACHE_DIR
|
|
293
|
+
os.environ["HF_HOME"] = _WRITABLE_HF_CACHE_DIR
|
|
294
|
+
os.environ["XDG_CACHE_HOME"] = _WRITABLE_HF_CACHE_DIR
|
|
295
|
+
return
|
|
296
|
+
|
|
297
|
+
default_cache_root = os.path.join(os.path.expanduser("~"), ".cache")
|
|
298
|
+
if os.access(default_cache_root, os.W_OK):
|
|
299
|
+
return
|
|
300
|
+
|
|
301
|
+
os.environ.setdefault("HF_HOME", _WRITABLE_HF_CACHE_DIR)
|
|
302
|
+
os.environ.setdefault("TRANSFORMERS_CACHE", _WRITABLE_HF_CACHE_DIR)
|
|
303
|
+
os.environ.setdefault("XDG_CACHE_HOME", _WRITABLE_HF_CACHE_DIR)
|
|
304
|
+
|
|
305
|
+
|
|
281
306
|
def save_transformers_config_with_auto_map(local_model_path: str) -> None:
|
|
282
307
|
import huggingface_hub
|
|
283
308
|
|
|
@@ -30,7 +30,6 @@ from snowflake.ml.model.models import (
|
|
|
30
30
|
huggingface as huggingface_base,
|
|
31
31
|
huggingface_pipeline,
|
|
32
32
|
)
|
|
33
|
-
from snowflake.snowpark._internal import utils as snowpark_utils
|
|
34
33
|
|
|
35
34
|
logger = logging.getLogger(__name__)
|
|
36
35
|
|
|
@@ -366,10 +365,7 @@ class TransformersPipelineHandler(
|
|
|
366
365
|
) -> Union[
|
|
367
366
|
huggingface_pipeline.HuggingFacePipelineModel, huggingface_base.TransformersPipeline, "transformers.Pipeline"
|
|
368
367
|
]:
|
|
369
|
-
|
|
370
|
-
# We need to redirect the some folders to a writable location in the sandbox.
|
|
371
|
-
os.environ["HF_HOME"] = "/tmp"
|
|
372
|
-
os.environ["XDG_CACHE_HOME"] = "/tmp"
|
|
368
|
+
handlers_utils.redirect_hf_cache_to_writable_dir()
|
|
373
369
|
|
|
374
370
|
model_blob_path = os.path.join(model_blobs_dir_path, name)
|
|
375
371
|
model_blobs_metadata = model_meta.models
|
|
@@ -26,7 +26,6 @@ from snowflake.ml.model._packager.model_meta import (
|
|
|
26
26
|
model_meta_schema,
|
|
27
27
|
)
|
|
28
28
|
from snowflake.ml.model.models import huggingface as snowml_huggingface
|
|
29
|
-
from snowflake.snowpark._internal import utils as snowpark_utils
|
|
30
29
|
|
|
31
30
|
if TYPE_CHECKING:
|
|
32
31
|
import sentence_transformers
|
|
@@ -894,9 +893,7 @@ class SentenceTransformerHandler(_base.BaseModelHandler["sentence_transformers.S
|
|
|
894
893
|
) -> "sentence_transformers.SentenceTransformer":
|
|
895
894
|
import sentence_transformers
|
|
896
895
|
|
|
897
|
-
|
|
898
|
-
os.environ["TRANSFORMERS_CACHE"] = "/tmp"
|
|
899
|
-
os.environ["HF_HOME"] = "/tmp"
|
|
896
|
+
handlers_utils.redirect_hf_cache_to_writable_dir()
|
|
900
897
|
|
|
901
898
|
model_blob_path = os.path.join(model_blobs_dir_path, name)
|
|
902
899
|
model_blob_metadata = model_meta.models[name]
|
|
@@ -38,6 +38,14 @@ def _apply_transforms_up_to_last_step(
|
|
|
38
38
|
if not hasattr(step, "transform"):
|
|
39
39
|
raise ValueError(f"Step '{step_name}' does not have a 'transform' method.")
|
|
40
40
|
data = pd.DataFrame(step.transform(data))
|
|
41
|
+
# A transform step can leave columns the final predictor was not trained on in the frame (e.g. raw string
|
|
42
|
+
# columns that an encoder wrote to new output_cols without dropping, or label columns). The predictor
|
|
43
|
+
# itself selects only its `input_cols` before predicting, so restrict the frame the same way here.
|
|
44
|
+
# Otherwise these passthrough columns reach the underlying SHAP explainer, which rejects non-numeric data.
|
|
45
|
+
final_estimator = model.steps[-1][1] # type: ignore[attr-defined]
|
|
46
|
+
input_cols = getattr(final_estimator, "input_cols", None)
|
|
47
|
+
if input_cols and isinstance(data, pd.DataFrame) and all(col in data.columns for col in input_cols):
|
|
48
|
+
data = data[list(input_cols)]
|
|
41
49
|
return data
|
|
42
50
|
|
|
43
51
|
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/utils/authentication.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import http
|
|
2
4
|
import logging
|
|
3
5
|
from datetime import timedelta
|
|
@@ -16,7 +18,7 @@ _JWT_TOKEN_CACHE: dict[str, dict[int, str]] = {}
|
|
|
16
18
|
def get_jwt_token_generator(
|
|
17
19
|
account: str,
|
|
18
20
|
user: str,
|
|
19
|
-
private_key: types.
|
|
21
|
+
private_key: types.PrivateKeyTypes,
|
|
20
22
|
lifetime: Optional[timedelta] = None,
|
|
21
23
|
renewal_delay: Optional[timedelta] = None,
|
|
22
24
|
) -> jwt_generator.JWTGenerator:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# This is parsed by regex in conda recipe meta file. Make sure not to break it.
|
|
2
|
-
VERSION = "1.
|
|
2
|
+
VERSION = "1.46.0"
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake_ml_python.egg-info/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.46.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,7 +416,23 @@ 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.
|
|
419
|
+
## 1.46.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
### Bug Fixes
|
|
424
|
+
|
|
425
|
+
### Behavior Changes
|
|
426
|
+
|
|
427
|
+
* Registry: For Snowpark ML Pipeline models with explainability enabled, explanations now cover only the columns the
|
|
428
|
+
final estimator was actually trained on (its `input_cols`). Untransformed passthrough columns (e.g. raw string
|
|
429
|
+
columns left in place by an encoder using new `output_cols`, or the label column) are no longer included in the
|
|
430
|
+
explain output. This also fixes a failure where such passthrough columns could reach the SHAP explainer and raise an
|
|
431
|
+
error during `log_model(..., enable_explainability=True)`.
|
|
432
|
+
|
|
433
|
+
### Deprecations
|
|
434
|
+
|
|
435
|
+
## 1.45.0 (2026-07-01)
|
|
420
436
|
|
|
421
437
|
### New Features
|
|
422
438
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_classify_text.py
RENAMED
|
File without changes
|
|
File without changes
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_embed_text_1024.py
RENAMED
|
File without changes
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_embed_text_768.py
RENAMED
|
File without changes
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/cortex/_extract_answer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{snowflake_ml_python-1.45.0 → snowflake_ml_python-1.46.0}/snowflake/ml/_internal/env_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|