snowflake-ml-python 1.33.0__tar.gz → 1.35.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.33.0 → snowflake_ml_python-1.35.0}/CHANGELOG.md +41 -1
- {snowflake_ml_python-1.33.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.35.0}/PKG-INFO +42 -2
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/platform_capabilities.py +3 -5
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +48 -2
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/experiment_tracking.py +83 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/__init__.py +2 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/aggregation.py +12 -118
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/feature_store.py +181 -30
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/feature_view.py +227 -41
- snowflake_ml_python-1.35.0/snowflake/ml/feature_store/interval_utils.py +126 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/metadata_manager.py +90 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/spec/builder.py +20 -12
- snowflake_ml_python-1.35.0/snowflake/ml/feature_store/stream_config.py +276 -0
- snowflake_ml_python-1.35.0/snowflake/ml/feature_store/streaming_registration.py +462 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/tile_sql_generator.py +20 -39
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/fileset/sfcfs.py +5 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/feature_flags.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +9 -2
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +20 -4
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/decorators.py +0 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/job_definition.py +31 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/manager.py +2 -5
- snowflake_ml_python-1.35.0/snowflake/ml/model/_client/model/batch_inference_definition.py +226 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_client/model/batch_inference_serialization.py +56 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +17 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/model/model_version_impl.py +4 -10
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/ops/param_utils.py +77 -3
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/ops/service_ops.py +56 -62
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +18 -9
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/model_version.py +4 -4
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/service.py +3 -3
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/custom.py +1 -1
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +22 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +74 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +632 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +287 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +90 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +68 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +52 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/speech.py +39 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +65 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/video.py +63 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/vision.py +66 -0
- snowflake_ml_python-1.35.0/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot.py +52 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +19 -10
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +1 -5
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +3 -3
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/core.py +2 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/snowpark_handler.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/batch/__init__.py +7 -3
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +3 -3
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -15
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/registry/registry.py +14 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0/snowflake_ml_python.egg-info}/PKG-INFO +42 -2
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake_ml_python.egg-info/SOURCES.txt +17 -1
- snowflake_ml_python-1.33.0/snowflake/ml/model/_packager/model_handlers/huggingface.py +0 -1044
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/README.md +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/jobs/job.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/__init__.py +2 -2
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.35.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* Registry: Fixed `ParamSpec.from_mlflow_spec` dropping `shape`, which caused shaped scalar params
|
|
10
|
+
(e.g., array of ints) from MLflow to fail validation during model import.
|
|
11
|
+
|
|
12
|
+
### Behavior Changes
|
|
13
|
+
|
|
14
|
+
* ML Jobs: `spec_overrides` now validates container keys and warns when keys other than `name` and `secrets`
|
|
15
|
+
are provided. Additional keys are not officially supported and may not behave as expected.
|
|
16
|
+
|
|
17
|
+
### Deprecations
|
|
18
|
+
|
|
19
|
+
## 1.34.0 (2026-04-08)
|
|
20
|
+
|
|
21
|
+
### New Features
|
|
22
|
+
|
|
23
|
+
* Experiment Tracking: Added `list_params` and `list_metrics` methods to retrieve parameters and metrics
|
|
24
|
+
for runs within an experiment. Both methods return a Dataframe and accept an optional `run_name` argument
|
|
25
|
+
to filter to a specific run.
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* Feature Store: Fixed `generate_dataset()`/`generate_training_set()` SQL generation for Unicode and case-sensitive
|
|
30
|
+
identifiers (for example Japanese column names), ensuring columns are quoted exactly once and preventing SQL
|
|
31
|
+
compilation errors such as `unexpected '<column_name>'`.
|
|
32
|
+
|
|
33
|
+
### Behavior Changes
|
|
34
|
+
|
|
35
|
+
* Registry: `enable_explainability=True` is now allowed for SPCS-only and non-warehouse-runnable models. Previously
|
|
36
|
+
this raised a `ValueError`.
|
|
37
|
+
|
|
38
|
+
### Deprecations
|
|
39
|
+
|
|
40
|
+
## 1.33.0 (2026-03-31)
|
|
4
41
|
|
|
5
42
|
### New Features
|
|
6
43
|
|
|
@@ -124,6 +161,9 @@
|
|
|
124
161
|
|
|
125
162
|
### Behavior Changes
|
|
126
163
|
|
|
164
|
+
* Dependencies: Removed `snowflake.core` as a runtime dependency. If you use `snowflake.core` (e.g.,
|
|
165
|
+
`TaskDag`, `Root`, `Task`), add `snowflake.core` explicitly to your dependencies.
|
|
166
|
+
|
|
127
167
|
### Deprecations
|
|
128
168
|
|
|
129
169
|
## 1.28.0 (2026-02-17)
|
{snowflake_ml_python-1.33.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.35.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.35.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,44 @@ 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.35.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
### Bug Fixes
|
|
424
|
+
|
|
425
|
+
* Registry: Fixed `ParamSpec.from_mlflow_spec` dropping `shape`, which caused shaped scalar params
|
|
426
|
+
(e.g., array of ints) from MLflow to fail validation during model import.
|
|
427
|
+
|
|
428
|
+
### Behavior Changes
|
|
429
|
+
|
|
430
|
+
* ML Jobs: `spec_overrides` now validates container keys and warns when keys other than `name` and `secrets`
|
|
431
|
+
are provided. Additional keys are not officially supported and may not behave as expected.
|
|
432
|
+
|
|
433
|
+
### Deprecations
|
|
434
|
+
|
|
435
|
+
## 1.34.0 (2026-04-08)
|
|
436
|
+
|
|
437
|
+
### New Features
|
|
438
|
+
|
|
439
|
+
* Experiment Tracking: Added `list_params` and `list_metrics` methods to retrieve parameters and metrics
|
|
440
|
+
for runs within an experiment. Both methods return a Dataframe and accept an optional `run_name` argument
|
|
441
|
+
to filter to a specific run.
|
|
442
|
+
|
|
443
|
+
### Bug Fixes
|
|
444
|
+
|
|
445
|
+
* Feature Store: Fixed `generate_dataset()`/`generate_training_set()` SQL generation for Unicode and case-sensitive
|
|
446
|
+
identifiers (for example Japanese column names), ensuring columns are quoted exactly once and preventing SQL
|
|
447
|
+
compilation errors such as `unexpected '<column_name>'`.
|
|
448
|
+
|
|
449
|
+
### Behavior Changes
|
|
450
|
+
|
|
451
|
+
* Registry: `enable_explainability=True` is now allowed for SPCS-only and non-warehouse-runnable models. Previously
|
|
452
|
+
this raised a `ValueError`.
|
|
453
|
+
|
|
454
|
+
### Deprecations
|
|
455
|
+
|
|
456
|
+
## 1.33.0 (2026-03-31)
|
|
420
457
|
|
|
421
458
|
### New Features
|
|
422
459
|
|
|
@@ -540,6 +577,9 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
540
577
|
|
|
541
578
|
### Behavior Changes
|
|
542
579
|
|
|
580
|
+
* Dependencies: Removed `snowflake.core` as a runtime dependency. If you use `snowflake.core` (e.g.,
|
|
581
|
+
`TaskDag`, `Root`, `Task`), add `snowflake.core` explicitly to your dependencies.
|
|
582
|
+
|
|
543
583
|
### Deprecations
|
|
544
584
|
|
|
545
585
|
## 1.28.0 (2026-02-17)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
3
|
from contextlib import contextmanager
|
|
4
|
-
from typing import Any, Optional
|
|
4
|
+
from typing import Any, Iterator, Optional
|
|
5
5
|
|
|
6
6
|
from packaging import version
|
|
7
7
|
|
|
@@ -57,13 +57,11 @@ class PlatformCapabilities:
|
|
|
57
57
|
def clear_mock_features(cls) -> None:
|
|
58
58
|
cls._mock_features = None
|
|
59
59
|
|
|
60
|
-
# For contextmanager, we need to have return type Iterator[Never]. However, Never type is introduced only in
|
|
61
|
-
# Python 3.11. So, we are ignoring the type for this method.
|
|
62
60
|
_dummy_features: dict[str, Any] = {"dummy": "dummy"}
|
|
63
61
|
|
|
64
|
-
@classmethod
|
|
62
|
+
@classmethod
|
|
65
63
|
@contextmanager
|
|
66
|
-
def mock_features(cls, features: dict[str, Any] = _dummy_features) -> None:
|
|
64
|
+
def mock_features(cls, features: dict[str, Any] = _dummy_features) -> Iterator[None]:
|
|
67
65
|
logger.debug(f"Setting mock features: {features}")
|
|
68
66
|
cls.set_mock_features(features)
|
|
69
67
|
try:
|
|
@@ -1,16 +1,62 @@
|
|
|
1
|
-
from typing import Optional
|
|
1
|
+
from typing import Any, Optional
|
|
2
2
|
|
|
3
3
|
from snowflake.ml._internal import telemetry
|
|
4
4
|
from snowflake.ml._internal.utils import query_result_checker, sql_identifier
|
|
5
5
|
from snowflake.ml.experiment._client import artifact
|
|
6
6
|
from snowflake.ml.model._client.sql import _base
|
|
7
7
|
from snowflake.ml.utils import sql_client
|
|
8
|
-
from snowflake.snowpark import file_operation, row, session
|
|
8
|
+
from snowflake.snowpark import dataframe, file_operation, row, session, types
|
|
9
9
|
|
|
10
10
|
RUN_NAME_COL_NAME = "name"
|
|
11
11
|
RUN_METADATA_COL_NAME = "metadata"
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
def pivot_run_attributes(
|
|
15
|
+
sp_session: session.Session,
|
|
16
|
+
rows: list[row.Row],
|
|
17
|
+
run_names: list[str],
|
|
18
|
+
cast_value: Optional[type] = None,
|
|
19
|
+
) -> dataframe.DataFrame:
|
|
20
|
+
"""Pivot SHOW RUN METRICS/PARAMETERS rows into one row per run.
|
|
21
|
+
|
|
22
|
+
Each row is expected to have "run_name", "name", and "value" keys.
|
|
23
|
+
Returns a Snowpark DataFrame with a "run_name" column and one column per distinct
|
|
24
|
+
attribute name (sorted alphabetically). Runs present in ``run_names`` but absent
|
|
25
|
+
from ``rows`` appear with all-NULL attribute columns.
|
|
26
|
+
|
|
27
|
+
Args:
|
|
28
|
+
sp_session: Snowpark session used to create the result DataFrame.
|
|
29
|
+
rows: Collected rows from a SHOW RUN METRICS/PARAMETERS command.
|
|
30
|
+
run_names: Exhaustive list of run names (from SHOW RUNS) to include in the output.
|
|
31
|
+
cast_value: If provided, cast each value with this callable (e.g. ``float`` for metrics).
|
|
32
|
+
Values that fail to cast are set to ``None``.
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
A Snowpark DataFrame with a "run_name" column and one column per distinct attribute name.
|
|
36
|
+
"""
|
|
37
|
+
pivoted: dict[str, dict[str, Any]] = {name: {} for name in run_names}
|
|
38
|
+
attr_names: set[str] = set()
|
|
39
|
+
for r in rows:
|
|
40
|
+
d = r.as_dict()
|
|
41
|
+
value = d["value"]
|
|
42
|
+
if cast_value is not None:
|
|
43
|
+
try:
|
|
44
|
+
value = cast_value(value)
|
|
45
|
+
except (ValueError, TypeError):
|
|
46
|
+
value = None
|
|
47
|
+
pivoted.setdefault(d["run_name"], {})[d["name"]] = value
|
|
48
|
+
attr_names.add(d["name"])
|
|
49
|
+
|
|
50
|
+
col_order = sorted(attr_names)
|
|
51
|
+
data = [[run_name] + [attrs.get(c) for c in col_order] for run_name, attrs in pivoted.items()]
|
|
52
|
+
value_type = types.DoubleType() if cast_value is float else types.StringType()
|
|
53
|
+
schema = types.StructType(
|
|
54
|
+
[types.StructField('"run_name"', types.StringType())]
|
|
55
|
+
+ [types.StructField(f'"{c}"', value_type) for c in col_order]
|
|
56
|
+
)
|
|
57
|
+
return sp_session.create_dataframe(data, schema=schema)
|
|
58
|
+
|
|
59
|
+
|
|
14
60
|
class ExperimentTrackingSQLClient(_base._BaseSQLClient):
|
|
15
61
|
def __init__(
|
|
16
62
|
self,
|
|
@@ -478,6 +478,89 @@ class ExperimentTracking:
|
|
|
478
478
|
file_path=file_path,
|
|
479
479
|
)
|
|
480
480
|
|
|
481
|
+
def list_metrics(self, run_name: Optional[str] = None) -> snowpark.DataFrame:
|
|
482
|
+
"""
|
|
483
|
+
List metrics for runs within the current experiment.
|
|
484
|
+
|
|
485
|
+
When a metric is logged at multiple steps, the returned value corresponds to the highest step.
|
|
486
|
+
|
|
487
|
+
The returned DataFrame has a ``run_name`` column (str) and one float column per distinct metric name.
|
|
488
|
+
Runs that did not log a given metric have ``NULL`` for that column.
|
|
489
|
+
|
|
490
|
+
Example output::
|
|
491
|
+
|
|
492
|
+
run_name accuracy loss f1
|
|
493
|
+
0 RUN_1 0.95 0.05 0.90
|
|
494
|
+
1 RUN_2 0.90 0.10 NULL
|
|
495
|
+
|
|
496
|
+
Args:
|
|
497
|
+
run_name: Name of the run to list metrics from. If None, lists metrics for all runs in the current
|
|
498
|
+
experiment.
|
|
499
|
+
|
|
500
|
+
Returns:
|
|
501
|
+
A Snowpark DataFrame (one row per run). Use ``.to_pandas()`` for a pandas DataFrame or
|
|
502
|
+
``.collect()`` for a list of Row objects.
|
|
503
|
+
|
|
504
|
+
Raises:
|
|
505
|
+
RuntimeError: If no experiment is currently set.
|
|
506
|
+
"""
|
|
507
|
+
if not self._experiment:
|
|
508
|
+
raise RuntimeError("No experiment set. Please use the `set_experiment` method before listing metrics.")
|
|
509
|
+
|
|
510
|
+
if run_name:
|
|
511
|
+
run_names = [run_name]
|
|
512
|
+
else:
|
|
513
|
+
runs = self._sql_client.show_runs_in_experiment(experiment_name=self._experiment.name)
|
|
514
|
+
run_names = [r[sql_client.RUN_NAME_COL_NAME] for r in runs]
|
|
515
|
+
|
|
516
|
+
rows = self._sql_client.show_run_metrics_in_experiment(
|
|
517
|
+
experiment_name=self._experiment.name,
|
|
518
|
+
run_name=sql_identifier.SqlIdentifier(run_name) if run_name else None,
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
return sql_client.pivot_run_attributes(self._session, rows, run_names=run_names, cast_value=float)
|
|
522
|
+
|
|
523
|
+
def list_params(self, run_name: Optional[str] = None) -> snowpark.DataFrame:
|
|
524
|
+
"""
|
|
525
|
+
List parameters for runs within the current experiment.
|
|
526
|
+
|
|
527
|
+
The returned DataFrame has a ``run_name`` column (str) and one string column per distinct parameter name.
|
|
528
|
+
Use ``.cast()`` for numeric comparisons on parameter values. Runs that did not log a given parameter
|
|
529
|
+
have ``NULL`` for that column.
|
|
530
|
+
|
|
531
|
+
Example output::
|
|
532
|
+
|
|
533
|
+
run_name learning_rate batch_size optimizer
|
|
534
|
+
0 RUN_1 0.01 32 adam
|
|
535
|
+
1 RUN_2 0.02 64 NULL
|
|
536
|
+
|
|
537
|
+
Args:
|
|
538
|
+
run_name: Name of the run to list parameters from. If None, lists parameters for all runs in the current
|
|
539
|
+
experiment.
|
|
540
|
+
|
|
541
|
+
Returns:
|
|
542
|
+
A Snowpark DataFrame (one row per run). Use ``.to_pandas()`` for a pandas DataFrame or
|
|
543
|
+
``.collect()`` for a list of Row objects.
|
|
544
|
+
|
|
545
|
+
Raises:
|
|
546
|
+
RuntimeError: If no experiment is currently set.
|
|
547
|
+
"""
|
|
548
|
+
if not self._experiment:
|
|
549
|
+
raise RuntimeError("No experiment set. Please use the `set_experiment` method before listing parameters.")
|
|
550
|
+
|
|
551
|
+
if run_name:
|
|
552
|
+
run_names = [run_name]
|
|
553
|
+
else:
|
|
554
|
+
runs = self._sql_client.show_runs_in_experiment(experiment_name=self._experiment.name)
|
|
555
|
+
run_names = [r[sql_client.RUN_NAME_COL_NAME] for r in runs]
|
|
556
|
+
|
|
557
|
+
rows = self._sql_client.show_run_parameters_in_experiment(
|
|
558
|
+
experiment_name=self._experiment.name,
|
|
559
|
+
run_name=sql_identifier.SqlIdentifier(run_name) if run_name else None,
|
|
560
|
+
)
|
|
561
|
+
|
|
562
|
+
return sql_client.pivot_run_attributes(self._session, rows, run_names=run_names)
|
|
563
|
+
|
|
481
564
|
def list_artifacts(
|
|
482
565
|
self,
|
|
483
566
|
run_name: str,
|
|
@@ -599,7 +682,6 @@ class ExperimentTracking:
|
|
|
599
682
|
scheme: str = "https",
|
|
600
683
|
host: str = "app.snowflake.com",
|
|
601
684
|
) -> None:
|
|
602
|
-
|
|
603
685
|
experiment_url = (
|
|
604
686
|
f"{scheme}://{host}/_deeplink/#/experiments"
|
|
605
687
|
f"/databases/{quote(str(self._database_name))}"
|
{snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/__init__.py
RENAMED
|
@@ -5,6 +5,7 @@ from snowflake.ml._internal import init_utils
|
|
|
5
5
|
from .access_manager import setup_feature_store
|
|
6
6
|
from .feature import Feature
|
|
7
7
|
from .feature_view import RollupConfig
|
|
8
|
+
from .stream_config import StreamConfig
|
|
8
9
|
from .stream_source import StreamSource
|
|
9
10
|
|
|
10
11
|
pkg_dir = os.path.dirname(__file__)
|
|
@@ -17,5 +18,6 @@ __all__ = list(exportable_classes.keys()) + [
|
|
|
17
18
|
"setup_feature_store",
|
|
18
19
|
"Feature",
|
|
19
20
|
"RollupConfig",
|
|
21
|
+
"StreamConfig",
|
|
20
22
|
"StreamSource",
|
|
21
23
|
]
|
{snowflake_ml_python-1.33.0 → snowflake_ml_python-1.35.0}/snowflake/ml/feature_store/aggregation.py
RENAMED
|
@@ -6,12 +6,18 @@ that are computed using a tile-based approach for efficiency and correctness.
|
|
|
6
6
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
|
-
import re
|
|
10
9
|
from dataclasses import dataclass, field
|
|
11
10
|
from enum import Enum
|
|
12
11
|
from typing import Any
|
|
13
12
|
|
|
14
13
|
from snowflake.ml._internal.utils.sql_identifier import SqlIdentifier
|
|
14
|
+
from snowflake.ml.feature_store.interval_utils import ( # noqa: F401 - re-export
|
|
15
|
+
LIFETIME_WINDOW as LIFETIME_WINDOW,
|
|
16
|
+
format_interval_for_snowflake as format_interval_for_snowflake,
|
|
17
|
+
interval_to_seconds as interval_to_seconds,
|
|
18
|
+
is_lifetime_window as is_lifetime_window,
|
|
19
|
+
parse_interval as parse_interval,
|
|
20
|
+
)
|
|
15
21
|
|
|
16
22
|
|
|
17
23
|
class AggregationType(Enum):
|
|
@@ -76,127 +82,11 @@ class AggregationType(Enum):
|
|
|
76
82
|
)
|
|
77
83
|
|
|
78
84
|
|
|
79
|
-
# Special window value for lifetime aggregations
|
|
80
|
-
LIFETIME_WINDOW = "lifetime"
|
|
81
|
-
|
|
82
85
|
# Internal column name prefixes used in tile tables.
|
|
83
86
|
# WARNING: Changing these will break existing registered tiled feature views.
|
|
84
87
|
_PARTIAL_COL_PREFIX = "_PARTIAL_"
|
|
85
88
|
_CUMULATIVE_COL_PREFIX = "_CUM_"
|
|
86
89
|
|
|
87
|
-
# Regex pattern for interval parsing: "1h", "24 hours", "30 minutes", etc.
|
|
88
|
-
_INTERVAL_PATTERN = re.compile(
|
|
89
|
-
r"^\s*(\d+)\s*(s|sec|secs|second|seconds|m|min|mins|minute|minutes|h|hr|hrs|hour|hours|d|day|days)\s*$",
|
|
90
|
-
re.IGNORECASE,
|
|
91
|
-
)
|
|
92
|
-
|
|
93
|
-
# Mapping of interval unit aliases to canonical Snowflake units
|
|
94
|
-
_INTERVAL_UNIT_MAP = {
|
|
95
|
-
"s": "SECOND",
|
|
96
|
-
"sec": "SECOND",
|
|
97
|
-
"secs": "SECOND",
|
|
98
|
-
"second": "SECOND",
|
|
99
|
-
"seconds": "SECOND",
|
|
100
|
-
"m": "MINUTE",
|
|
101
|
-
"min": "MINUTE",
|
|
102
|
-
"mins": "MINUTE",
|
|
103
|
-
"minute": "MINUTE",
|
|
104
|
-
"minutes": "MINUTE",
|
|
105
|
-
"h": "HOUR",
|
|
106
|
-
"hr": "HOUR",
|
|
107
|
-
"hrs": "HOUR",
|
|
108
|
-
"hour": "HOUR",
|
|
109
|
-
"hours": "HOUR",
|
|
110
|
-
"d": "DAY",
|
|
111
|
-
"day": "DAY",
|
|
112
|
-
"days": "DAY",
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
# Seconds per unit for calculating window sizes
|
|
116
|
-
_SECONDS_PER_UNIT = {
|
|
117
|
-
"SECOND": 1,
|
|
118
|
-
"MINUTE": 60,
|
|
119
|
-
"HOUR": 3600,
|
|
120
|
-
"DAY": 86400,
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
def is_lifetime_window(window: str) -> bool:
|
|
125
|
-
"""Check if a window string represents a lifetime aggregation.
|
|
126
|
-
|
|
127
|
-
Args:
|
|
128
|
-
window: The window string to check.
|
|
129
|
-
|
|
130
|
-
Returns:
|
|
131
|
-
True if the window is "lifetime", False otherwise.
|
|
132
|
-
"""
|
|
133
|
-
return window.lower().strip() == LIFETIME_WINDOW
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
def parse_interval(interval: str) -> tuple[int, str]:
|
|
137
|
-
"""Parse an interval string into (value, unit) tuple.
|
|
138
|
-
|
|
139
|
-
Args:
|
|
140
|
-
interval: Interval string like "1h", "24 hours", "30 minutes".
|
|
141
|
-
Note: "lifetime" is NOT a valid interval - use is_lifetime_window() first.
|
|
142
|
-
|
|
143
|
-
Returns:
|
|
144
|
-
Tuple of (numeric_value, snowflake_unit) e.g. (1, "HOUR").
|
|
145
|
-
|
|
146
|
-
Raises:
|
|
147
|
-
ValueError: If the interval format is invalid.
|
|
148
|
-
"""
|
|
149
|
-
if is_lifetime_window(interval):
|
|
150
|
-
raise ValueError(
|
|
151
|
-
f"'{interval}' is not a numeric interval. " f"Use is_lifetime_window() to check for lifetime windows."
|
|
152
|
-
)
|
|
153
|
-
|
|
154
|
-
match = _INTERVAL_PATTERN.match(interval)
|
|
155
|
-
if not match:
|
|
156
|
-
raise ValueError(
|
|
157
|
-
f"Invalid interval format: '{interval}'. "
|
|
158
|
-
f"Expected format: '<number> <unit>' where unit is one of: "
|
|
159
|
-
f"seconds, minutes, hours, days (or abbreviations s, m, h, d)"
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
value = int(match.group(1))
|
|
163
|
-
unit_str = match.group(2).lower()
|
|
164
|
-
unit = _INTERVAL_UNIT_MAP[unit_str]
|
|
165
|
-
|
|
166
|
-
if value <= 0:
|
|
167
|
-
raise ValueError(f"Interval value must be positive, got: {value}")
|
|
168
|
-
|
|
169
|
-
return value, unit
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
def interval_to_seconds(interval: str) -> int:
|
|
173
|
-
"""Convert an interval string to total seconds.
|
|
174
|
-
|
|
175
|
-
Args:
|
|
176
|
-
interval: Interval string like "1h", "24 hours".
|
|
177
|
-
Note: "lifetime" is NOT supported - returns -1 as sentinel.
|
|
178
|
-
|
|
179
|
-
Returns:
|
|
180
|
-
Total seconds represented by the interval, or -1 for lifetime.
|
|
181
|
-
"""
|
|
182
|
-
if is_lifetime_window(interval):
|
|
183
|
-
return -1 # Sentinel value for lifetime
|
|
184
|
-
value, unit = parse_interval(interval)
|
|
185
|
-
return value * _SECONDS_PER_UNIT[unit]
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
def format_interval_for_snowflake(interval: str) -> str:
|
|
189
|
-
"""Format an interval string for use in Snowflake SQL.
|
|
190
|
-
|
|
191
|
-
Args:
|
|
192
|
-
interval: Interval string like "1h", "24 hours".
|
|
193
|
-
|
|
194
|
-
Returns:
|
|
195
|
-
Formatted string like "HOUR" or "DAY" for use with DATEADD/TIME_SLICE.
|
|
196
|
-
"""
|
|
197
|
-
_, unit = parse_interval(interval)
|
|
198
|
-
return unit
|
|
199
|
-
|
|
200
90
|
|
|
201
91
|
@dataclass(frozen=True)
|
|
202
92
|
class AggregationSpec:
|
|
@@ -232,9 +122,13 @@ class AggregationSpec:
|
|
|
232
122
|
# Validate window format (allow "lifetime" as special case)
|
|
233
123
|
if not is_lifetime_window(self.window):
|
|
234
124
|
try:
|
|
235
|
-
interval_to_seconds(self.window)
|
|
125
|
+
window_seconds = interval_to_seconds(self.window)
|
|
236
126
|
except ValueError as e:
|
|
237
127
|
raise ValueError(f"Invalid window for aggregation '{self.output_column}': {e}") from e
|
|
128
|
+
if window_seconds <= 0:
|
|
129
|
+
raise ValueError(
|
|
130
|
+
f"Aggregation window must be positive for '{self.output_column}', got: '{self.window}'"
|
|
131
|
+
)
|
|
238
132
|
|
|
239
133
|
# Validate offset format (if not "0")
|
|
240
134
|
# Note: offset is not allowed with lifetime windows
|