snowflake-ml-python 1.21.0__tar.gz → 1.22.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/CHANGELOG.md +28 -0
- {snowflake_ml_python-1.21.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.22.0}/PKG-INFO +29 -1
- snowflake_ml_python-1.22.0/snowflake/ml/_internal/utils/url.py +42 -0
- snowflake_ml_python-1.22.0/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/constants.py +1 -0
- snowflake_ml_python-1.22.0/snowflake/ml/jobs/_utils/spec_utils.py +22 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/lineage/lineage_node.py +1 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/__init__.py +6 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +16 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/model/model_version_impl.py +63 -0
- snowflake_ml_python-1.22.0/snowflake/ml/model/_client/ops/deployment_step.py +36 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/ops/model_ops.py +61 -2
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/ops/service_ops.py +23 -48
- snowflake_ml_python-1.22.0/snowflake/ml/model/_client/service/import_model_spec_schema.py +23 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +12 -4
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/model_version.py +30 -6
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/service.py +26 -4
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_composer.py +1 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +5 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +61 -2
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/custom.py +52 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +26 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +40 -7
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_packager.py +1 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/core.py +85 -0
- snowflake_ml_python-1.22.0/snowflake/ml/model/code_path.py +104 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/custom_model.py +55 -13
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/model_signature.py +13 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/type_hints.py +2 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/registry/_manager/model_manager.py +230 -15
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/registry/registry.py +4 -4
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0/snowflake_ml_python.egg-info}/PKG-INFO +29 -1
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -1
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -63
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/spec_utils.py +0 -53
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/README.md +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/pyproject.toml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.21.0/snowflake/ml/jobs/_interop → snowflake_ml_python-1.22.0/snowflake/ml/experiment/callback}/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/experiment_tracking.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/feature_store/feature_view.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils → snowflake_ml_python-1.22.0/snowflake/ml/jobs/_interop}/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/types.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/job.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/huggingface.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake_ml_python.egg-info/requires.txt +0 -0
- {snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
+
## 1.22.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Registry: Introducing remotely logging a transformer pipeline model using SPCS job.
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
# create reference of the model
|
|
11
|
+
model = huggingface.TransformersPipeline(
|
|
12
|
+
model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
|
|
13
|
+
task="text-generation",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
# Remotely log the model, a SPCS job will run async and log the model
|
|
17
|
+
mv = registry.log_model(
|
|
18
|
+
model=model,
|
|
19
|
+
model_name="tinyllama_remote_log",
|
|
20
|
+
target_platforms=["SNOWPARK_CONTAINER_SERVICES"],
|
|
21
|
+
signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
### Behavior Changes
|
|
28
|
+
|
|
29
|
+
### Deprecations
|
|
30
|
+
|
|
3
31
|
## 1.21.0
|
|
4
32
|
|
|
5
33
|
### New Features
|
{snowflake_ml_python-1.21.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.22.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.22.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:
|
|
@@ -417,6 +417,34 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
417
417
|
|
|
418
418
|
# Release History
|
|
419
419
|
|
|
420
|
+
## 1.22.0
|
|
421
|
+
|
|
422
|
+
### New Features
|
|
423
|
+
|
|
424
|
+
* Registry: Introducing remotely logging a transformer pipeline model using SPCS job.
|
|
425
|
+
|
|
426
|
+
```python
|
|
427
|
+
# create reference of the model
|
|
428
|
+
model = huggingface.TransformersPipeline(
|
|
429
|
+
model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
|
|
430
|
+
task="text-generation",
|
|
431
|
+
)
|
|
432
|
+
|
|
433
|
+
# Remotely log the model, a SPCS job will run async and log the model
|
|
434
|
+
mv = registry.log_model(
|
|
435
|
+
model=model,
|
|
436
|
+
model_name="tinyllama_remote_log",
|
|
437
|
+
target_platforms=["SNOWPARK_CONTAINER_SERVICES"],
|
|
438
|
+
signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
|
|
439
|
+
)
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### Bug Fixes
|
|
443
|
+
|
|
444
|
+
### Behavior Changes
|
|
445
|
+
|
|
446
|
+
### Deprecations
|
|
447
|
+
|
|
420
448
|
## 1.21.0
|
|
421
449
|
|
|
422
450
|
### New Features
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from urllib.parse import urlunparse
|
|
2
|
+
|
|
3
|
+
from snowflake import snowpark as snowpark
|
|
4
|
+
|
|
5
|
+
JOB_URL_PREFIX = "#/compute/job/"
|
|
6
|
+
SERVICE_URL_PREFIX = "#/compute/service/"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_snowflake_url(
|
|
10
|
+
session: snowpark.Session,
|
|
11
|
+
url_path: str,
|
|
12
|
+
params: str = "",
|
|
13
|
+
query: str = "",
|
|
14
|
+
fragment: str = "",
|
|
15
|
+
) -> str:
|
|
16
|
+
"""Construct a Snowflake URL from session connection details and URL components.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
session: The Snowpark session containing connection details.
|
|
20
|
+
url_path: The path component of the URL (e.g., "/compute/job/123").
|
|
21
|
+
params: Optional parameters for the URL (RFC 1808). Defaults to "".
|
|
22
|
+
query: Optional query string for the URL. Defaults to "".
|
|
23
|
+
fragment: Optional fragment identifier for the URL (e.g., "#section"). Defaults to "".
|
|
24
|
+
|
|
25
|
+
Returns:
|
|
26
|
+
A fully constructed Snowflake URL string with scheme, host, and specified components.
|
|
27
|
+
"""
|
|
28
|
+
scheme = "https"
|
|
29
|
+
if hasattr(session.connection, "scheme"):
|
|
30
|
+
scheme = session.connection.scheme
|
|
31
|
+
host = session.connection.host
|
|
32
|
+
|
|
33
|
+
return urlunparse(
|
|
34
|
+
(
|
|
35
|
+
scheme,
|
|
36
|
+
host,
|
|
37
|
+
url_path,
|
|
38
|
+
params,
|
|
39
|
+
query,
|
|
40
|
+
fragment,
|
|
41
|
+
)
|
|
42
|
+
)
|
|
File without changes
|
{snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/jobs/_utils/constants.py
RENAMED
|
@@ -30,6 +30,7 @@ DEFAULT_IMAGE_CPU = "st_plat/runtime/x86/runtime_image/snowbooks"
|
|
|
30
30
|
DEFAULT_IMAGE_GPU = "st_plat/runtime/x86/generic_gpu/runtime_image/snowbooks"
|
|
31
31
|
DEFAULT_IMAGE_TAG = "1.8.0"
|
|
32
32
|
DEFAULT_ENTRYPOINT_PATH = "func.py"
|
|
33
|
+
DEFAULT_PYTHON_VERSION = "3.10"
|
|
33
34
|
|
|
34
35
|
# Percent of container memory to allocate for /dev/shm volume
|
|
35
36
|
MEMORY_VOLUME_SIZE = 0.3
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from snowflake import snowpark
|
|
2
|
+
from snowflake.ml._internal.utils import snowflake_env
|
|
3
|
+
from snowflake.ml.jobs._utils import constants, query_helper, types
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def _get_node_resources(session: snowpark.Session, compute_pool: str) -> types.ComputeResources:
|
|
7
|
+
"""Extract resource information for the specified compute pool"""
|
|
8
|
+
# Get the instance family
|
|
9
|
+
rows = query_helper.run_query(
|
|
10
|
+
session,
|
|
11
|
+
"show compute pools like ?",
|
|
12
|
+
params=[compute_pool],
|
|
13
|
+
)
|
|
14
|
+
if not rows:
|
|
15
|
+
raise ValueError(f"Compute pool '{compute_pool}' not found")
|
|
16
|
+
instance_family: str = rows[0]["instance_family"]
|
|
17
|
+
cloud = snowflake_env.get_current_cloud(session, default=snowflake_env.SnowflakeCloudType.AWS)
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
constants.COMMON_INSTANCE_FAMILIES.get(instance_family)
|
|
21
|
+
or constants.CLOUD_INSTANCE_FAMILIES[cloud][instance_family]
|
|
22
|
+
)
|
{snowflake_ml_python-1.21.0 → snowflake_ml_python-1.22.0}/snowflake/ml/lineage/lineage_node.py
RENAMED
|
@@ -7,7 +7,7 @@ from snowflake.ml._internal import telemetry
|
|
|
7
7
|
from snowflake.ml._internal.utils import identifier, mixins
|
|
8
8
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
|
-
from snowflake.ml import dataset
|
|
10
|
+
from snowflake.ml.dataset import dataset
|
|
11
11
|
from snowflake.ml.feature_store import feature_view
|
|
12
12
|
from snowflake.ml.model._client.model import model_version_impl
|
|
13
13
|
|
|
@@ -2,16 +2,20 @@ import sys
|
|
|
2
2
|
import warnings
|
|
3
3
|
|
|
4
4
|
from snowflake.ml.model._client.model.batch_inference_specs import (
|
|
5
|
+
ColumnHandlingOptions,
|
|
6
|
+
FileEncoding,
|
|
5
7
|
JobSpec,
|
|
6
8
|
OutputSpec,
|
|
7
9
|
SaveMode,
|
|
8
10
|
)
|
|
9
11
|
from snowflake.ml.model._client.model.model_impl import Model
|
|
10
12
|
from snowflake.ml.model._client.model.model_version_impl import ExportMode, ModelVersion
|
|
13
|
+
from snowflake.ml.model.code_path import CodePath
|
|
11
14
|
from snowflake.ml.model.models.huggingface_pipeline import HuggingFacePipelineModel
|
|
12
15
|
from snowflake.ml.model.volatility import Volatility
|
|
13
16
|
|
|
14
17
|
__all__ = [
|
|
18
|
+
"CodePath",
|
|
15
19
|
"Model",
|
|
16
20
|
"ModelVersion",
|
|
17
21
|
"ExportMode",
|
|
@@ -20,6 +24,8 @@ __all__ = [
|
|
|
20
24
|
"OutputSpec",
|
|
21
25
|
"SaveMode",
|
|
22
26
|
"Volatility",
|
|
27
|
+
"FileEncoding",
|
|
28
|
+
"ColumnHandlingOptions",
|
|
23
29
|
]
|
|
24
30
|
|
|
25
31
|
_deprecation_warning_msg_for_3_9 = (
|
|
@@ -2,6 +2,7 @@ from enum import Enum
|
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
4
|
from pydantic import BaseModel
|
|
5
|
+
from typing_extensions import TypedDict
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class SaveMode(str, Enum):
|
|
@@ -18,6 +19,20 @@ class SaveMode(str, Enum):
|
|
|
18
19
|
ERROR = "error"
|
|
19
20
|
|
|
20
21
|
|
|
22
|
+
class FileEncoding(str, Enum):
|
|
23
|
+
"""The encoding of the file content that will be passed to the custom model."""
|
|
24
|
+
|
|
25
|
+
RAW_BYTES = "raw_bytes"
|
|
26
|
+
BASE64 = "base64"
|
|
27
|
+
BASE64_DATA_URL = "base64_data_url"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ColumnHandlingOptions(TypedDict):
|
|
31
|
+
"""Options for handling specific columns during run_batch for file I/O."""
|
|
32
|
+
|
|
33
|
+
encoding: FileEncoding
|
|
34
|
+
|
|
35
|
+
|
|
21
36
|
class OutputSpec(BaseModel):
|
|
22
37
|
"""Specification for batch inference output.
|
|
23
38
|
|
|
@@ -74,7 +89,7 @@ class JobSpec(BaseModel):
|
|
|
74
89
|
the memory of the node.
|
|
75
90
|
gpu_requests (Optional[str]): The gpu limit for GPU based inference. Can be integer or
|
|
76
91
|
string values. Use CPU if None.
|
|
77
|
-
replicas (Optional[int]): Number of job
|
|
92
|
+
replicas (Optional[int]): Number of SPCS job nodes used for distributed inference.
|
|
78
93
|
If not specified, defaults to 1 replica.
|
|
79
94
|
|
|
80
95
|
Example:
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import base64
|
|
1
2
|
import enum
|
|
3
|
+
import json
|
|
2
4
|
import pathlib
|
|
3
5
|
import tempfile
|
|
4
6
|
import uuid
|
|
@@ -6,6 +8,7 @@ import warnings
|
|
|
6
8
|
from typing import Any, Callable, Optional, Union, overload
|
|
7
9
|
|
|
8
10
|
import pandas as pd
|
|
11
|
+
from pydantic import TypeAdapter
|
|
9
12
|
|
|
10
13
|
from snowflake import snowpark
|
|
11
14
|
from snowflake.ml._internal import telemetry
|
|
@@ -30,6 +33,7 @@ _TELEMETRY_PROJECT = "MLOps"
|
|
|
30
33
|
_TELEMETRY_SUBPROJECT = "ModelManagement"
|
|
31
34
|
_BATCH_INFERENCE_JOB_ID_PREFIX = "BATCH_INFERENCE_"
|
|
32
35
|
_BATCH_INFERENCE_TEMPORARY_FOLDER = "_temporary"
|
|
36
|
+
_UTF8_ENCODING = "utf-8"
|
|
33
37
|
|
|
34
38
|
|
|
35
39
|
class ExportMode(enum.Enum):
|
|
@@ -495,6 +499,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
495
499
|
function_name: Optional[str] = None,
|
|
496
500
|
partition_column: Optional[str] = None,
|
|
497
501
|
strict_input_validation: bool = False,
|
|
502
|
+
params: Optional[dict[str, Any]] = None,
|
|
498
503
|
) -> Union[pd.DataFrame, dataframe.DataFrame]:
|
|
499
504
|
"""Invoke a method in a model version object.
|
|
500
505
|
|
|
@@ -505,6 +510,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
505
510
|
partition_column: The partition column name to partition by.
|
|
506
511
|
strict_input_validation: Enable stricter validation for the input data. This will result value range based
|
|
507
512
|
type validation to make sure your input data won't overflow when providing to the model.
|
|
513
|
+
params: Optional dictionary of model inference parameters (e.g., temperature, top_k for LLMs).
|
|
514
|
+
These are passed as keyword arguments to the model's inference method. Defaults to None.
|
|
508
515
|
"""
|
|
509
516
|
...
|
|
510
517
|
|
|
@@ -516,6 +523,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
516
523
|
service_name: str,
|
|
517
524
|
function_name: Optional[str] = None,
|
|
518
525
|
strict_input_validation: bool = False,
|
|
526
|
+
params: Optional[dict[str, Any]] = None,
|
|
519
527
|
) -> Union[pd.DataFrame, dataframe.DataFrame]:
|
|
520
528
|
"""Invoke a method in a model version object via a service.
|
|
521
529
|
|
|
@@ -525,6 +533,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
525
533
|
function_name: The function name to run. It is the name used to call a function in SQL.
|
|
526
534
|
strict_input_validation: Enable stricter validation for the input data. This will result value range based
|
|
527
535
|
type validation to make sure your input data won't overflow when providing to the model.
|
|
536
|
+
params: Optional dictionary of model inference parameters (e.g., temperature, top_k for LLMs).
|
|
537
|
+
These are passed as keyword arguments to the model's inference method. Defaults to None.
|
|
528
538
|
"""
|
|
529
539
|
...
|
|
530
540
|
|
|
@@ -541,6 +551,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
541
551
|
function_name: Optional[str] = None,
|
|
542
552
|
partition_column: Optional[str] = None,
|
|
543
553
|
strict_input_validation: bool = False,
|
|
554
|
+
params: Optional[dict[str, Any]] = None,
|
|
544
555
|
) -> Union[pd.DataFrame, "dataframe.DataFrame"]:
|
|
545
556
|
"""Invoke a method in a model version object via the warehouse or a service.
|
|
546
557
|
|
|
@@ -552,6 +563,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
552
563
|
partition_column: The partition column name to partition by.
|
|
553
564
|
strict_input_validation: Enable stricter validation for the input data. This will result value range based
|
|
554
565
|
type validation to make sure your input data won't overflow when providing to the model.
|
|
566
|
+
params: Optional dictionary of model inference parameters (e.g., temperature, top_k for LLMs).
|
|
567
|
+
These are passed as keyword arguments to the model's inference method. Defaults to None.
|
|
555
568
|
|
|
556
569
|
Returns:
|
|
557
570
|
The prediction data. It would be the same type dataframe as your input.
|
|
@@ -582,6 +595,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
582
595
|
service_name=service_name_id,
|
|
583
596
|
strict_input_validation=strict_input_validation,
|
|
584
597
|
statement_params=statement_params,
|
|
598
|
+
params=params,
|
|
585
599
|
)
|
|
586
600
|
else:
|
|
587
601
|
manifest = self._get_model_manifest(statement_params=statement_params)
|
|
@@ -621,6 +635,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
621
635
|
statement_params=statement_params,
|
|
622
636
|
is_partitioned=target_function_info["is_partitioned"],
|
|
623
637
|
explain_case_sensitive=explain_case_sensitive,
|
|
638
|
+
params=params,
|
|
624
639
|
)
|
|
625
640
|
|
|
626
641
|
def _determine_explain_case_sensitivity(
|
|
@@ -634,6 +649,41 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
634
649
|
method_options, target_function_info["name"]
|
|
635
650
|
)
|
|
636
651
|
|
|
652
|
+
@staticmethod
|
|
653
|
+
def _encode_column_handling(
|
|
654
|
+
column_handling: Optional[dict[str, batch_inference_specs.ColumnHandlingOptions]],
|
|
655
|
+
) -> Optional[str]:
|
|
656
|
+
"""Validate and encode column_handling to a base64 string.
|
|
657
|
+
|
|
658
|
+
Args:
|
|
659
|
+
column_handling: Optional dictionary mapping column names to file encoding options.
|
|
660
|
+
|
|
661
|
+
Returns:
|
|
662
|
+
Base64 encoded JSON string of the column handling options, or None if input is None.
|
|
663
|
+
"""
|
|
664
|
+
# TODO: validation for column names
|
|
665
|
+
if column_handling is None:
|
|
666
|
+
return None
|
|
667
|
+
adapter = TypeAdapter(dict[str, batch_inference_specs.ColumnHandlingOptions])
|
|
668
|
+
# TODO: throw error if the validate_python function fails
|
|
669
|
+
validated_input = adapter.validate_python(column_handling)
|
|
670
|
+
return base64.b64encode(adapter.dump_json(validated_input)).decode(_UTF8_ENCODING)
|
|
671
|
+
|
|
672
|
+
@staticmethod
|
|
673
|
+
def _encode_params(params: Optional[dict[str, Any]]) -> Optional[str]:
|
|
674
|
+
"""Encode params dictionary to a base64 string.
|
|
675
|
+
|
|
676
|
+
Args:
|
|
677
|
+
params: Optional dictionary of model inference parameters.
|
|
678
|
+
|
|
679
|
+
Returns:
|
|
680
|
+
Base64 encoded JSON string of the params, or None if input is None.
|
|
681
|
+
"""
|
|
682
|
+
if params is None:
|
|
683
|
+
return None
|
|
684
|
+
# TODO: validation for param names, types
|
|
685
|
+
return base64.b64encode(json.dumps(params).encode(_UTF8_ENCODING)).decode(_UTF8_ENCODING)
|
|
686
|
+
|
|
637
687
|
@telemetry.send_api_usage_telemetry(
|
|
638
688
|
project=_TELEMETRY_PROJECT,
|
|
639
689
|
subproject=_TELEMETRY_SUBPROJECT,
|
|
@@ -651,6 +701,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
651
701
|
input_spec: dataframe.DataFrame,
|
|
652
702
|
output_spec: batch_inference_specs.OutputSpec,
|
|
653
703
|
job_spec: Optional[batch_inference_specs.JobSpec] = None,
|
|
704
|
+
params: Optional[dict[str, Any]] = None,
|
|
705
|
+
column_handling: Optional[dict[str, batch_inference_specs.ColumnHandlingOptions]] = None,
|
|
654
706
|
) -> job.MLJob[Any]:
|
|
655
707
|
"""Execute batch inference on datasets as an SPCS job.
|
|
656
708
|
|
|
@@ -664,6 +716,12 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
664
716
|
job_spec (Optional[batch_inference_specs.JobSpec]): Optional configuration for job
|
|
665
717
|
execution parameters such as compute resources, worker counts, and job naming.
|
|
666
718
|
If None, default values will be used.
|
|
719
|
+
params (Optional[dict[str, Any]]): Optional dictionary of model inference parameters
|
|
720
|
+
(e.g., temperature, top_k for LLMs). These are passed as keyword arguments to the
|
|
721
|
+
model's inference method. Defaults to None.
|
|
722
|
+
column_handling (Optional[dict[str, batch_inference_specs.FileEncoding]]): Optional dictionary
|
|
723
|
+
specifying how to handle specific columns during file I/O. Maps column names to their
|
|
724
|
+
file encoding configuration.
|
|
667
725
|
|
|
668
726
|
Returns:
|
|
669
727
|
job.MLJob[Any]: A batch inference job object that can be used to monitor progress and manage the job
|
|
@@ -719,6 +777,9 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
719
777
|
subproject=_TELEMETRY_SUBPROJECT,
|
|
720
778
|
)
|
|
721
779
|
|
|
780
|
+
column_handling_as_string = self._encode_column_handling(column_handling)
|
|
781
|
+
params_as_string = self._encode_params(params)
|
|
782
|
+
|
|
722
783
|
if job_spec is None:
|
|
723
784
|
job_spec = batch_inference_specs.JobSpec()
|
|
724
785
|
|
|
@@ -766,6 +827,8 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
766
827
|
# input and output
|
|
767
828
|
input_stage_location=input_stage_location,
|
|
768
829
|
input_file_pattern="*",
|
|
830
|
+
column_handling=column_handling_as_string,
|
|
831
|
+
params=params_as_string,
|
|
769
832
|
output_stage_location=output_stage_location,
|
|
770
833
|
completion_filename="_SUCCESS",
|
|
771
834
|
# misc
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import enum
|
|
2
|
+
import hashlib
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class DeploymentStep(enum.Enum):
|
|
7
|
+
MODEL_BUILD = ("model-build", "model_build_")
|
|
8
|
+
MODEL_INFERENCE = ("model-inference", None)
|
|
9
|
+
MODEL_LOGGING = ("model-logging", "model_logging_")
|
|
10
|
+
|
|
11
|
+
def __init__(self, container_name: str, service_name_prefix: Optional[str]) -> None:
|
|
12
|
+
self._container_name = container_name
|
|
13
|
+
self._service_name_prefix = service_name_prefix
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def container_name(self) -> str:
|
|
17
|
+
"""Get the container name for the deployment step."""
|
|
18
|
+
return self._container_name
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def service_name_prefix(self) -> Optional[str]:
|
|
22
|
+
"""Get the service name prefix for the deployment step."""
|
|
23
|
+
return self._service_name_prefix
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def get_service_id_from_deployment_step(query_id: str, deployment_step: DeploymentStep) -> str:
|
|
27
|
+
"""Get the service ID through the server-side logic."""
|
|
28
|
+
uuid = query_id.replace("-", "")
|
|
29
|
+
big_int = int(uuid, 16)
|
|
30
|
+
md5_hash = hashlib.md5(str(big_int).encode(), usedforsecurity=False).hexdigest()
|
|
31
|
+
identifier = md5_hash[:8]
|
|
32
|
+
service_name_prefix = deployment_step.service_name_prefix
|
|
33
|
+
if service_name_prefix is None:
|
|
34
|
+
# raise an exception if the service name prefix is None
|
|
35
|
+
raise ValueError(f"Service name prefix is {service_name_prefix} for deployment step {deployment_step}.")
|
|
36
|
+
return (service_name_prefix + identifier).upper()
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import enum
|
|
2
2
|
import json
|
|
3
|
+
import logging
|
|
3
4
|
import os
|
|
4
5
|
import pathlib
|
|
5
6
|
import tempfile
|
|
@@ -11,9 +12,9 @@ from typing_extensions import NotRequired
|
|
|
11
12
|
|
|
12
13
|
from snowflake.ml._internal import platform_capabilities
|
|
13
14
|
from snowflake.ml._internal.exceptions import error_codes, exceptions
|
|
14
|
-
from snowflake.ml._internal.utils import formatting, identifier, sql_identifier
|
|
15
|
+
from snowflake.ml._internal.utils import formatting, identifier, sql_identifier, url
|
|
15
16
|
from snowflake.ml.model import model_signature, type_hints
|
|
16
|
-
from snowflake.ml.model._client.ops import metadata_ops
|
|
17
|
+
from snowflake.ml.model._client.ops import deployment_step, metadata_ops
|
|
17
18
|
from snowflake.ml.model._client.sql import (
|
|
18
19
|
model as model_sql,
|
|
19
20
|
model_version as model_version_sql,
|
|
@@ -33,6 +34,8 @@ from snowflake.ml.model._signatures import snowpark_handler
|
|
|
33
34
|
from snowflake.snowpark import dataframe, row, session
|
|
34
35
|
from snowflake.snowpark._internal import utils as snowpark_utils
|
|
35
36
|
|
|
37
|
+
logger = logging.getLogger(__name__)
|
|
38
|
+
|
|
36
39
|
|
|
37
40
|
# An enum class to represent Create Or Alter Model SQL command.
|
|
38
41
|
class ModelAction(enum.Enum):
|
|
@@ -986,6 +989,7 @@ class ModelOperator:
|
|
|
986
989
|
statement_params: Optional[dict[str, str]] = None,
|
|
987
990
|
is_partitioned: Optional[bool] = None,
|
|
988
991
|
explain_case_sensitive: bool = False,
|
|
992
|
+
params: Optional[dict[str, Any]] = None,
|
|
989
993
|
) -> Union[type_hints.SupportedDataType, dataframe.DataFrame]:
|
|
990
994
|
...
|
|
991
995
|
|
|
@@ -1002,6 +1006,7 @@ class ModelOperator:
|
|
|
1002
1006
|
strict_input_validation: bool = False,
|
|
1003
1007
|
statement_params: Optional[dict[str, str]] = None,
|
|
1004
1008
|
explain_case_sensitive: bool = False,
|
|
1009
|
+
params: Optional[dict[str, Any]] = None,
|
|
1005
1010
|
) -> Union[type_hints.SupportedDataType, dataframe.DataFrame]:
|
|
1006
1011
|
...
|
|
1007
1012
|
|
|
@@ -1022,6 +1027,7 @@ class ModelOperator:
|
|
|
1022
1027
|
statement_params: Optional[dict[str, str]] = None,
|
|
1023
1028
|
is_partitioned: Optional[bool] = None,
|
|
1024
1029
|
explain_case_sensitive: bool = False,
|
|
1030
|
+
params: Optional[dict[str, Any]] = None,
|
|
1025
1031
|
) -> Union[type_hints.SupportedDataType, dataframe.DataFrame]:
|
|
1026
1032
|
identifier_rule = model_signature.SnowparkIdentifierRule.INFERRED
|
|
1027
1033
|
|
|
@@ -1057,6 +1063,24 @@ class ModelOperator:
|
|
|
1057
1063
|
col_name = sql_identifier.SqlIdentifier(input_feature.name.upper(), case_sensitive=True)
|
|
1058
1064
|
input_args.append(col_name)
|
|
1059
1065
|
|
|
1066
|
+
method_parameters: Optional[list[tuple[sql_identifier.SqlIdentifier, Any]]] = None
|
|
1067
|
+
if signature.params:
|
|
1068
|
+
# Start with defaults from signature
|
|
1069
|
+
final_params = {}
|
|
1070
|
+
for param_spec in signature.params:
|
|
1071
|
+
if hasattr(param_spec, "default_value"):
|
|
1072
|
+
final_params[param_spec.name] = param_spec.default_value
|
|
1073
|
+
|
|
1074
|
+
# Override with provided runtime parameters
|
|
1075
|
+
if params:
|
|
1076
|
+
final_params.update(params)
|
|
1077
|
+
|
|
1078
|
+
# Convert to list of tuples with SqlIdentifier for parameter names
|
|
1079
|
+
method_parameters = [
|
|
1080
|
+
(sql_identifier.SqlIdentifier(param_name), param_value)
|
|
1081
|
+
for param_name, param_value in final_params.items()
|
|
1082
|
+
]
|
|
1083
|
+
|
|
1060
1084
|
returns = []
|
|
1061
1085
|
for output_feature in signature.outputs:
|
|
1062
1086
|
output_name = identifier_rule.get_sql_identifier_from_feature(output_feature.name)
|
|
@@ -1075,6 +1099,7 @@ class ModelOperator:
|
|
|
1075
1099
|
schema_name=schema_name,
|
|
1076
1100
|
service_name=service_name,
|
|
1077
1101
|
statement_params=statement_params,
|
|
1102
|
+
params=method_parameters,
|
|
1078
1103
|
)
|
|
1079
1104
|
else:
|
|
1080
1105
|
assert model_name is not None
|
|
@@ -1090,6 +1115,7 @@ class ModelOperator:
|
|
|
1090
1115
|
model_name=model_name,
|
|
1091
1116
|
version_name=version_name,
|
|
1092
1117
|
statement_params=statement_params,
|
|
1118
|
+
params=method_parameters,
|
|
1093
1119
|
)
|
|
1094
1120
|
elif method_function_type == model_manifest_schema.ModelMethodFunctionTypes.TABLE_FUNCTION.value:
|
|
1095
1121
|
df_res = self._model_version_client.invoke_table_function_method(
|
|
@@ -1105,6 +1131,7 @@ class ModelOperator:
|
|
|
1105
1131
|
statement_params=statement_params,
|
|
1106
1132
|
is_partitioned=is_partitioned or False,
|
|
1107
1133
|
explain_case_sensitive=explain_case_sensitive,
|
|
1134
|
+
params=method_parameters,
|
|
1108
1135
|
)
|
|
1109
1136
|
|
|
1110
1137
|
if keep_order:
|
|
@@ -1238,3 +1265,35 @@ class ModelOperator:
|
|
|
1238
1265
|
target_path=local_file_dir,
|
|
1239
1266
|
statement_params=statement_params,
|
|
1240
1267
|
)
|
|
1268
|
+
|
|
1269
|
+
def run_import_model_query(
|
|
1270
|
+
self,
|
|
1271
|
+
*,
|
|
1272
|
+
database_name: str,
|
|
1273
|
+
schema_name: str,
|
|
1274
|
+
yaml_content: str,
|
|
1275
|
+
statement_params: Optional[dict[str, Any]] = None,
|
|
1276
|
+
) -> None:
|
|
1277
|
+
yaml_content_escaped = snowpark_utils.escape_single_quotes(yaml_content) # type: ignore[no-untyped-call]
|
|
1278
|
+
|
|
1279
|
+
async_job = self._session.sql(
|
|
1280
|
+
f"SELECT SYSTEM$IMPORT_MODEL('{yaml_content_escaped}')",
|
|
1281
|
+
).collect(block=False, statement_params=statement_params)
|
|
1282
|
+
query_id = async_job.query_id # type: ignore[attr-defined]
|
|
1283
|
+
|
|
1284
|
+
logger.info(f"Remotely importing model, with the query id: {query_id}")
|
|
1285
|
+
model_logger_service_name = sql_identifier.SqlIdentifier(
|
|
1286
|
+
deployment_step.get_service_id_from_deployment_step(
|
|
1287
|
+
query_id,
|
|
1288
|
+
deployment_step.DeploymentStep.MODEL_LOGGING,
|
|
1289
|
+
)
|
|
1290
|
+
)
|
|
1291
|
+
|
|
1292
|
+
logger_name = model_logger_service_name.identifier()
|
|
1293
|
+
job_url = f"{url.JOB_URL_PREFIX}/{database_name}/{schema_name}/{logger_name}"
|
|
1294
|
+
snowflake_url = url.get_snowflake_url(session=self._session, url_path=job_url)
|
|
1295
|
+
logger.info(
|
|
1296
|
+
f"To monitor the progress of the model logging job, head to the job monitoring page {snowflake_url}"
|
|
1297
|
+
)
|
|
1298
|
+
|
|
1299
|
+
async_job.result() # type: ignore[attr-defined]
|