snowflake-ml-python 1.7.1__tar.gz → 1.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/CHANGELOG.md +15 -1
- {snowflake_ml_python-1.7.1/snowflake_ml_python.egg-info → snowflake_ml_python-1.7.2}/PKG-INFO +46 -8
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/README.md +29 -6
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/pyproject.toml +1 -1
- snowflake_ml_python-1.7.2/snowflake/ml/_internal/utils/jwt_generator.py +141 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/model/model_version_impl.py +19 -5
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/service_ops.py +12 -7
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/stage.py +1 -1
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/sklearn.py +2 -0
- snowflake_ml_python-1.7.2/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +2 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/utils.py +0 -1
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +1 -166
- snowflake_ml_python-1.7.2/snowflake/ml/monitoring/entities/model_monitor_config.py +54 -0
- snowflake_ml_python-1.7.2/snowflake/ml/monitoring/model_monitor.py +52 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/registry.py +12 -12
- snowflake_ml_python-1.7.2/snowflake/ml/utils/authentication.py +75 -0
- snowflake_ml_python-1.7.2/snowflake/ml/version.py +1 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2/snowflake_ml_python.egg-info}/PKG-INFO +46 -8
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/SOURCES.txt +2 -1
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/requires.txt +1 -0
- snowflake_ml_python-1.7.1/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -2
- snowflake_ml_python-1.7.1/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -28
- snowflake_ml_python-1.7.1/snowflake/ml/monitoring/entities/output_score_type.py +0 -90
- snowflake_ml_python-1.7.1/snowflake/ml/monitoring/model_monitor.py +0 -37
- snowflake_ml_python-1.7.1/snowflake/ml/version.py +0 -1
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/setup.cfg +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/retryable_http.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/parquet_parser.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/tf_dataset.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/fileset/torch_datapipe.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/_packaging_requirements.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/constants.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +9 -9
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/model_monitor_version.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake_ml_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,20 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
-
## 1.7.
|
3
|
+
## 1.7.2
|
4
|
+
|
5
|
+
### Bug Fixes
|
6
|
+
|
7
|
+
- Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
|
8
|
+
whose task is UNKNOWN and fails later when invoked.
|
9
|
+
|
10
|
+
### Behavior Changes
|
11
|
+
|
12
|
+
### New Features
|
13
|
+
|
14
|
+
- Registry: Support asynchronous model inference service creation with the `block` option
|
15
|
+
in `ModelVersion.create_service()` set to True by default.
|
16
|
+
|
17
|
+
## 1.7.1 (2024-11-05)
|
4
18
|
|
5
19
|
### Bug Fixes
|
6
20
|
|
{snowflake_ml_python-1.7.1/snowflake_ml_python.egg-info → snowflake_ml_python-1.7.2}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.7.
|
3
|
+
Version: 1.7.2
|
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:
|
@@ -243,6 +243,7 @@ Requires-Dist: numpy<2,>=1.23
|
|
243
243
|
Requires-Dist: packaging<25,>=20.9
|
244
244
|
Requires-Dist: pandas<3,>=1.0.0
|
245
245
|
Requires-Dist: pyarrow
|
246
|
+
Requires-Dist: pyjwt<3,>=2.0.0
|
246
247
|
Requires-Dist: pytimeparse<2,>=1.1.8
|
247
248
|
Requires-Dist: pyyaml<7,>=6.0
|
248
249
|
Requires-Dist: retrying<2,>=1.3.3
|
@@ -302,7 +303,7 @@ and deployment process, and includes two key components.
|
|
302
303
|
|
303
304
|
### Snowpark ML Development
|
304
305
|
|
305
|
-
[Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#
|
306
|
+
[Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#ml-modeling)
|
306
307
|
provides a collection of python APIs enabling efficient ML model development directly in Snowflake:
|
307
308
|
|
308
309
|
1. Modeling API (`snowflake.ml.modeling`) for data preprocessing, feature engineering and model training in Snowflake.
|
@@ -316,14 +317,21 @@ their native data loader formats.
|
|
316
317
|
1. FileSet API: FileSet provides a Python fsspec-compliant API for materializing data into a Snowflake internal stage
|
317
318
|
from a query or Snowpark Dataframe along with a number of convenience APIs.
|
318
319
|
|
319
|
-
###
|
320
|
+
### Snowflake MLOps
|
320
321
|
|
321
|
-
|
322
|
-
the Snowpark ML Development API, and provides
|
322
|
+
Snowflake MLOps contains suit of tools and objects to make ML development cycle. It complements
|
323
|
+
the Snowpark ML Development API, and provides end to end development to deployment within Snowflake.
|
323
324
|
Currently, the API consists of:
|
324
325
|
|
325
|
-
1. Registry: A python API
|
326
|
-
|
326
|
+
1. [Registry](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-model-registry): A python API
|
327
|
+
allows secure deployment and management of models in Snowflake, supporting models trained both inside and outside of
|
328
|
+
Snowflake.
|
329
|
+
2. [Feature Store](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-feature-store): A fully
|
330
|
+
integrated solution for defining, managing, storing and discovering ML features derived from your data. The
|
331
|
+
Snowflake Feature Store supports automated, incremental refresh from batch and streaming data sources, so that
|
332
|
+
feature pipelines need be defined only once to be continuously updated with new data.
|
333
|
+
3. [Datasets](https://docs.snowflake.com/developer-guide/snowflake-ml/overview#snowflake-datasets): Dataset provide an
|
334
|
+
immutable, versioned snapshot of your data suitable for ingestion by your machine learning models.
|
327
335
|
|
328
336
|
## Getting started
|
329
337
|
|
@@ -371,9 +379,39 @@ conda install \
|
|
371
379
|
Note that until a `snowflake-ml-python` package version is available in the official Snowflake conda channel, there may
|
372
380
|
be compatibility issues. Server-side functionality that `snowflake-ml-python` depends on may not yet be released.
|
373
381
|
|
382
|
+
### Verifying the package
|
383
|
+
|
384
|
+
1. Install cosign.
|
385
|
+
This example is using golang installation: [installing-cosign-with-go](https://edu.chainguard.dev/open-source/sigstore/cosign/how-to-install-cosign/#installing-cosign-with-go).
|
386
|
+
1. Download the file from the repository like [pypi](https://pypi.org/project/snowflake-ml-python/#files).
|
387
|
+
1. Download the signature files from the [release tag](https://github.com/snowflakedb/snowflake-ml-python/releases/tag/1.7.0).
|
388
|
+
1. Verify signature on projects signed using Jenkins job:
|
389
|
+
|
390
|
+
```sh
|
391
|
+
cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0.tar.gz.sig
|
392
|
+
|
393
|
+
cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0
|
394
|
+
```
|
395
|
+
|
396
|
+
NOTE: Version 1.7.0 is used as example here. Please choose the the latest version.
|
397
|
+
|
374
398
|
# Release History
|
375
399
|
|
376
|
-
## 1.7.
|
400
|
+
## 1.7.2
|
401
|
+
|
402
|
+
### Bug Fixes
|
403
|
+
|
404
|
+
- Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
|
405
|
+
whose task is UNKNOWN and fails later when invoked.
|
406
|
+
|
407
|
+
### Behavior Changes
|
408
|
+
|
409
|
+
### New Features
|
410
|
+
|
411
|
+
- Registry: Support asynchronous model inference service creation with the `block` option
|
412
|
+
in `ModelVersion.create_service()` set to True by default.
|
413
|
+
|
414
|
+
## 1.7.1 (2024-11-05)
|
377
415
|
|
378
416
|
### Bug Fixes
|
379
417
|
|
@@ -12,7 +12,7 @@ and deployment process, and includes two key components.
|
|
12
12
|
|
13
13
|
### Snowpark ML Development
|
14
14
|
|
15
|
-
[Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#
|
15
|
+
[Snowpark ML Development](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#ml-modeling)
|
16
16
|
provides a collection of python APIs enabling efficient ML model development directly in Snowflake:
|
17
17
|
|
18
18
|
1. Modeling API (`snowflake.ml.modeling`) for data preprocessing, feature engineering and model training in Snowflake.
|
@@ -26,14 +26,21 @@ their native data loader formats.
|
|
26
26
|
1. FileSet API: FileSet provides a Python fsspec-compliant API for materializing data into a Snowflake internal stage
|
27
27
|
from a query or Snowpark Dataframe along with a number of convenience APIs.
|
28
28
|
|
29
|
-
###
|
29
|
+
### Snowflake MLOps
|
30
30
|
|
31
|
-
|
32
|
-
the Snowpark ML Development API, and provides
|
31
|
+
Snowflake MLOps contains suit of tools and objects to make ML development cycle. It complements
|
32
|
+
the Snowpark ML Development API, and provides end to end development to deployment within Snowflake.
|
33
33
|
Currently, the API consists of:
|
34
34
|
|
35
|
-
1. Registry: A python API
|
36
|
-
|
35
|
+
1. [Registry](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-model-registry): A python API
|
36
|
+
allows secure deployment and management of models in Snowflake, supporting models trained both inside and outside of
|
37
|
+
Snowflake.
|
38
|
+
2. [Feature Store](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#snowflake-feature-store): A fully
|
39
|
+
integrated solution for defining, managing, storing and discovering ML features derived from your data. The
|
40
|
+
Snowflake Feature Store supports automated, incremental refresh from batch and streaming data sources, so that
|
41
|
+
feature pipelines need be defined only once to be continuously updated with new data.
|
42
|
+
3. [Datasets](https://docs.snowflake.com/developer-guide/snowflake-ml/overview#snowflake-datasets): Dataset provide an
|
43
|
+
immutable, versioned snapshot of your data suitable for ingestion by your machine learning models.
|
37
44
|
|
38
45
|
## Getting started
|
39
46
|
|
@@ -80,3 +87,19 @@ conda install \
|
|
80
87
|
|
81
88
|
Note that until a `snowflake-ml-python` package version is available in the official Snowflake conda channel, there may
|
82
89
|
be compatibility issues. Server-side functionality that `snowflake-ml-python` depends on may not yet be released.
|
90
|
+
|
91
|
+
### Verifying the package
|
92
|
+
|
93
|
+
1. Install cosign.
|
94
|
+
This example is using golang installation: [installing-cosign-with-go](https://edu.chainguard.dev/open-source/sigstore/cosign/how-to-install-cosign/#installing-cosign-with-go).
|
95
|
+
1. Download the file from the repository like [pypi](https://pypi.org/project/snowflake-ml-python/#files).
|
96
|
+
1. Download the signature files from the [release tag](https://github.com/snowflakedb/snowflake-ml-python/releases/tag/1.7.0).
|
97
|
+
1. Verify signature on projects signed using Jenkins job:
|
98
|
+
|
99
|
+
```sh
|
100
|
+
cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0.tar.gz.sig
|
101
|
+
|
102
|
+
cosign verify-blob snowflake_ml_python-1.7.0.tar.gz --key snowflake-ml-python-1.7.0.pub --signature resources.linux.snowflake_ml_python-1.7.0
|
103
|
+
```
|
104
|
+
|
105
|
+
NOTE: Version 1.7.0 is used as example here. Please choose the the latest version.
|
@@ -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.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "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.9, <3.12"
|
10
10
|
dynamic = [ "version", "readme",]
|
11
|
-
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=1.0.0,<3", "pyarrow", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.4,<1.6", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.5.0,<4", "snowflake-snowpark-python>=1.17.0,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
|
11
|
+
dependencies = [ "absl-py>=0.15,<2", "anyio>=3.5.0,<4", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2022.11,<2024", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<2", "packaging>=20.9,<25", "pandas>=1.0.0,<3", "pyarrow", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2022.11,<2024", "scikit-learn>=1.4,<1.6", "scipy>=1.9,<2", "snowflake-connector-python[pandas]>=3.5.0,<4", "snowflake-snowpark-python>=1.17.0,<2", "sqlparse>=0.4,<1", "typing-extensions>=4.1.0,<5", "xgboost>=1.7.3,<3",]
|
12
12
|
[[project.authors]]
|
13
13
|
name = "Snowflake, Inc"
|
14
14
|
email = "support@snowflake.com"
|
@@ -0,0 +1,141 @@
|
|
1
|
+
import base64
|
2
|
+
import hashlib
|
3
|
+
import logging
|
4
|
+
from datetime import datetime, timedelta, timezone
|
5
|
+
from typing import Optional
|
6
|
+
|
7
|
+
import jwt
|
8
|
+
from cryptography.hazmat.primitives import serialization
|
9
|
+
from cryptography.hazmat.primitives.asymmetric import types
|
10
|
+
|
11
|
+
logger = logging.getLogger(__name__)
|
12
|
+
|
13
|
+
ISSUER = "iss"
|
14
|
+
EXPIRE_TIME = "exp"
|
15
|
+
ISSUE_TIME = "iat"
|
16
|
+
SUBJECT = "sub"
|
17
|
+
|
18
|
+
|
19
|
+
class JWTGenerator:
|
20
|
+
"""
|
21
|
+
Creates and signs a JWT with the specified private key file, username, and account identifier. The JWTGenerator
|
22
|
+
keeps the generated token and only regenerates the token if a specified period of time has passed.
|
23
|
+
"""
|
24
|
+
|
25
|
+
_DEFAULT_LIFETIME = timedelta(minutes=59) # The tokens will have a 59-minute lifetime
|
26
|
+
_DEFAULT_RENEWAL_DELTA = timedelta(minutes=54) # Tokens will be renewed after 54 minutes
|
27
|
+
ALGORITHM = "RS256" # Tokens will be generated using RSA with SHA256
|
28
|
+
|
29
|
+
def __init__(
|
30
|
+
self,
|
31
|
+
account: str,
|
32
|
+
user: str,
|
33
|
+
private_key: types.PRIVATE_KEY_TYPES,
|
34
|
+
lifetime: Optional[timedelta] = None,
|
35
|
+
renewal_delay: Optional[timedelta] = None,
|
36
|
+
) -> None:
|
37
|
+
"""
|
38
|
+
Create a new JWTGenerator object.
|
39
|
+
|
40
|
+
Args:
|
41
|
+
account: The account identifier.
|
42
|
+
user: The username.
|
43
|
+
private_key: The private key used to sign the JWT.
|
44
|
+
lifetime: The lifetime of the token.
|
45
|
+
renewal_delay: The time before the token expires to renew it.
|
46
|
+
"""
|
47
|
+
|
48
|
+
# Construct the fully qualified name of the user in uppercase.
|
49
|
+
self.account = JWTGenerator._prepare_account_name_for_jwt(account)
|
50
|
+
self.user = user.upper()
|
51
|
+
self.qualified_username = self.account + "." + self.user
|
52
|
+
self.private_key = private_key
|
53
|
+
self.public_key_fp = JWTGenerator._calculate_public_key_fingerprint(self.private_key)
|
54
|
+
|
55
|
+
self.issuer = self.qualified_username + "." + self.public_key_fp
|
56
|
+
self.lifetime = lifetime or JWTGenerator._DEFAULT_LIFETIME
|
57
|
+
self.renewal_delay = renewal_delay or JWTGenerator._DEFAULT_RENEWAL_DELTA
|
58
|
+
self.renew_time = datetime.now(timezone.utc)
|
59
|
+
self.token: Optional[str] = None
|
60
|
+
|
61
|
+
logger.info(
|
62
|
+
"""Creating JWTGenerator with arguments
|
63
|
+
account : %s, user : %s, lifetime : %s, renewal_delay : %s""",
|
64
|
+
self.account,
|
65
|
+
self.user,
|
66
|
+
self.lifetime,
|
67
|
+
self.renewal_delay,
|
68
|
+
)
|
69
|
+
|
70
|
+
@staticmethod
|
71
|
+
def _prepare_account_name_for_jwt(raw_account: str) -> str:
|
72
|
+
account = raw_account
|
73
|
+
if ".global" not in account:
|
74
|
+
# Handle the general case.
|
75
|
+
idx = account.find(".")
|
76
|
+
if idx > 0:
|
77
|
+
account = account[0:idx]
|
78
|
+
else:
|
79
|
+
# Handle the replication case.
|
80
|
+
idx = account.find("-")
|
81
|
+
if idx > 0:
|
82
|
+
account = account[0:idx]
|
83
|
+
# Use uppercase for the account identifier.
|
84
|
+
return account.upper()
|
85
|
+
|
86
|
+
def get_token(self) -> str:
|
87
|
+
now = datetime.now(timezone.utc) # Fetch the current time
|
88
|
+
if self.token is not None and self.renew_time > now:
|
89
|
+
return self.token
|
90
|
+
|
91
|
+
# If the token has expired or doesn't exist, regenerate the token.
|
92
|
+
logger.info(
|
93
|
+
"Generating a new token because the present time (%s) is later than the renewal time (%s)",
|
94
|
+
now,
|
95
|
+
self.renew_time,
|
96
|
+
)
|
97
|
+
# Calculate the next time we need to renew the token.
|
98
|
+
self.renew_time = now + self.renewal_delay
|
99
|
+
|
100
|
+
# Create our payload
|
101
|
+
payload = {
|
102
|
+
# Set the issuer to the fully qualified username concatenated with the public key fingerprint.
|
103
|
+
ISSUER: self.issuer,
|
104
|
+
# Set the subject to the fully qualified username.
|
105
|
+
SUBJECT: self.qualified_username,
|
106
|
+
# Set the issue time to now.
|
107
|
+
ISSUE_TIME: now,
|
108
|
+
# Set the expiration time, based on the lifetime specified for this object.
|
109
|
+
EXPIRE_TIME: now + self.lifetime,
|
110
|
+
}
|
111
|
+
|
112
|
+
# Regenerate the actual token
|
113
|
+
token = jwt.encode(payload, key=self.private_key, algorithm=JWTGenerator.ALGORITHM)
|
114
|
+
# If you are using a version of PyJWT prior to 2.0, jwt.encode returns a byte string instead of a string.
|
115
|
+
# If the token is a byte string, convert it to a string.
|
116
|
+
if isinstance(token, bytes):
|
117
|
+
token = token.decode("utf-8")
|
118
|
+
self.token = token
|
119
|
+
logger.info(
|
120
|
+
"Generated a JWT with the following payload: %s",
|
121
|
+
jwt.decode(self.token, key=self.private_key.public_key(), algorithms=[JWTGenerator.ALGORITHM]),
|
122
|
+
)
|
123
|
+
|
124
|
+
return token
|
125
|
+
|
126
|
+
@staticmethod
|
127
|
+
def _calculate_public_key_fingerprint(private_key: types.PRIVATE_KEY_TYPES) -> str:
|
128
|
+
# Get the raw bytes of public key.
|
129
|
+
public_key_raw = private_key.public_key().public_bytes(
|
130
|
+
serialization.Encoding.DER, serialization.PublicFormat.SubjectPublicKeyInfo
|
131
|
+
)
|
132
|
+
|
133
|
+
# Get the sha256 hash of the raw bytes.
|
134
|
+
sha256hash = hashlib.sha256()
|
135
|
+
sha256hash.update(public_key_raw)
|
136
|
+
|
137
|
+
# Base64-encode the value and prepend the prefix 'SHA256:'.
|
138
|
+
public_key_fp = "SHA256:" + base64.b64encode(sha256hash.digest()).decode("utf-8")
|
139
|
+
logger.info("Public key fingerprint is %s", public_key_fp)
|
140
|
+
|
141
|
+
return public_key_fp
|
@@ -14,7 +14,7 @@ from snowflake.ml.model._client.ops import metadata_ops, model_ops, service_ops
|
|
14
14
|
from snowflake.ml.model._model_composer import model_composer
|
15
15
|
from snowflake.ml.model._model_composer.model_manifest import model_manifest_schema
|
16
16
|
from snowflake.ml.model._packager.model_handlers import snowmlmodel
|
17
|
-
from snowflake.snowpark import Session, dataframe
|
17
|
+
from snowflake.snowpark import Session, async_job, dataframe
|
18
18
|
|
19
19
|
_TELEMETRY_PROJECT = "MLOps"
|
20
20
|
_TELEMETRY_SUBPROJECT = "ModelManagement"
|
@@ -631,7 +631,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
631
631
|
max_batch_rows: Optional[int] = None,
|
632
632
|
force_rebuild: bool = False,
|
633
633
|
build_external_access_integration: Optional[str] = None,
|
634
|
-
|
634
|
+
block: bool = True,
|
635
|
+
) -> Union[str, async_job.AsyncJob]:
|
635
636
|
"""Create an inference service with the given spec.
|
636
637
|
|
637
638
|
Args:
|
@@ -659,6 +660,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
659
660
|
force_rebuild: Whether to force a model inference image rebuild.
|
660
661
|
build_external_access_integration: (Deprecated) The external access integration for image build. This is
|
661
662
|
usually permitting access to conda & PyPI repositories.
|
663
|
+
block: A bool value indicating whether this function will wait until the service is available.
|
664
|
+
When it is ``False``, this function executes the underlying service creation asynchronously
|
665
|
+
and returns an :class:`AsyncJob`.
|
662
666
|
"""
|
663
667
|
...
|
664
668
|
|
@@ -679,7 +683,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
679
683
|
max_batch_rows: Optional[int] = None,
|
680
684
|
force_rebuild: bool = False,
|
681
685
|
build_external_access_integrations: Optional[List[str]] = None,
|
682
|
-
|
686
|
+
block: bool = True,
|
687
|
+
) -> Union[str, async_job.AsyncJob]:
|
683
688
|
"""Create an inference service with the given spec.
|
684
689
|
|
685
690
|
Args:
|
@@ -707,6 +712,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
707
712
|
force_rebuild: Whether to force a model inference image rebuild.
|
708
713
|
build_external_access_integrations: The external access integrations for image build. This is usually
|
709
714
|
permitting access to conda & PyPI repositories.
|
715
|
+
block: A bool value indicating whether this function will wait until the service is available.
|
716
|
+
When it is ``False``, this function executes the underlying service creation asynchronously
|
717
|
+
and returns an :class:`AsyncJob`.
|
710
718
|
"""
|
711
719
|
...
|
712
720
|
|
@@ -742,7 +750,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
742
750
|
force_rebuild: bool = False,
|
743
751
|
build_external_access_integration: Optional[str] = None,
|
744
752
|
build_external_access_integrations: Optional[List[str]] = None,
|
745
|
-
|
753
|
+
block: bool = True,
|
754
|
+
) -> Union[str, async_job.AsyncJob]:
|
746
755
|
"""Create an inference service with the given spec.
|
747
756
|
|
748
757
|
Args:
|
@@ -772,12 +781,16 @@ class ModelVersion(lineage_node.LineageNode):
|
|
772
781
|
usually permitting access to conda & PyPI repositories.
|
773
782
|
build_external_access_integrations: The external access integrations for image build. This is usually
|
774
783
|
permitting access to conda & PyPI repositories.
|
784
|
+
block: A bool value indicating whether this function will wait until the service is available.
|
785
|
+
When it is False, this function executes the underlying service creation asynchronously
|
786
|
+
and returns an AsyncJob.
|
775
787
|
|
776
788
|
Raises:
|
777
789
|
ValueError: Illegal external access integration arguments.
|
778
790
|
|
779
791
|
Returns:
|
780
|
-
|
792
|
+
If `block=True`, return result information about service creation from server.
|
793
|
+
Otherwise, return the service creation AsyncJob.
|
781
794
|
"""
|
782
795
|
statement_params = telemetry.get_statement_params(
|
783
796
|
project=_TELEMETRY_PROJECT,
|
@@ -829,6 +842,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
829
842
|
if build_external_access_integrations is None
|
830
843
|
else [sql_identifier.SqlIdentifier(eai) for eai in build_external_access_integrations]
|
831
844
|
),
|
845
|
+
block=block,
|
832
846
|
statement_params=statement_params,
|
833
847
|
)
|
834
848
|
|
@@ -6,7 +6,7 @@ import re
|
|
6
6
|
import tempfile
|
7
7
|
import threading
|
8
8
|
import time
|
9
|
-
from typing import Any, Dict, List, Optional, Tuple, cast
|
9
|
+
from typing import Any, Dict, List, Optional, Tuple, Union, cast
|
10
10
|
|
11
11
|
from packaging import version
|
12
12
|
|
@@ -15,7 +15,7 @@ from snowflake.ml._internal import file_utils
|
|
15
15
|
from snowflake.ml._internal.utils import service_logger, snowflake_env, sql_identifier
|
16
16
|
from snowflake.ml.model._client.service import model_deployment_spec
|
17
17
|
from snowflake.ml.model._client.sql import service as service_sql, stage as stage_sql
|
18
|
-
from snowflake.snowpark import exceptions, row, session
|
18
|
+
from snowflake.snowpark import async_job, exceptions, row, session
|
19
19
|
from snowflake.snowpark._internal import utils as snowpark_utils
|
20
20
|
|
21
21
|
module_logger = service_logger.get_logger(__name__, service_logger.LogColor.GREY)
|
@@ -107,8 +107,9 @@ class ServiceOperator:
|
|
107
107
|
max_batch_rows: Optional[int],
|
108
108
|
force_rebuild: bool,
|
109
109
|
build_external_access_integrations: Optional[List[sql_identifier.SqlIdentifier]],
|
110
|
+
block: bool,
|
110
111
|
statement_params: Optional[Dict[str, Any]] = None,
|
111
|
-
) -> str:
|
112
|
+
) -> Union[str, async_job.AsyncJob]:
|
112
113
|
|
113
114
|
# Fall back to the registry's database and schema if not provided
|
114
115
|
database_name = database_name or self._database_name
|
@@ -204,11 +205,15 @@ class ServiceOperator:
|
|
204
205
|
log_thread = self._start_service_log_streaming(
|
205
206
|
async_job, services, model_inference_service_exists, force_rebuild, statement_params
|
206
207
|
)
|
207
|
-
log_thread.join()
|
208
208
|
|
209
|
-
|
210
|
-
|
211
|
-
|
209
|
+
if block:
|
210
|
+
log_thread.join()
|
211
|
+
|
212
|
+
res = cast(str, cast(List[row.Row], async_job.result())[0][0])
|
213
|
+
module_logger.info(f"Inference service {service_name} deployment complete: {res}")
|
214
|
+
return res
|
215
|
+
else:
|
216
|
+
return async_job
|
212
217
|
|
213
218
|
def _start_service_log_streaming(
|
214
219
|
self,
|
{snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_client/sql/stage.py
RENAMED
@@ -15,6 +15,6 @@ class StageSQLClient(_base._BaseSQLClient):
|
|
15
15
|
) -> None:
|
16
16
|
query_result_checker.SqlResultValidator(
|
17
17
|
self._session,
|
18
|
-
f"CREATE TEMPORARY STAGE {self.fully_qualified_object_name(database_name, schema_name, stage_name)}",
|
18
|
+
f"CREATE SCOPED TEMPORARY STAGE {self.fully_qualified_object_name(database_name, schema_name, stage_name)}",
|
19
19
|
statement_params=statement_params,
|
20
20
|
).has_dimensions(expected_rows=1, expected_cols=1).validate()
|
@@ -164,6 +164,8 @@ class SKLModelHandler(_base.BaseModelHandler[Union["sklearn.base.BaseEstimator",
|
|
164
164
|
stacklevel=1,
|
165
165
|
)
|
166
166
|
enable_explainability = False
|
167
|
+
elif model_meta.task == model_types.Task.UNKNOWN:
|
168
|
+
enable_explainability = False
|
167
169
|
else:
|
168
170
|
enable_explainability = True
|
169
171
|
if enable_explainability:
|
@@ -0,0 +1,2 @@
|
|
1
|
+
REQUIREMENTS = ['absl-py>=0.15,<2', 'aiohttp!=4.0.0a0, !=4.0.0a1', 'anyio>=3.5.0,<4', 'cachetools>=3.1.1,<6', 'cloudpickle>=2.0.0', 'cryptography', 'fsspec>=2022.11,<2024', 'importlib_resources>=6.1.1, <7', 'numpy>=1.23,<2', 'packaging>=20.9,<25', 'pandas>=1.0.0,<3', 'pyarrow', 'pyjwt>=2.0.0, <3', 'pytimeparse>=1.1.8,<2', 'pyyaml>=6.0,<7', 'requests', 'retrying>=1.3.3,<2', 's3fs>=2022.11,<2024', 'scikit-learn>=1.4,<1.6', 'scipy>=1.9,<2', 'snowflake-connector-python>=3.5.0,<4', 'snowflake-snowpark-python>=1.17.0,<2', 'sqlparse>=0.4,<1', 'typing-extensions>=4.1.0,<5', 'xgboost>=1.7.3,<3']
|
2
|
+
ALL_REQUIREMENTS=['absl-py>=0.15,<2', 'aiohttp!=4.0.0a0, !=4.0.0a1', 'anyio>=3.5.0,<4', 'cachetools>=3.1.1,<6', 'catboost>=1.2.0, <2', 'cloudpickle>=2.0.0', 'cryptography', 'fsspec>=2022.11,<2024', 'importlib_resources>=6.1.1, <7', 'lightgbm>=4.1.0, <5', 'mlflow>=2.1.0,<2.4', 'numpy>=1.23,<2', 'packaging>=20.9,<25', 'pandas>=1.0.0,<3', 'pyarrow', 'pyjwt>=2.0.0, <3', 'pytimeparse>=1.1.8,<2', 'pytorch>=2.0.1,<2.3.0', 'pyyaml>=6.0,<7', 'requests', 'retrying>=1.3.3,<2', 's3fs>=2022.11,<2024', 'scikit-learn>=1.4,<1.6', 'scipy>=1.9,<2', 'sentence-transformers>=2.2.2,<3', 'sentencepiece>=0.1.95,<1', 'shap>=0.46.0,<1', 'snowflake-connector-python>=3.5.0,<4', 'snowflake-snowpark-python>=1.17.0,<2', 'sqlparse>=0.4,<1', 'tensorflow>=2.10,<3', 'tokenizers>=0.10,<1', 'torchdata>=0.4,<1', 'transformers>=4.32.1,<5', 'typing-extensions>=4.1.0,<5', 'xgboost>=1.7.3,<3']
|
{snowflake_ml_python-1.7.1 → snowflake_ml_python-1.7.2}/snowflake/ml/model/_signatures/utils.py
RENAMED
@@ -118,7 +118,6 @@ def huggingface_pipeline_signature_auto_infer(task: str, params: Dict[str, Any])
|
|
118
118
|
category=DeprecationWarning,
|
119
119
|
stacklevel=1,
|
120
120
|
)
|
121
|
-
|
122
121
|
return core.ModelSignature(
|
123
122
|
inputs=[
|
124
123
|
core.FeatureSpec(name="user_inputs", dtype=core.DataType.STRING, shape=(-1,)),
|