snowflake-ml-python 2.4.0__tar.gz → 2.5.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-2.4.0 → snowflake_ml_python-2.5.0}/CHANGELOG.md +28 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/PKG-INFO +31 -4
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/pyproject.toml +1 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/env_utils.py +6 -2
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/file_utils.py +18 -1
- snowflake_ml_python-2.5.0/snowflake/ml/experiment/_entities/run.py +128 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/experiment_tracking.py +8 -10
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/job.py +42 -12
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/lineage/lineage_node.py +9 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/model_version_impl.py +18 -17
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/model_ops.py +12 -19
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/service_ops.py +3 -2
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +53 -33
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/model.py +17 -51
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +3 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +2 -2
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +5 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/optional_dependency.py +6 -30
- {snowflake_ml_python-2.4.0/snowflake/ml/modeling/compose → snowflake_ml_python-2.5.0/snowflake/ml/modeling/calibration}/__init__.py +1 -2
- {snowflake_ml_python-2.4.0/snowflake/ml/modeling/calibration → snowflake_ml_python-2.5.0/snowflake/ml/modeling/cluster}/__init__.py +1 -2
- {snowflake_ml_python-2.4.0/snowflake/ml/modeling/covariance → snowflake_ml_python-2.5.0/snowflake/ml/modeling/compose}/__init__.py +1 -2
- {snowflake_ml_python-2.4.0/snowflake/ml/modeling/cluster → snowflake_ml_python-2.5.0/snowflake/ml/modeling/covariance}/__init__.py +1 -2
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/decomposition/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/discriminant_analysis/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/ensemble/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/feature_selection/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/gaussian_process/__init__.py +15 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/impute/__init__.py +1 -2
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/kernel_approximation/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/kernel_ridge/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/lightgbm/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/linear_model/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/manifold/__init__.py +15 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/__init__.py +2 -3
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/mixture/__init__.py +15 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/model_selection/__init__.py +1 -2
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/multiclass/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/naive_bayes/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/neighbors/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/neural_network/__init__.py +15 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/pipeline/__init__.py +1 -2
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/__init__.py +1 -2
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/semi_supervised/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/svm/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/tree/__init__.py +15 -0
- snowflake_ml_python-2.5.0/snowflake/ml/modeling/xgboost/__init__.py +15 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/registry/_manager/model_manager.py +0 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake_ml_python.egg-info/PKG-INFO +31 -4
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake_ml_python.egg-info/requires.txt +2 -2
- snowflake_ml_python-2.4.0/snowflake/ml/experiment/_entities/run.py +0 -75
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/decomposition/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/ensemble/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/feature_selection/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/gaussian_process/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/lightgbm/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/linear_model/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/manifold/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/mixture/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/multiclass/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/naive_bayes/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/neighbors/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/neural_network/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/semi_supervised/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/svm/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/tree/__init__.py +0 -16
- snowflake_ml_python-2.4.0/snowflake/ml/modeling/xgboost/__init__.py +0 -16
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/README.md +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/setup.cfg +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/_source_info.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/callback/catboost.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/online_service.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/realtime_registration.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/stream_config.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/job_definition.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/_loaded_model_telemetry.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/batch_inference_job_specs.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model/telemetry_params.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model_spec/legacy_model_spec.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model_spec/model_extension_spec.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model_spec/model_extension_spec_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model_spec/model_spec.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/model_spec/model_spec_parser.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/peft_adapter.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/batch_inference/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake_ml_python.egg-info/SOURCES.txt +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 2.
|
|
3
|
+
## 2.5.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* Modeling: The `snowflake.ml.modeling` estimators and preprocessing transformers are not deprecated.
|
|
10
|
+
The `DeprecationWarning` emitted when importing a `snowflake.ml.modeling` subpackage, announced in
|
|
11
|
+
2.0.0, has been removed.
|
|
12
|
+
* ML Jobs: `MLJob.get_logs(verbose=False)` no longer returns container startup and shutdown logs when other log
|
|
13
|
+
lines land between the lines of the job start or end banner.
|
|
14
|
+
* Dependencies: Raised the `fsspec` requirement ceiling from `<2026` to `<2027` so `fsspec`
|
|
15
|
+
2026.6.0, which fixes CVE-2026-104851, can be installed.
|
|
16
|
+
|
|
17
|
+
### Behavior Changes
|
|
18
|
+
|
|
19
|
+
### Deprecations
|
|
20
|
+
|
|
21
|
+
## 2.4.0 (2026-10-06)
|
|
4
22
|
|
|
5
23
|
### New Features
|
|
6
24
|
|
|
7
25
|
* Generic: Support Python 3.14.
|
|
8
26
|
|
|
27
|
+
* Registry: `create_service` now accepts `FeatureGroup` objects in `feature_sources_per_function`
|
|
28
|
+
alongside `FeatureView`s. Snowflake resolves the `FeatureGroup`'s online feature tables at
|
|
29
|
+
deploy time, so callers no longer need to enumerate the underlying feature views manually.
|
|
30
|
+
|
|
9
31
|
* Registry: `FeatureSpec(dtype=DataType.OBJECT)` now accepts schema-free Python dictionaries as a
|
|
10
32
|
model input or output (SQL `OBJECT`). Callers can pass a dict to `ModelVersion.run`, an object
|
|
11
33
|
literal in SQL, or a JSON object over REST, without stringifying to JSON. Use `shape=(-1,)` for
|
|
@@ -20,6 +42,11 @@
|
|
|
20
42
|
* Experiment Tracking: `ExperimentTracking` accepts an optional `warnings_as_errors` parameter. When True,
|
|
21
43
|
conditions that are normally reported as warnings are raised instead.
|
|
22
44
|
|
|
45
|
+
* Experiment Tracking: Experiment runs now appear as first-class objects in lineage. Calling
|
|
46
|
+
`model_version.lineage(direction="upstream", domain_filter={"experiment"})` returns `Run` instances
|
|
47
|
+
with `database_name`, `schema_name`, `experiment_name`, and `name` properties that can be passed straight back
|
|
48
|
+
into experiment tracking.
|
|
49
|
+
|
|
23
50
|
### Bug Fixes
|
|
24
51
|
|
|
25
52
|
### Behavior Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.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:
|
|
@@ -237,7 +237,7 @@ License-File: LICENSE.txt
|
|
|
237
237
|
Requires-Dist: anyio<5,>=3.5.0
|
|
238
238
|
Requires-Dist: cachetools>=3.1.1
|
|
239
239
|
Requires-Dist: cloudpickle>=2.0.0
|
|
240
|
-
Requires-Dist: fsspec[http]<
|
|
240
|
+
Requires-Dist: fsspec[http]<2027,>=2024.6.1
|
|
241
241
|
Requires-Dist: importlib_resources<7,>=6.1.1
|
|
242
242
|
Requires-Dist: jinja2<4,>=3.1.0
|
|
243
243
|
Requires-Dist: numpy<3,>=1.23
|
|
@@ -251,7 +251,7 @@ Requires-Dist: pytimeparse<2,>=1.1.8
|
|
|
251
251
|
Requires-Dist: pyyaml<7,>=6.0
|
|
252
252
|
Requires-Dist: retrying<2,>=1.3.3
|
|
253
253
|
Requires-Dist: snowflake-connector-python[pandas]<5,>=3.17.3
|
|
254
|
-
Requires-Dist: snowflake-snowpark-python<2,>=1.
|
|
254
|
+
Requires-Dist: snowflake-snowpark-python<2,>=1.43.0
|
|
255
255
|
Requires-Dist: sqlparse<1,>=0.4
|
|
256
256
|
Requires-Dist: tqdm<5
|
|
257
257
|
Requires-Dist: typing-extensions<5,>=4.1.0
|
|
@@ -426,12 +426,34 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
426
426
|
|
|
427
427
|
# Release History
|
|
428
428
|
|
|
429
|
-
## 2.
|
|
429
|
+
## 2.5.0
|
|
430
|
+
|
|
431
|
+
### New Features
|
|
432
|
+
|
|
433
|
+
### Bug Fixes
|
|
434
|
+
|
|
435
|
+
* Modeling: The `snowflake.ml.modeling` estimators and preprocessing transformers are not deprecated.
|
|
436
|
+
The `DeprecationWarning` emitted when importing a `snowflake.ml.modeling` subpackage, announced in
|
|
437
|
+
2.0.0, has been removed.
|
|
438
|
+
* ML Jobs: `MLJob.get_logs(verbose=False)` no longer returns container startup and shutdown logs when other log
|
|
439
|
+
lines land between the lines of the job start or end banner.
|
|
440
|
+
* Dependencies: Raised the `fsspec` requirement ceiling from `<2026` to `<2027` so `fsspec`
|
|
441
|
+
2026.6.0, which fixes CVE-2026-104851, can be installed.
|
|
442
|
+
|
|
443
|
+
### Behavior Changes
|
|
444
|
+
|
|
445
|
+
### Deprecations
|
|
446
|
+
|
|
447
|
+
## 2.4.0 (2026-10-06)
|
|
430
448
|
|
|
431
449
|
### New Features
|
|
432
450
|
|
|
433
451
|
* Generic: Support Python 3.14.
|
|
434
452
|
|
|
453
|
+
* Registry: `create_service` now accepts `FeatureGroup` objects in `feature_sources_per_function`
|
|
454
|
+
alongside `FeatureView`s. Snowflake resolves the `FeatureGroup`'s online feature tables at
|
|
455
|
+
deploy time, so callers no longer need to enumerate the underlying feature views manually.
|
|
456
|
+
|
|
435
457
|
* Registry: `FeatureSpec(dtype=DataType.OBJECT)` now accepts schema-free Python dictionaries as a
|
|
436
458
|
model input or output (SQL `OBJECT`). Callers can pass a dict to `ModelVersion.run`, an object
|
|
437
459
|
literal in SQL, or a JSON object over REST, without stringifying to JSON. Use `shape=(-1,)` for
|
|
@@ -446,6 +468,11 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
446
468
|
* Experiment Tracking: `ExperimentTracking` accepts an optional `warnings_as_errors` parameter. When True,
|
|
447
469
|
conditions that are normally reported as warnings are raised instead.
|
|
448
470
|
|
|
471
|
+
* Experiment Tracking: Experiment runs now appear as first-class objects in lineage. Calling
|
|
472
|
+
`model_version.lineage(direction="upstream", domain_filter={"experiment"})` returns `Run` instances
|
|
473
|
+
with `database_name`, `schema_name`, `experiment_name`, and `name` properties that can be passed straight back
|
|
474
|
+
into experiment tracking.
|
|
475
|
+
|
|
449
476
|
### Bug Fixes
|
|
450
477
|
|
|
451
478
|
### Behavior Changes
|
|
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
|
|
|
8
8
|
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
|
|
9
9
|
requires-python = ">=3.10, <3.15"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
|
-
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<
|
|
11
|
+
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<2027", "importlib_resources>=6.1.1, <7", "jinja2>=3.1.0,<4", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "snowflake-connector-python[pandas]>=3.17.3,<5", "snowflake-snowpark-python>=1.43.0,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5",]
|
|
12
12
|
[[project.authors]]
|
|
13
13
|
name = "Snowflake, Inc"
|
|
14
14
|
email = "support@snowflake.com"
|
|
@@ -90,6 +90,9 @@ def _validate_pip_requirement_string(req_str: str) -> requirements.Requirement:
|
|
|
90
90
|
Returns:
|
|
91
91
|
A requirements.Requirement object containing the requirement information.
|
|
92
92
|
"""
|
|
93
|
+
# A requirement string must not carry surrounding whitespace: packaging>=26 accepts only a
|
|
94
|
+
# requirement that ends at the end of the string, so a trailing newline is a parse error.
|
|
95
|
+
req_str = req_str.strip()
|
|
93
96
|
try:
|
|
94
97
|
r = requirements.Requirement(req_str)
|
|
95
98
|
|
|
@@ -780,8 +783,9 @@ def load_requirements_file(path: pathlib.Path) -> list[requirements.Requirement]
|
|
|
780
783
|
with open(path, encoding="utf-8") as f:
|
|
781
784
|
reqs = f.readlines()
|
|
782
785
|
|
|
783
|
-
#
|
|
784
|
-
|
|
786
|
+
# "-" lines are pip options (e.g. --extra-index-url) and "#" lines are comments; neither is a
|
|
787
|
+
# requirement. Strip as well, since a requirement string must not keep readlines()' newline.
|
|
788
|
+
reqs = [stripped for line in reqs if (stripped := line.strip()) and not stripped.startswith(("-", "#"))]
|
|
785
789
|
|
|
786
790
|
return validate_pip_requirement_string_list(reqs)
|
|
787
791
|
|
{snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/_internal/file_utils.py
RENAMED
|
@@ -120,7 +120,21 @@ def make_archive(
|
|
|
120
120
|
)
|
|
121
121
|
|
|
122
122
|
|
|
123
|
-
def zip_python_package(
|
|
123
|
+
def zip_python_package(
|
|
124
|
+
zipfile_path: str,
|
|
125
|
+
package_name: str,
|
|
126
|
+
ignore_generated_py_file: bool = True,
|
|
127
|
+
*,
|
|
128
|
+
exclude_dir_names: tuple[str, ...] = (),
|
|
129
|
+
) -> None:
|
|
130
|
+
"""Zip an imported Python package.
|
|
131
|
+
|
|
132
|
+
Args:
|
|
133
|
+
zipfile_path: Destination zip path.
|
|
134
|
+
package_name: Dotted package name to zip.
|
|
135
|
+
ignore_generated_py_file: When True, omit generated bytecode and stub files.
|
|
136
|
+
exclude_dir_names: Directory names to omit anywhere in the package. The directory entry itself is not written.
|
|
137
|
+
"""
|
|
124
138
|
import importlib_resources
|
|
125
139
|
from importlib_resources import abc as importlib_resources_abc
|
|
126
140
|
|
|
@@ -131,6 +145,7 @@ def zip_python_package(zipfile_path: str, package_name: str, ignore_generated_py
|
|
|
131
145
|
|
|
132
146
|
base_dirs = package_name.split(".")
|
|
133
147
|
assert len(base_dirs) >= 1, "Invalid package name."
|
|
148
|
+
excluded_dirs = set(exclude_dir_names)
|
|
134
149
|
|
|
135
150
|
with zipfile.ZipFile(zipfile_path, mode="w", compression=zipfile.ZIP_DEFLATED) as zf:
|
|
136
151
|
for i in range(len(base_dirs)):
|
|
@@ -141,6 +156,8 @@ def zip_python_package(zipfile_path: str, package_name: str, ignore_generated_py
|
|
|
141
156
|
def _add_to_zip(
|
|
142
157
|
zf: zipfile.ZipFile, path_info: importlib_resources_abc.Traversable, base_arcname: pathlib.PurePosixPath
|
|
143
158
|
) -> None:
|
|
159
|
+
if path_info.name in excluded_dirs:
|
|
160
|
+
return
|
|
144
161
|
if path_info.is_file():
|
|
145
162
|
if ignore_generated_py_file and path_info.name.endswith(GENERATED_PY_FILE_EXT):
|
|
146
163
|
return
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import types
|
|
2
|
+
import warnings
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from snowflake import snowpark
|
|
6
|
+
from snowflake.ml._internal.utils import identifier, sql_identifier
|
|
7
|
+
from snowflake.ml.experiment import _experiment_info as experiment_info
|
|
8
|
+
from snowflake.ml.experiment._entities import run_metadata
|
|
9
|
+
from snowflake.ml.lineage import lineage_node
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from snowflake.ml.experiment import experiment_tracking
|
|
13
|
+
|
|
14
|
+
METADATA_SIZE_WARNING_MESSAGE = "It is likely that no further metrics or parameters will be logged for this run."
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Run(lineage_node.LineageNode):
|
|
18
|
+
"""An experiment run.
|
|
19
|
+
|
|
20
|
+
When created by ``ExperimentTracking.start_run``, the run is an active context manager that
|
|
21
|
+
patches model logging and ends the run on exit. When returned by the lineage system
|
|
22
|
+
(``model_version.lineage(direction="upstream", domain_filter={"experiment"})``), it is a
|
|
23
|
+
read-only handle exposing the identifiers needed to look up metrics and parameters.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def __init__(
|
|
27
|
+
self,
|
|
28
|
+
experiment_tracking: "experiment_tracking.ExperimentTracking | None" = None,
|
|
29
|
+
*,
|
|
30
|
+
experiment_name: sql_identifier.SqlIdentifier,
|
|
31
|
+
run_name: sql_identifier.SqlIdentifier,
|
|
32
|
+
session: snowpark.Session | None = None,
|
|
33
|
+
database_name: str | None = None,
|
|
34
|
+
schema_name: str | None = None,
|
|
35
|
+
) -> None:
|
|
36
|
+
self._experiment_tracking = experiment_tracking
|
|
37
|
+
self.experiment_name = experiment_name
|
|
38
|
+
self.name = run_name
|
|
39
|
+
|
|
40
|
+
# Whether we've already shown the user a warning about exceeding the run metadata size limit.
|
|
41
|
+
self._warned_about_metadata_size = False
|
|
42
|
+
|
|
43
|
+
if experiment_tracking is not None:
|
|
44
|
+
_session = experiment_tracking._session
|
|
45
|
+
self.database_name = str(experiment_tracking._database_name)
|
|
46
|
+
self.schema_name = str(experiment_tracking._schema_name)
|
|
47
|
+
else:
|
|
48
|
+
if session is None or database_name is None or schema_name is None:
|
|
49
|
+
raise ValueError(
|
|
50
|
+
"session, database_name, and schema_name are required when experiment_tracking is None"
|
|
51
|
+
)
|
|
52
|
+
_session = session
|
|
53
|
+
self.database_name = database_name
|
|
54
|
+
self.schema_name = schema_name
|
|
55
|
+
|
|
56
|
+
self._patcher = experiment_info.ExperimentInfoPatcher(
|
|
57
|
+
experiment_info=self._get_experiment_info(),
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
# A run is modelled in lineage as a version of its experiment, so the node name is the experiment's.
|
|
61
|
+
super().__init__(
|
|
62
|
+
session=_session,
|
|
63
|
+
name=self._fully_qualified_experiment_name(),
|
|
64
|
+
domain="experiment",
|
|
65
|
+
version=str(run_name),
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
def __enter__(self) -> "Run":
|
|
69
|
+
self._patcher.__enter__()
|
|
70
|
+
return self
|
|
71
|
+
|
|
72
|
+
def __exit__(
|
|
73
|
+
self,
|
|
74
|
+
exc_type: type[BaseException] | None,
|
|
75
|
+
exc_value: BaseException | None,
|
|
76
|
+
tb: types.TracebackType | None,
|
|
77
|
+
) -> None:
|
|
78
|
+
self._patcher.__exit__(exc_type, exc_value, tb)
|
|
79
|
+
if self._experiment_tracking is not None and self._experiment_tracking._run is self:
|
|
80
|
+
if exc_type is not None:
|
|
81
|
+
self._experiment_tracking._try_log_exception(exc_type, exc_value, tb)
|
|
82
|
+
self._experiment_tracking.end_run(status=run_metadata.RunStatus.FAILED.value)
|
|
83
|
+
else:
|
|
84
|
+
self._experiment_tracking.end_run()
|
|
85
|
+
|
|
86
|
+
def _fully_qualified_experiment_name(self) -> str:
|
|
87
|
+
return sql_identifier.get_fully_qualified_name(self.database_name, self.schema_name, self.experiment_name)
|
|
88
|
+
|
|
89
|
+
def _get_experiment_info(self) -> experiment_info.ExperimentInfo:
|
|
90
|
+
return experiment_info.ExperimentInfo(
|
|
91
|
+
fully_qualified_name=self._fully_qualified_experiment_name(),
|
|
92
|
+
run_name=self.name.identifier(),
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
def _handle_run_metadata_size_limit(self, sql_error_msg: str) -> None:
|
|
96
|
+
"""Report that run metadata exceeded the size limit.
|
|
97
|
+
|
|
98
|
+
Args:
|
|
99
|
+
sql_error_msg: The error message returned by Snowflake.
|
|
100
|
+
|
|
101
|
+
Raises:
|
|
102
|
+
RuntimeWarning: If the experiment tracking instance was created with warnings_as_errors=True.
|
|
103
|
+
"""
|
|
104
|
+
message = f"{sql_error_msg}. {METADATA_SIZE_WARNING_MESSAGE}"
|
|
105
|
+
if self._experiment_tracking is not None and self._experiment_tracking._warnings_as_errors:
|
|
106
|
+
raise RuntimeWarning(message)
|
|
107
|
+
# Once the limit is hit every subsequent log attempt fails the same way, so warn only once.
|
|
108
|
+
if not self._warned_about_metadata_size:
|
|
109
|
+
warnings.warn(message, RuntimeWarning, stacklevel=2)
|
|
110
|
+
self._warned_about_metadata_size = True
|
|
111
|
+
|
|
112
|
+
@staticmethod
|
|
113
|
+
def _load_from_lineage_node(
|
|
114
|
+
session: snowpark.Session,
|
|
115
|
+
name: str,
|
|
116
|
+
version: str,
|
|
117
|
+
) -> "Run":
|
|
118
|
+
database_name, schema_name, experiment_name = identifier.parse_schema_level_object_identifier(name)
|
|
119
|
+
return Run(
|
|
120
|
+
experiment_name=sql_identifier.SqlIdentifier(experiment_name),
|
|
121
|
+
run_name=sql_identifier.SqlIdentifier(version),
|
|
122
|
+
session=session,
|
|
123
|
+
database_name=database_name,
|
|
124
|
+
schema_name=schema_name,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
lineage_node.DOMAIN_LINEAGE_REGISTRY["experiment"] = Run
|
|
@@ -25,7 +25,6 @@ from snowflake.ml.experiment._client import (
|
|
|
25
25
|
experiment_tracking_sql_client as sql_client,
|
|
26
26
|
)
|
|
27
27
|
from snowflake.ml.experiment._entities import run_metadata
|
|
28
|
-
from snowflake.ml.lineage import lineage_node
|
|
29
28
|
from snowflake.ml.model import type_hints
|
|
30
29
|
from snowflake.ml.utils import sql_client as sql_client_utils
|
|
31
30
|
from snowflake.snowpark import functions
|
|
@@ -328,15 +327,14 @@ class ExperimentTracking:
|
|
|
328
327
|
else:
|
|
329
328
|
raise RuntimeError("No run is active. Please provide a run_name or start a run.")
|
|
330
329
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
)
|
|
330
|
+
if self._run and self._run.name == resolved_run_name:
|
|
331
|
+
run_node = self._run
|
|
332
|
+
else:
|
|
333
|
+
run_node = entities.Run(
|
|
334
|
+
experiment_tracking=self,
|
|
335
|
+
experiment_name=self._experiment.name,
|
|
336
|
+
run_name=resolved_run_name,
|
|
337
|
+
)
|
|
340
338
|
logged_models = run_node.lineage(direction="downstream", domain_filter={"model"})
|
|
341
339
|
return [model for model in logged_models if isinstance(model, ml_model.ModelVersion)]
|
|
342
340
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import bisect
|
|
1
2
|
import json
|
|
2
3
|
import logging
|
|
3
4
|
import os
|
|
@@ -583,20 +584,49 @@ def _get_logs(
|
|
|
583
584
|
if verbose:
|
|
584
585
|
return full_log
|
|
585
586
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
if start_idx != -1:
|
|
589
|
-
start_idx += len(constants.LOG_START_MSG)
|
|
590
|
-
else:
|
|
591
|
-
# If start message not found, start from the beginning
|
|
592
|
-
start_idx = 0
|
|
587
|
+
return _extract_payload_logs(full_log)
|
|
588
|
+
|
|
593
589
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
# If end message not found, return everything after start
|
|
597
|
-
end_idx = len(full_log)
|
|
590
|
+
def _extract_payload_logs(full_log: str) -> str:
|
|
591
|
+
"""Return the payload output between the LOG_START_MSG and LOG_END_MSG banners.
|
|
598
592
|
|
|
599
|
-
|
|
593
|
+
A banner is a separator line, the marker line, and a separator line, in that order. Other
|
|
594
|
+
lines may sit between those parts because the job log interleaves stdout with stderr. The
|
|
595
|
+
first start banner and the last end banner after it are used, so marker text that the payload
|
|
596
|
+
prints before the launcher's end banner is kept as output.
|
|
597
|
+
|
|
598
|
+
Args:
|
|
599
|
+
full_log: The complete job log.
|
|
600
|
+
|
|
601
|
+
Returns:
|
|
602
|
+
The log lines between the banners, stripped of surrounding whitespace.
|
|
603
|
+
"""
|
|
604
|
+
separator, start_marker, _ = constants.LOG_START_MSG.split("\n")
|
|
605
|
+
end_marker = constants.LOG_END_MSG.split("\n")[1]
|
|
606
|
+
lines = full_log.splitlines(keepends=True)
|
|
607
|
+
separators = [i for i, line in enumerate(lines) if line.strip() == separator]
|
|
608
|
+
|
|
609
|
+
def banners(marker: str) -> list[tuple[int, int]]:
|
|
610
|
+
"""Return the (opening, closing) separator indices of every banner for ``marker``."""
|
|
611
|
+
found = []
|
|
612
|
+
for i, line in enumerate(lines):
|
|
613
|
+
if line.strip() != marker:
|
|
614
|
+
continue
|
|
615
|
+
opening_idx = bisect.bisect_left(separators, i) - 1
|
|
616
|
+
closing_idx = bisect.bisect_right(separators, i)
|
|
617
|
+
if opening_idx >= 0 and closing_idx < len(separators):
|
|
618
|
+
found.append((separators[opening_idx], separators[closing_idx]))
|
|
619
|
+
return found
|
|
620
|
+
|
|
621
|
+
# If start message not found, start from the beginning
|
|
622
|
+
start_banners = banners(start_marker)
|
|
623
|
+
start = start_banners[0][1] + 1 if start_banners else 0
|
|
624
|
+
|
|
625
|
+
# If end message not found, return everything after start
|
|
626
|
+
end_banners = [banner for banner in banners(end_marker) if banner[0] >= start]
|
|
627
|
+
end = end_banners[-1][0] if end_banners else len(lines)
|
|
628
|
+
|
|
629
|
+
return "".join(lines[start:end]).strip()
|
|
600
630
|
|
|
601
631
|
|
|
602
632
|
def _read_instance_record(session: snowpark.Session, result_path: str, instance_id: int) -> dict[str, Any] | None:
|
{snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/lineage/lineage_node.py
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import importlib
|
|
1
2
|
import json
|
|
2
3
|
from datetime import datetime
|
|
3
4
|
from typing import TYPE_CHECKING, Literal, Union
|
|
@@ -86,7 +87,7 @@ class LineageNode(mixins.SerializableSessionMixin):
|
|
|
86
87
|
def lineage(
|
|
87
88
|
self,
|
|
88
89
|
direction: Literal["upstream", "downstream"] = "downstream",
|
|
89
|
-
domain_filter: set[Literal["feature_view", "dataset", "model", "table", "view"]] | None = None,
|
|
90
|
+
domain_filter: set[Literal["feature_view", "dataset", "model", "table", "view", "experiment"]] | None = None,
|
|
90
91
|
) -> list[Union["feature_view.FeatureView", "dataset.Dataset", "ModelVersion", "LineageNode"]]:
|
|
91
92
|
"""
|
|
92
93
|
Retrieves the lineage nodes connected to this node.
|
|
@@ -122,6 +123,13 @@ class LineageNode(mixins.SerializableSessionMixin):
|
|
|
122
123
|
for s in identifier.parse_schema_level_object_identifier(lineage_object["name"])
|
|
123
124
|
if s is not None
|
|
124
125
|
)
|
|
126
|
+
if domain not in DOMAIN_LINEAGE_REGISTRY:
|
|
127
|
+
match domain:
|
|
128
|
+
case "experiment":
|
|
129
|
+
try:
|
|
130
|
+
importlib.import_module("snowflake.ml.experiment._entities.run")
|
|
131
|
+
except ImportError:
|
|
132
|
+
pass
|
|
125
133
|
if domain in DOMAIN_LINEAGE_REGISTRY and lineage_object["status"] == "ACTIVE":
|
|
126
134
|
lineage_nodes.append(
|
|
127
135
|
DOMAIN_LINEAGE_REGISTRY[domain]._load_from_lineage_node(
|
|
@@ -10,7 +10,7 @@ import pandas as pd
|
|
|
10
10
|
from snowflake.ml._internal import platform_capabilities, telemetry
|
|
11
11
|
from snowflake.ml._internal.exceptions import error_codes, exceptions
|
|
12
12
|
from snowflake.ml._internal.utils import sql_identifier
|
|
13
|
-
from snowflake.ml.feature_store import feature_view
|
|
13
|
+
from snowflake.ml.feature_store import feature_group, feature_view
|
|
14
14
|
from snowflake.ml.jobs import job
|
|
15
15
|
from snowflake.ml.lineage import lineage_node
|
|
16
16
|
from snowflake.ml.model import inference_engine, openai_signatures, task, type_hints
|
|
@@ -163,14 +163,13 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
163
163
|
service_ops: service_ops.ServiceOperator,
|
|
164
164
|
model_name: sql_identifier.SqlIdentifier,
|
|
165
165
|
version_name: sql_identifier.SqlIdentifier,
|
|
166
|
-
retry: bool | None = False,
|
|
167
166
|
) -> "ModelVersion":
|
|
168
167
|
self: "ModelVersion" = object.__new__(cls)
|
|
169
168
|
self._model_ops = model_ops
|
|
170
169
|
self._service_ops = service_ops
|
|
171
170
|
self._model_name = model_name
|
|
172
171
|
self._version_name = version_name
|
|
173
|
-
self._functions = self._get_functions(
|
|
172
|
+
self._functions = self._get_functions()
|
|
174
173
|
self._model_spec = None
|
|
175
174
|
self._target_platforms = None
|
|
176
175
|
super(cls, cls).__init__(
|
|
@@ -419,7 +418,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
419
418
|
statement_params=statement_params,
|
|
420
419
|
)
|
|
421
420
|
|
|
422
|
-
def _get_functions(self
|
|
421
|
+
def _get_functions(self) -> list[model_manifest_schema.ModelFunctionInfo]:
|
|
423
422
|
statement_params = telemetry.get_statement_params(
|
|
424
423
|
project=_TELEMETRY_PROJECT,
|
|
425
424
|
subproject=_TELEMETRY_SUBPROJECT,
|
|
@@ -430,7 +429,6 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
430
429
|
model_name=self._model_name,
|
|
431
430
|
version_name=self._version_name,
|
|
432
431
|
statement_params=statement_params,
|
|
433
|
-
**({"retry": True} if retry else {}),
|
|
434
432
|
)
|
|
435
433
|
|
|
436
434
|
@telemetry.send_api_usage_telemetry(
|
|
@@ -1414,7 +1412,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1414
1412
|
autocapture: bool | None = None,
|
|
1415
1413
|
inference_engine_options: dict[str, Any] | None = None,
|
|
1416
1414
|
experimental_options: dict[str, Any] | None = None,
|
|
1417
|
-
feature_sources_per_function: dict[str, list[feature_view.FeatureView
|
|
1415
|
+
feature_sources_per_function: dict[str, list[feature_view.FeatureView | feature_group.FeatureGroup]]
|
|
1416
|
+
| None = None,
|
|
1418
1417
|
adapters: dict[str, "ModelVersion"] | list["ModelVersion"] | None = None,
|
|
1419
1418
|
) -> str | async_job.AsyncJob:
|
|
1420
1419
|
"""Create an inference service with the given spec.
|
|
@@ -1460,9 +1459,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1460
1459
|
`engine_args_override` is a list of string arguments to pass to the inference engine.
|
|
1461
1460
|
experimental_options: Experimental options for the service creation.
|
|
1462
1461
|
feature_sources_per_function: Optional mapping from model function name (e.g. ``"predict"``) to the list of
|
|
1463
|
-
registered :class:`FeatureView` objects whose columns should be looked up at
|
|
1464
|
-
service will fetch any missing feature columns from these sources before
|
|
1465
|
-
only one
|
|
1462
|
+
registered :class:`FeatureView` or :class:`FeatureGroup` objects whose columns should be looked up at
|
|
1463
|
+
inference time. The model service will fetch any missing feature columns from these sources before
|
|
1464
|
+
invoking the model. Currently only one source per function is supported.
|
|
1466
1465
|
adapters: Optional mapping from service alias (``model =>`` / REST ``params.model``) to adapter
|
|
1467
1466
|
:class:`ModelVersion` objects, or a list of adapter versions. Dict keys become ``alias`` on each
|
|
1468
1467
|
emitted list item. A nonempty list and adapter-as-target omit ``alias`` (GS defaults each to
|
|
@@ -1492,7 +1491,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1492
1491
|
autocapture: bool | None = None,
|
|
1493
1492
|
inference_engine_options: dict[str, Any] | None = None,
|
|
1494
1493
|
experimental_options: dict[str, Any] | None = None,
|
|
1495
|
-
feature_sources_per_function: dict[str, list[feature_view.FeatureView
|
|
1494
|
+
feature_sources_per_function: dict[str, list[feature_view.FeatureView | feature_group.FeatureGroup]]
|
|
1495
|
+
| None = None,
|
|
1496
1496
|
adapters: dict[str, "ModelVersion"] | list["ModelVersion"] | None = None,
|
|
1497
1497
|
) -> str | async_job.AsyncJob:
|
|
1498
1498
|
"""Create an inference service with the given spec.
|
|
@@ -1538,9 +1538,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1538
1538
|
`engine_args_override` is a list of string arguments to pass to the inference engine.
|
|
1539
1539
|
experimental_options: Experimental options for the service creation.
|
|
1540
1540
|
feature_sources_per_function: Optional mapping from model function name (e.g. ``"predict"``) to the list of
|
|
1541
|
-
registered :class:`FeatureView` objects whose columns should be looked up at
|
|
1542
|
-
service will fetch any missing feature columns from these sources before
|
|
1543
|
-
only one
|
|
1541
|
+
registered :class:`FeatureView` or :class:`FeatureGroup` objects whose columns should be looked up at
|
|
1542
|
+
inference time. The model service will fetch any missing feature columns from these sources before
|
|
1543
|
+
invoking the model. Currently only one source per function is supported.
|
|
1544
1544
|
adapters: Optional mapping from service alias (``model =>`` / REST ``params.model``) to adapter
|
|
1545
1545
|
:class:`ModelVersion` objects, or a list of adapter versions. Dict keys become ``alias`` on each
|
|
1546
1546
|
emitted list item. A nonempty list and adapter-as-target omit ``alias`` (GS defaults each to
|
|
@@ -1575,7 +1575,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1575
1575
|
autocapture: bool | None = None,
|
|
1576
1576
|
inference_engine_options: dict[str, Any] | None = None,
|
|
1577
1577
|
experimental_options: dict[str, Any] | None = None,
|
|
1578
|
-
feature_sources_per_function: dict[str, list[feature_view.FeatureView
|
|
1578
|
+
feature_sources_per_function: dict[str, list[feature_view.FeatureView | feature_group.FeatureGroup]]
|
|
1579
|
+
| None = None,
|
|
1579
1580
|
adapters: dict[str, "ModelVersion"] | list["ModelVersion"] | None = None,
|
|
1580
1581
|
) -> str | async_job.AsyncJob:
|
|
1581
1582
|
"""Create an inference service with the given spec.
|
|
@@ -1623,9 +1624,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
1623
1624
|
`engine_args_override` is a list of string arguments to pass to the inference engine.
|
|
1624
1625
|
experimental_options: Experimental options for the service creation.
|
|
1625
1626
|
feature_sources_per_function: Optional mapping from model function name (e.g. ``"predict"``) to the list of
|
|
1626
|
-
registered :class:`FeatureView` objects whose columns should be looked up at
|
|
1627
|
-
service will fetch any missing feature columns from these sources before
|
|
1628
|
-
only one
|
|
1627
|
+
registered :class:`FeatureView` or :class:`FeatureGroup` objects whose columns should be looked up at
|
|
1628
|
+
inference time. The model service will fetch any missing feature columns from these sources before
|
|
1629
|
+
invoking the model. Currently only one source per function is supported.
|
|
1629
1630
|
adapters: Optional mapping from service alias (``model =>`` / REST ``params.model``) to adapter
|
|
1630
1631
|
:class:`ModelVersion` objects, or a list of adapter versions. Dict keys become ``alias`` on each
|
|
1631
1632
|
emitted list item. A nonempty list and adapter-as-target omit ``alias`` (GS defaults each to
|
{snowflake_ml_python-2.4.0 → snowflake_ml_python-2.5.0}/snowflake/ml/model/_client/ops/model_ops.py
RENAMED
|
@@ -59,7 +59,9 @@ class ServiceInfo(TypedDict):
|
|
|
59
59
|
|
|
60
60
|
class ModelOperator:
|
|
61
61
|
INFERENCE_SERVICE_ENDPOINT_NAME = "inference"
|
|
62
|
-
|
|
62
|
+
# Accounts on the per-account public URL policy get a URL under "snowflake.app"; the others keep
|
|
63
|
+
# the original "snowflakecomputing.app". Both are live, so both have to be accepted.
|
|
64
|
+
INGRESS_ENDPOINT_URL_SUFFIXES = ("snowflakecomputing.app", "snowflake.app")
|
|
63
65
|
# app-service-privatelink might not contain "snowflakecomputing" in the url - using the minimum required substring
|
|
64
66
|
PRIVATELINK_INGRESS_ENDPOINT_URL_SUBSTRING = "privatelink.snowflake"
|
|
65
67
|
|
|
@@ -706,7 +708,7 @@ class ModelOperator:
|
|
|
706
708
|
if url_value is None:
|
|
707
709
|
return None
|
|
708
710
|
url_str = str(url_value)
|
|
709
|
-
return url_str if url_str.endswith(ModelOperator.
|
|
711
|
+
return url_str if url_str.endswith(ModelOperator.INGRESS_ENDPOINT_URL_SUFFIXES) else None
|
|
710
712
|
|
|
711
713
|
def _extract_and_validate_privatelink_url(self, res_row: "row.Row") -> str | None:
|
|
712
714
|
"""Extract and validate privatelink ingress URL from endpoint row."""
|
|
@@ -908,7 +910,6 @@ class ModelOperator:
|
|
|
908
910
|
model_name: sql_identifier.SqlIdentifier,
|
|
909
911
|
version_name: sql_identifier.SqlIdentifier,
|
|
910
912
|
statement_params: dict[str, Any] | None = None,
|
|
911
|
-
retry: bool | None = False,
|
|
912
913
|
) -> tuple[model_spec.ModelSpec, list[str] | None]:
|
|
913
914
|
"""Fetch both model spec and target platforms from a single SQL query.
|
|
914
915
|
|
|
@@ -918,23 +919,19 @@ class ModelOperator:
|
|
|
918
919
|
model_name: The model name.
|
|
919
920
|
version_name: The version name.
|
|
920
921
|
statement_params: Optional dictionary of statement parameters.
|
|
921
|
-
retry: If True, retry SHOW VERSIONS when the version row is not yet visible.
|
|
922
922
|
|
|
923
923
|
Returns:
|
|
924
924
|
A tuple of (model_spec, target_platforms) where target_platforms is a list of
|
|
925
925
|
platform strings (e.g., ["WAREHOUSE"]) or None if not available.
|
|
926
926
|
"""
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
if retry:
|
|
936
|
-
show_versions_kwargs["retry"] = True
|
|
937
|
-
version_row = self._model_client.show_versions(**show_versions_kwargs)[0]
|
|
927
|
+
version_row = self._model_client.show_versions(
|
|
928
|
+
database_name=database_name,
|
|
929
|
+
schema_name=schema_name,
|
|
930
|
+
model_name=model_name,
|
|
931
|
+
version_name=version_name,
|
|
932
|
+
check_model_details=True,
|
|
933
|
+
statement_params={**(statement_params or {}), "SHOW_MODEL_DETAILS_IN_SHOW_VERSIONS_IN_MODEL": True},
|
|
934
|
+
)[0]
|
|
938
935
|
|
|
939
936
|
# Extract model spec
|
|
940
937
|
raw_model_spec_res = version_row[self._model_client.MODEL_VERSION_MODEL_SPEC_COL_NAME]
|
|
@@ -958,7 +955,6 @@ class ModelOperator:
|
|
|
958
955
|
model_name: sql_identifier.SqlIdentifier,
|
|
959
956
|
version_name: sql_identifier.SqlIdentifier,
|
|
960
957
|
statement_params: dict[str, Any] | None = None,
|
|
961
|
-
retry: bool | None = False,
|
|
962
958
|
) -> model_spec.ModelSpec:
|
|
963
959
|
parsed_model_spec, _ = self._fetch_model_spec_and_target_platforms(
|
|
964
960
|
database_name=database_name,
|
|
@@ -966,7 +962,6 @@ class ModelOperator:
|
|
|
966
962
|
model_name=model_name,
|
|
967
963
|
version_name=version_name,
|
|
968
964
|
statement_params=statement_params,
|
|
969
|
-
**({"retry": True} if retry else {}),
|
|
970
965
|
)
|
|
971
966
|
return parsed_model_spec
|
|
972
967
|
|
|
@@ -1214,7 +1209,6 @@ class ModelOperator:
|
|
|
1214
1209
|
model_name: sql_identifier.SqlIdentifier,
|
|
1215
1210
|
version_name: sql_identifier.SqlIdentifier,
|
|
1216
1211
|
statement_params: dict[str, Any] | None = None,
|
|
1217
|
-
retry: bool | None = False,
|
|
1218
1212
|
) -> list[model_manifest_schema.ModelFunctionInfo]:
|
|
1219
1213
|
parsed_model_spec = self._fetch_model_spec(
|
|
1220
1214
|
database_name=database_name,
|
|
@@ -1222,7 +1216,6 @@ class ModelOperator:
|
|
|
1222
1216
|
model_name=model_name,
|
|
1223
1217
|
version_name=version_name,
|
|
1224
1218
|
statement_params=statement_params,
|
|
1225
|
-
**({"retry": True} if retry else {}),
|
|
1226
1219
|
)
|
|
1227
1220
|
show_functions_res = self._model_version_client.show_functions(
|
|
1228
1221
|
database_name=database_name,
|